public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] ARM: dts: aspeed: yosemite4: add fan led config
@ 2024-12-20  4:38 Delphine CC Chiu
  2025-01-08  1:19 ` Andrew Jeffery
  0 siblings, 1 reply; 2+ messages in thread
From: Delphine CC Chiu @ 2024-12-20  4:38 UTC (permalink / raw)
  To: patrick, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Joel Stanley, Andrew Jeffery
  Cc: Marshall Zhan, Delphine CC Chiu, devicetree, linux-arm-kernel,
	linux-aspeed, linux-kernel

From: Marshall Zhan <marshall.zhan.wiwynn@gmail.com>

Set fan led config in yosemite4 DTS.

Signed-off-by: Marshall Zhan <marshall.zhan.wiwynn@gmail.com>
Signed-off-by: Delphine CC Chiu <delphine_cc_chiu@wiwynn.com>
---
 .../aspeed/aspeed-bmc-facebook-yosemite4.dts  | 166 +++++++++++++++++-
 1 file changed, 163 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
index ab4904cf2c0e..b5865efcc80c 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
@@ -73,6 +73,160 @@ tpm@0 {
 			spi-max-frequency = <33000000>;
 		};
 	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_identify {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&identify_gpio 8 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan0_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 4 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan0_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 5 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan1_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 10 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan1_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 11 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan2_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 4 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan2_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 5 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan3_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 10 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan3_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 11 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan4_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 2 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan4_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 3 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan5_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 8 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan5_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 9 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan6_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 2 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan6_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 3 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan7_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 8 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan7_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 9 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan8_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 0 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan8_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 1 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan9_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio0 6 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan9_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio0 7 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan10_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 0 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan10_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 1 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan11_blue {
+			retain-state-shutdown;
+			default-state = "on";
+			gpios = <&led_gpio1 6 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_fan11_amber {
+			retain-state-shutdown;
+			default-state = "off";
+			gpios = <&led_gpio1 7 GPIO_ACTIVE_HIGH>;
+		};
+	};
 };
 
 &uart1 {
@@ -995,11 +1149,17 @@ gpio@20 {
 				#gpio-cells = <2>;
 			};
 
-			gpio@21 {
+			identify_gpio: gpio@21 {
 				compatible = "nxp,pca9506";
 				reg = <0x21>;
 				gpio-controller;
 				#gpio-cells = <2>;
+				gpio-line-names = "","","","",
+						  "","","","",
+						  "LED_IDENTIFY",
+						  "","","","","","","",
+						  "","","","","","","","",
+						  "","","","","","","","";
 			};
 
 			gpio@22 {
@@ -1173,7 +1333,7 @@ eeprom@52 {
 				reg = <0x52>;
 			};
 
-			gpio@61 {
+			led_gpio0: gpio@61 {
 				compatible = "nxp,pca9552";
 				reg = <0x61>;
 				#address-cells = <1>;
@@ -1221,7 +1381,7 @@ eeprom@52 {
 				reg = <0x52>;
 			};
 
-			gpio@61 {
+			led_gpio1: gpio@61 {
 				compatible = "nxp,pca9552";
 				reg = <0x61>;
 				#address-cells = <1>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1] ARM: dts: aspeed: yosemite4: add fan led config
  2024-12-20  4:38 [PATCH v1] ARM: dts: aspeed: yosemite4: add fan led config Delphine CC Chiu
@ 2025-01-08  1:19 ` Andrew Jeffery
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Jeffery @ 2025-01-08  1:19 UTC (permalink / raw)
  To: Delphine CC Chiu, patrick, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Joel Stanley
  Cc: Marshall Zhan, devicetree, linux-arm-kernel, linux-aspeed,
	linux-kernel

Hi Marshall,

On Fri, 2024-12-20 at 12:38 +0800, Delphine CC Chiu wrote:
> From: Marshall Zhan <marshall.zhan.wiwynn@gmail.com>
> 
> Set fan led config in yosemite4 DTS.
> 
> Signed-off-by: Marshall Zhan <marshall.zhan.wiwynn@gmail.com>
> Signed-off-by: Delphine CC Chiu <delphine_cc_chiu@wiwynn.com>
> ---
>  .../aspeed/aspeed-bmc-facebook-yosemite4.dts  | 166
> +++++++++++++++++-
>  1 file changed, 163 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-
> yosemite4.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-
> yosemite4.dts
> index ab4904cf2c0e..b5865efcc80c 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
> @@ -73,6 +73,160 @@ tpm@0 {
>                         spi-max-frequency = <33000000>;
>                 };
>         };
> +
> +       leds {
> +               compatible = "gpio-leds";
> +
> +               led_identify {

The binding prefers naming the led nodes differently:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/leds/leds-gpio.yaml?h=v6.12#n22

If you must name the nodes this way, can you document why in a comment
in the devicetree?

> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&identify_gpio 8 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan0_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 4 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan0_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 5 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan1_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 10 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan1_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 11 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan2_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 4 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan2_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 5 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan3_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 10 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan3_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 11 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan4_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 2 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan4_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 3 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan5_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 8 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan5_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 9 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan6_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 2 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan6_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 3 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan7_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 8 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan7_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 9 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan8_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 0 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan8_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 1 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan9_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio0 6 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan9_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio0 7 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan10_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 0 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan10_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 1 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan11_blue {
> +                       retain-state-shutdown;
> +                       default-state = "on";
> +                       gpios = <&led_gpio1 6 GPIO_ACTIVE_HIGH>;
> +               };
> +
> +               led_fan11_amber {
> +                       retain-state-shutdown;
> +                       default-state = "off";
> +                       gpios = <&led_gpio1 7 GPIO_ACTIVE_HIGH>;
> +               };
> +       };
>  };
>  
>  &uart1 {
> @@ -995,11 +1149,17 @@ gpio@20 {
>                                 #gpio-cells = <2>;
>                         };
>  
> -                       gpio@21 {
> +                       identify_gpio: gpio@21 {

Does this expander really only expose the identify led?

>                                 compatible = "nxp,pca9506";
>                                 reg = <0x21>;
>                                 gpio-controller;
>                                 #gpio-cells = <2>;
> +                               gpio-line-names = "","","","",
> +                                                 "","","","",
> +                                                 "LED_IDENTIFY",
> +                                                
> "","","","","","","",
> +                                                
> "","","","","","","","",
> +                                                
> "","","","","","","","";
>                         };
>  
>                         gpio@22 {
> @@ -1173,7 +1333,7 @@ eeprom@52 {
>                                 reg = <0x52>;
>                         };
>  
> -                       gpio@61 {
> +                       led_gpio0: gpio@61 {

Bit of nitpick, but perhaps the node label could be improved?
fan_leds0? And fan_leds1 below?

>                                 compatible = "nxp,pca9552";
>                                 reg = <0x61>;
>                                 #address-cells = <1>;
> @@ -1221,7 +1381,7 @@ eeprom@52 {
>                                 reg = <0x52>;
>                         };
>  
> -                       gpio@61 {
> +                       led_gpio1: gpio@61 {
>                                 compatible = "nxp,pca9552";
>                                 reg = <0x61>;
>                                 #address-cells = <1>;

Cheers,

Andrew

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-01-08  1:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-20  4:38 [PATCH v1] ARM: dts: aspeed: yosemite4: add fan led config Delphine CC Chiu
2025-01-08  1:19 ` Andrew Jeffery

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox