[3/4] arm64: dts: apple: t8103: Add PWM controller
Commit Message
Adds PWM controller and keyboard backlight bindings for M1 MacBooks
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
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(+)
Comments
On 28/10/2022 12:52, Sasha Finkelstein wrote:
> Adds PWM controller and keyboard backlight bindings for M1 MacBooks
>
> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
> ---
> 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..5652cd41730a 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";
> };
> +
> +/ {
> + pwmleds {
Node names should be generic: led-controller
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> + compatible = "pwm-leds";
> + kbd-backlight {
Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).
> + pwms = <&fpwm1 0 40000>;
> + label = "kbd_backlight";
> + function = LED_FUNCTION_KBD_BACKLIGHT;
> + color = <LED_COLOR_ID_WHITE>;
> + max-brightness = <255>;
> + default-state = "keep";
> + pwm-names = "kbd-backlight";
This goes just after pwms.
> + };
> + };
> +};
> +
> +&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..cff53f8770f3 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;
> +
> +/ {
> + pwmleds {
Same comments
> + compatible = "pwm-leds";
> + kbd-backlight {
> + pwms = <&fpwm1 0 40000>;
> + label = "kbd_backlight";
> + function = LED_FUNCTION_KBD_BACKLIGHT;
> + color = <LED_COLOR_ID_WHITE>;
> + max-brightness = <255>;
> + default-state = "keep";
> + pwm-names = "kbd-backlight";
> + };
> + };
> +};
> +
> +&fpwm1 {
> + status = "okay";
> +};
> diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
> index 51a63b29d404..a95dc482102e 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: fpwm@235044000 {
Node names should be generic, so pwm.
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> + compatible = "apple,t8103-fpwm", "apple,s5l-fpwm";
> + reg = <0x2 0x35044000 0x0 0x4000>;
Best regards,
Krzysztof
@@ -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";
};
+
+/ {
+ pwmleds {
+ compatible = "pwm-leds";
+ kbd-backlight {
+ pwms = <&fpwm1 0 40000>;
+ label = "kbd_backlight";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+ color = <LED_COLOR_ID_WHITE>;
+ max-brightness = <255>;
+ default-state = "keep";
+ pwm-names = "kbd-backlight";
+ };
+ };
+};
+
+&fpwm1 {
+ status = "okay";
+};
@@ -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;
+
+/ {
+ pwmleds {
+ compatible = "pwm-leds";
+ kbd-backlight {
+ pwms = <&fpwm1 0 40000>;
+ label = "kbd_backlight";
+ function = LED_FUNCTION_KBD_BACKLIGHT;
+ color = <LED_COLOR_ID_WHITE>;
+ max-brightness = <255>;
+ default-state = "keep";
+ pwm-names = "kbd-backlight";
+ };
+ };
+};
+
+&fpwm1 {
+ status = "okay";
+};
@@ -191,6 +191,15 @@ i2c4: i2c@235020000 {
status = "disabled"; /* only used in J293 */
};
+ fpwm1: fpwm@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>;