Message ID | 20221121174228.93670-4-fnkl.kernel@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PWM and keyboard backlight driver for ARM Macs | expand |
On Mon, Nov 21, 2022 at 08:42:27PM +0300, Sasha Finkelstein wrote: > Adds PWM controller and keyboard backlight bindings for M1 MacBooks > > Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> > Acked-by: Sven Peter <sven@svenpeter.dev> > --- > arch/arm64/boot/dts/apple/t8103-j293.dts | 20 ++++++++++++++++++++ > arch/arm64/boot/dts/apple/t8103-j313.dts | 20 ++++++++++++++++++++ > arch/arm64/boot/dts/apple/t8103.dtsi | 9 +++++++++ > 3 files changed, 49 insertions(+) > > diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts > index ecb10d237a05..0b4b7e8e0726 100644 > --- a/arch/arm64/boot/dts/apple/t8103-j293.dts > +++ b/arch/arm64/boot/dts/apple/t8103-j293.dts > @@ -11,6 +11,7 @@ > > #include "t8103.dtsi" > #include "t8103-jxxx.dtsi" > +#include <dt-bindings/leds/common.h> > > / { > compatible = "apple,j293", "apple,t8103", "apple,arm-platform"; > @@ -43,3 +44,22 @@ &i2c2 { > &i2c4 { > status = "okay"; > }; > + > +/ { > + led-controller { > + compatible = "pwm-leds"; > + led-0 { > + pwms = <&fpwm1 0 40000>; > + pwm-names = "kbd-backlight"; While allowed pwm-names isn't really needed here as there is only ever 1 PWM and it is redundant with 'label'. > + label = "kbd_backlight"; > + function = LED_FUNCTION_KBD_BACKLIGHT; > + color = <LED_COLOR_ID_WHITE>; > + max-brightness = <255>; > + default-state = "keep"; > + }; > + }; > +}; > + > +&fpwm1 { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/apple/t8103-j313.dts b/arch/arm64/boot/dts/apple/t8103-j313.dts > index df741737b8e6..0e0f57dee96b 100644 > --- a/arch/arm64/boot/dts/apple/t8103-j313.dts > +++ b/arch/arm64/boot/dts/apple/t8103-j313.dts > @@ -11,6 +11,7 @@ > > #include "t8103.dtsi" > #include "t8103-jxxx.dtsi" > +#include <dt-bindings/leds/common.h> > > / { > compatible = "apple,j313", "apple,t8103", "apple,arm-platform"; > @@ -35,3 +36,22 @@ &pcie0_dart_2 { > > /delete-node/ &port01; > /delete-node/ &port02; > + > +/ { > + led-controller { > + compatible = "pwm-leds"; > + led-0 { > + pwms = <&fpwm1 0 40000>; > + pwm-names = "kbd-backlight"; > + label = "kbd_backlight"; > + function = LED_FUNCTION_KBD_BACKLIGHT; > + color = <LED_COLOR_ID_WHITE>; > + max-brightness = <255>; > + default-state = "keep"; > + }; > + }; > +}; > + > +&fpwm1 { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi > index 51a63b29d404..ccdb26ef6b22 100644 > --- a/arch/arm64/boot/dts/apple/t8103.dtsi > +++ b/arch/arm64/boot/dts/apple/t8103.dtsi > @@ -191,6 +191,15 @@ i2c4: i2c@235020000 { > status = "disabled"; /* only used in J293 */ > }; > > + fpwm1: pwm@235044000 { > + compatible = "apple,t8103-fpwm", "apple,s5l-fpwm"; > + reg = <0x2 0x35044000 0x0 0x4000>; > + power-domains = <&ps_fpwm1>; > + clocks = <&clkref>; > + #pwm-cells = <2>; > + status = "disabled"; > + }; > + > serial0: serial@235200000 { > compatible = "apple,s5l-uart"; > reg = <0x2 0x35200000 0x0 0x1000>; > -- > 2.38.1 > >
diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts index ecb10d237a05..0b4b7e8e0726 100644 --- a/arch/arm64/boot/dts/apple/t8103-j293.dts +++ b/arch/arm64/boot/dts/apple/t8103-j293.dts @@ -11,6 +11,7 @@ #include "t8103.dtsi" #include "t8103-jxxx.dtsi" +#include <dt-bindings/leds/common.h> / { compatible = "apple,j293", "apple,t8103", "apple,arm-platform"; @@ -43,3 +44,22 @@ &i2c2 { &i2c4 { status = "okay"; }; + +/ { + led-controller { + compatible = "pwm-leds"; + led-0 { + pwms = <&fpwm1 0 40000>; + pwm-names = "kbd-backlight"; + label = "kbd_backlight"; + function = LED_FUNCTION_KBD_BACKLIGHT; + color = <LED_COLOR_ID_WHITE>; + max-brightness = <255>; + default-state = "keep"; + }; + }; +}; + +&fpwm1 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8103-j313.dts b/arch/arm64/boot/dts/apple/t8103-j313.dts index df741737b8e6..0e0f57dee96b 100644 --- a/arch/arm64/boot/dts/apple/t8103-j313.dts +++ b/arch/arm64/boot/dts/apple/t8103-j313.dts @@ -11,6 +11,7 @@ #include "t8103.dtsi" #include "t8103-jxxx.dtsi" +#include <dt-bindings/leds/common.h> / { compatible = "apple,j313", "apple,t8103", "apple,arm-platform"; @@ -35,3 +36,22 @@ &pcie0_dart_2 { /delete-node/ &port01; /delete-node/ &port02; + +/ { + led-controller { + compatible = "pwm-leds"; + led-0 { + pwms = <&fpwm1 0 40000>; + pwm-names = "kbd-backlight"; + label = "kbd_backlight"; + function = LED_FUNCTION_KBD_BACKLIGHT; + color = <LED_COLOR_ID_WHITE>; + max-brightness = <255>; + default-state = "keep"; + }; + }; +}; + +&fpwm1 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi index 51a63b29d404..ccdb26ef6b22 100644 --- a/arch/arm64/boot/dts/apple/t8103.dtsi +++ b/arch/arm64/boot/dts/apple/t8103.dtsi @@ -191,6 +191,15 @@ i2c4: i2c@235020000 { status = "disabled"; /* only used in J293 */ }; + fpwm1: pwm@235044000 { + compatible = "apple,t8103-fpwm", "apple,s5l-fpwm"; + reg = <0x2 0x35044000 0x0 0x4000>; + power-domains = <&ps_fpwm1>; + clocks = <&clkref>; + #pwm-cells = <2>; + status = "disabled"; + }; + serial0: serial@235200000 { compatible = "apple,s5l-uart"; reg = <0x2 0x35200000 0x0 0x1000>;