diff mbox series

[v6,4/5] arm64: dts: apple: t600x: Add PWM controller

Message ID 20230106135839.18676-5-fnkl.kernel@gmail.com
State Superseded
Headers show
Series PWM and keyboard backlight driver for ARM Macs | expand

Commit Message

Sasha Finkelstein Jan. 6, 2023, 1:58 p.m. UTC
Adds PWM controller and keyboard backlight bindings for M1 Pro/Max MacBook Pros

Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
 arch/arm64/boot/dts/apple/t600x-die0.dtsi      |  9 +++++++++
 arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 18 ++++++++++++++++++
 2 files changed, 27 insertions(+)

Comments

Hector Martin Jan. 6, 2023, 4:51 p.m. UTC | #1
On 06/01/2023 22.58, Sasha Finkelstein wrote:
> Adds PWM controller and keyboard backlight bindings for M1 Pro/Max MacBook Pros
> 
> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
> ---
>  arch/arm64/boot/dts/apple/t600x-die0.dtsi      |  9 +++++++++
>  arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi | 18 ++++++++++++++++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
> index 1c41954e3899..7065045dc43a 100644
> --- a/arch/arm64/boot/dts/apple/t600x-die0.dtsi
> +++ b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
> @@ -154,6 +154,15 @@ i2c5: i2c@39b054000 {
>  		status = "disabled";
>  	};
>  
> +	fpwm0: pwm@39b030000 {
> +		compatible = "apple,t6000-fpwm", "apple,s5l-fpwm";
> +		reg = <0x3 0x9b030000 0x0 0x4000>;
> +		power-domains = <&ps_fpwm0>;
> +		clocks = <&clkref>;
> +		#pwm-cells = <2>;
> +		status = "disabled";
> +	};
> +

We usually keep device nodes sorted by address, so this is out of order
and should come before i2c (at least). No need to respin just for this
though, I can fix it when I apply it, so:

Acked-by: Hector Martin <marcan@marcan.st>

Maintainers: as we usually ask, please merge only the driver commit (#2)
via the PWM tree, we'll take care of DTs/MAINTAINERS/bindings via
asahi-soc so we can avoid serializing/blocking other DT changes.

- Hector
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
index 1c41954e3899..7065045dc43a 100644
--- a/arch/arm64/boot/dts/apple/t600x-die0.dtsi
+++ b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
@@ -154,6 +154,15 @@  i2c5: i2c@39b054000 {
 		status = "disabled";
 	};
 
+	fpwm0: pwm@39b030000 {
+		compatible = "apple,t6000-fpwm", "apple,s5l-fpwm";
+		reg = <0x3 0x9b030000 0x0 0x4000>;
+		power-domains = <&ps_fpwm0>;
+		clocks = <&clkref>;
+		#pwm-cells = <2>;
+		status = "disabled";
+	};
+
 	serial0: serial@39b200000 {
 		compatible = "apple,s5l-uart";
 		reg = <0x3 0x9b200000 0x0 0x1000>;
diff --git a/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
index 34906d522f0a..96de7165df6d 100644
--- a/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
+++ b/arch/arm64/boot/dts/apple/t600x-j314-j316.dtsi
@@ -9,6 +9,8 @@ 
  * Copyright The Asahi Linux Contributors
  */
 
+#include <dt-bindings/leds/common.h>
+
 / {
 	aliases {
 		serial0 = &serial0;
@@ -34,6 +36,18 @@  memory@10000000000 {
 		device_type = "memory";
 		reg = <0x100 0 0x2 0>; /* To be filled by loader */
 	};
+
+	led-controller {
+		compatible = "pwm-leds";
+		led-0 {
+			pwms = <&fpwm0 0 40000>;
+			label = "kbd_backlight";
+			function = LED_FUNCTION_KBD_BACKLIGHT;
+			color = <LED_COLOR_ID_WHITE>;
+			max-brightness = <255>;
+			default-state = "keep";
+		};
+	};
 };
 
 &serial0 {
@@ -110,5 +124,9 @@  &pcie0_dart_3 {
 	status = "disabled";
 };
 
+&fpwm0 {
+	status = "okay";
+};
+
 /delete-node/ &port02;
 /delete-node/ &port03;