Re: [PATCH 3/4] arm64: dts: apple: t8103: Add PWM controller

From: Krzysztof Kozlowski
Date: Fri Oct 28 2022 - 13:57:09 EST


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@xxxxxxxxx>
> ---
> 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