[PATCH v9 12/15] ARM: dts: aspeed: anacapa: Add NCT7363 fan controllers
From: Colin Huang
Date: Wed Sep 30 2026 - 02:14:55 EST
From: Carl Lee <carl.lee@xxxxxxx>
Add two NCT7363 fan-controller nodes on Anacapa I2C mux
channels and define their PWM/tach channel mappings.
This matches the fan-control hardware layout and allows the
kernel to probe the correct fan-controller devices.
Signed-off-by: Carl Lee <carl.lee@xxxxxxx>
---
.../aspeed/aspeed-bmc-facebook-anacapa-evt2.dtsi | 102 +++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt2.dtsi b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt2.dtsi
index 5f849bd21fe0..f546a7b5786a 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt2.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa-evt2.dtsi
@@ -25,6 +25,52 @@
&i2c8 {
i2c-mux@72 {
i2c@0 {
+ fanctl1: fan-controller@21 {
+ compatible = "nuvoton,nct7363";
+ reg = <0x21>;
+ #pwm-cells = <2>;
+
+ fan-0 {
+ pwms = <&fanctl1 6 40000>;
+ tach-ch = /bits/ 8 <0x00>;
+ };
+
+ fan-2 {
+ pwms = <&fanctl1 9 40000>;
+ tach-ch = /bits/ 8 <0x02>;
+ };
+
+ fan-3 {
+ pwms = <&fanctl1 9 40000>;
+ tach-ch = /bits/ 8 <0x03>;
+ };
+
+ fan-5 {
+ pwms = <&fanctl1 12 40000>;
+ tach-ch = /bits/ 8 <0x05>;
+ };
+
+ fan-6 {
+ pwms = <&fanctl1 12 40000>;
+ tach-ch = /bits/ 8 <0x06>;
+ };
+
+ fan-9 {
+ pwms = <&fanctl1 0 40000>;
+ tach-ch = /bits/ 8 <0x09>;
+ };
+
+ fan-10 {
+ pwms = <&fanctl1 0 40000>;
+ tach-ch = /bits/ 8 <0x0a>;
+ };
+
+ fan-15 {
+ pwms = <&fanctl1 6 40000>;
+ tach-ch = /bits/ 8 <0x0f>;
+ };
+ };
+
gpio@24 {
gpio-line-names =
"RPDB_EAM2_PRSNT_MOS_N_R", "RPDB_EAM3_PRSNT_MOS_N_R",
@@ -64,6 +110,62 @@ power-monitor@45 {
};
i2c@1 {
+ fanctl0: fan-controller@23 {
+ compatible = "nuvoton,nct7363";
+ reg = <0x23>;
+ #pwm-cells = <2>;
+
+ fan-0 {
+ pwms = <&fanctl0 6 40000>;
+ tach-ch = /bits/ 8 <0x00>;
+ };
+
+ fan-2 {
+ pwms = <&fanctl0 9 40000>;
+ tach-ch = /bits/ 8 <0x02>;
+ };
+
+ fan-3 {
+ pwms = <&fanctl0 9 40000>;
+ tach-ch = /bits/ 8 <0x03>;
+ };
+
+ fan-5 {
+ pwms = <&fanctl0 12 40000>;
+ tach-ch = /bits/ 8 <0x05>;
+ };
+
+ fan-6 {
+ pwms = <&fanctl0 12 40000>;
+ tach-ch = /bits/ 8 <0x06>;
+ };
+
+ fan-9 {
+ pwms = <&fanctl0 0 40000>;
+ tach-ch = /bits/ 8 <0x09>;
+ };
+
+ fan-10 {
+ pwms = <&fanctl0 0 40000>;
+ tach-ch = /bits/ 8 <0x0a>;
+ };
+
+ fan-12 {
+ pwms = <&fanctl0 3 40000>;
+ tach-ch = /bits/ 8 <0x0c>;
+ };
+
+ fan-13 {
+ pwms = <&fanctl0 3 40000>;
+ tach-ch = /bits/ 8 <0x0d>;
+ };
+
+ fan-15 {
+ pwms = <&fanctl0 6 40000>;
+ tach-ch = /bits/ 8 <0x0f>;
+ };
+ };
+
gpio@24 {
gpio-line-names =
"LPDB_P50V_FAN0_R2_PG","LPDB_P50V_FAN1_R2_PG",
--
2.34.1