Message ID | 20221012110928.352910-1-emil.renner.berthing@canonical.com |
---|---|
State | Accepted |
Commit | 8bc8824d30193eb7755043d5bb65fa7f0d11a595 |
Headers | show |
Series | [v1] riscv: dts: sifive unleashed: Add PWM controlled LEDs | expand |
On Wed, 12 Oct 2022 04:09:28 PDT (-0700), emil.renner.berthing@canonical.com wrote: > This adds the 4 PWM controlled green LEDs to the HiFive Unleashed device > tree. The schematic doesn't specify any special function for the LEDs, > so they're added here without any default triggers and named d1, d2, d3 > and d4 just like in the schematic. > > Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> > --- > > Yes this board is old, but I'm trying to get rid of custom riscv patches in > the Ubuntu kernel. IMO fixing stuff for old boards is great, particularly if they're broken upstream but supported by distro kernels -- that's kind of a messy spot to be in. > .../boot/dts/sifive/hifive-unleashed-a00.dts | 38 +++++++++++++++++++ > 1 file changed, 38 insertions(+) > > diff --git a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts > index ced0d4e47938..900a50526d77 100644 > --- a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts > +++ b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts > @@ -3,6 +3,8 @@ > > #include "fu540-c000.dtsi" > #include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > +#include <dt-bindings/pwm/pwm.h> > > /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ > #define RTCCLK_FREQ 1000000 > @@ -42,6 +44,42 @@ gpio-restart { > compatible = "gpio-restart"; > gpios = <&gpio 10 GPIO_ACTIVE_LOW>; > }; > + > + led-controller { > + compatible = "pwm-leds"; > + > + led-d1 { > + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; > + active-low; > + color = <LED_COLOR_ID_GREEN>; > + max-brightness = <255>; > + label = "d1"; > + }; > + > + led-d2 { > + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; > + active-low; > + color = <LED_COLOR_ID_GREEN>; > + max-brightness = <255>; > + label = "d2"; > + }; > + > + led-d3 { > + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; > + active-low; > + color = <LED_COLOR_ID_GREEN>; > + max-brightness = <255>; > + label = "d3"; > + }; > + > + led-d4 { > + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; > + active-low; > + color = <LED_COLOR_ID_GREEN>; > + max-brightness = <255>; > + label = "d4"; > + }; > + }; > }; > > &uart0 {
diff --git a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts index ced0d4e47938..900a50526d77 100644 --- a/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts +++ b/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts @@ -3,6 +3,8 @@ #include "fu540-c000.dtsi" #include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/leds/common.h> +#include <dt-bindings/pwm/pwm.h> /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -42,6 +44,42 @@ gpio-restart { compatible = "gpio-restart"; gpios = <&gpio 10 GPIO_ACTIVE_LOW>; }; + + led-controller { + compatible = "pwm-leds"; + + led-d1 { + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = <LED_COLOR_ID_GREEN>; + max-brightness = <255>; + label = "d1"; + }; + + led-d2 { + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = <LED_COLOR_ID_GREEN>; + max-brightness = <255>; + label = "d2"; + }; + + led-d3 { + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = <LED_COLOR_ID_GREEN>; + max-brightness = <255>; + label = "d3"; + }; + + led-d4 { + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = <LED_COLOR_ID_GREEN>; + max-brightness = <255>; + label = "d4"; + }; + }; }; &uart0 {
This adds the 4 PWM controlled green LEDs to the HiFive Unleashed device tree. The schematic doesn't specify any special function for the LEDs, so they're added here without any default triggers and named d1, d2, d3 and d4 just like in the schematic. Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> --- Yes this board is old, but I'm trying to get rid of custom riscv patches in the Ubuntu kernel. .../boot/dts/sifive/hifive-unleashed-a00.dts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+)