[openwrt/openwrt] realtek: HPE 1920 24G PoE+ 180W/370W move fans to hwmon

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 15 22:33:47 PST 2025


svanheule pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/0a7c8ed9d94930ba062c71df79f63c06eeab4543

commit 0a7c8ed9d94930ba062c71df79f63c06eeab4543
Author: Fabian Groffen <grobian at gentoo.org>
AuthorDate: Wed Jan 15 20:12:02 2025 +0100

    realtek: HPE 1920 24G PoE+ 180W/370W move fans to hwmon
    
    Apply the equivalent of commit f64541db020e ("realtek: HPE 1920 8G PoE+
    180W move fans to hwmon") to the 24-ports variants of the HPE 1920 PoE+
    switches, with model numbers JG925A and JG926A.
    
    Copy from the original commit message:
    
      Move to using hwmon and gpio-fan. This is by adding gpio_fan_array to
      DTS and kmod-hwmon-gpiofan to DEVICE_PACKAGES.
    
      In combination with the new rtl8231 gpio driver the default fan
      behaviour will be maximum fan speed.
    
      Bump compat value to 1.1 due to existing config in /etc/config/system
      via gpio_switch. Also notify in device compat that fan is now going to
      be at bootloader setting (maximum in this case) by default unless turned
      down.
    
    As the init script 03_gpio_switches does not perform any action after
    removing these devices from it, the file can be dropped.
    
    Link: https://github.com/openwrt/openwrt/pull/17598
    Signed-off-by: Fabian Groffen <grobian at gentoo.org>
    Signed-off-by: Sander Vanheule <sander at svanheule.net>
---
 .../realtek/base-files/etc/board.d/03_gpio_switches     | 17 -----------------
 .../realtek/base-files/etc/board.d/05_compat-version    |  4 +++-
 .../linux/realtek/dts/rtl8382_hpe_1920-24g-poe-180w.dts | 11 +++++++++++
 .../linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts | 11 +++++++++++
 target/linux/realtek/image/rtl838x.mk                   |  6 ++++--
 5 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/target/linux/realtek/base-files/etc/board.d/03_gpio_switches b/target/linux/realtek/base-files/etc/board.d/03_gpio_switches
deleted file mode 100644
index c178bd4330..0000000000
--- a/target/linux/realtek/base-files/etc/board.d/03_gpio_switches
+++ /dev/null
@@ -1,17 +0,0 @@
-
-. /lib/functions/uci-defaults.sh
-
-board_config_update
-
-board=$(board_name)
-
-case "$board" in
-hpe,1920-24g-poe-180w|\
-hpe,1920-24g-poe-370w)
-	ucidef_add_gpio_switch "fan_ctrl" "Fan control" "456" "0"
-	;;
-esac
-
-board_config_flush
-
-exit 0
diff --git a/target/linux/realtek/base-files/etc/board.d/05_compat-version b/target/linux/realtek/base-files/etc/board.d/05_compat-version
index 687cbb32a5..9c27314b24 100644
--- a/target/linux/realtek/base-files/etc/board.d/05_compat-version
+++ b/target/linux/realtek/base-files/etc/board.d/05_compat-version
@@ -8,7 +8,9 @@
 board_config_update
 
 case "$(board_name)" in
-	hpe,1920-8g-poe-180w)
+	hpe,1920-8g-poe-180w | \
+	hpe,1920-24g-poe-180w | \
+	hpe,1920-24g-poe-370w)
 		ucidef_set_compat_version "1.1"
 	;;
 	zyxel,gs1900-8 | \
diff --git a/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-180w.dts b/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-180w.dts
index 4783cec15c..69e647c59a 100644
--- a/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-180w.dts
+++ b/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-180w.dts
@@ -5,6 +5,17 @@
 / {
 	compatible = "hpe,1920-24g-poe-180w", "realtek,rtl838x-soc";
 	model = "HPE 1920-24G-PoE+ 180W (JG925A)";
+
+	gpio_fan_array {
+		compatible = "gpio-fan";
+
+		gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+		gpio-fan,speed-map =    <5000 0>,
+					<8200 1>;
+
+		alarm-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+		#cooling-cells = <2>;
+	};
 };
 
 &uart1 {
diff --git a/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts b/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts
index ccdcf71d1b..532f23ab2f 100644
--- a/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts
+++ b/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts
@@ -5,6 +5,17 @@
 / {
 	compatible = "hpe,1920-24g-poe-370w", "realtek,rtl838x-soc";
 	model = "HPE 1920-24G-PoE+ 370W (JG926A)";
+
+	gpio_fan_array {
+		compatible = "gpio-fan";
+
+		gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+		gpio-fan,speed-map =    <5000 0>,
+					<8200 1>;
+
+		alarm-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+		#cooling-cells = <2>;
+	};
 };
 
 &uart1 {
diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk
index 27dbc6ce59..34464316c7 100644
--- a/target/linux/realtek/image/rtl838x.mk
+++ b/target/linux/realtek/image/rtl838x.mk
@@ -147,18 +147,20 @@ TARGET_DEVICES += hpe_1920-24g
 
 define Device/hpe_1920-24g-poe-180w
   $(Device/hpe_1920)
+  $(Device/hwmon-fan-migration)
   SOC := rtl8382
   DEVICE_MODEL := 1920-24G-PoE+ 180W (JG925A)
-  DEVICE_PACKAGES += realtek-poe
+  DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
   H3C_DEVICE_ID := 0x00010028
 endef
 TARGET_DEVICES += hpe_1920-24g-poe-180w
 
 define Device/hpe_1920-24g-poe-370w
   $(Device/hpe_1920)
+  $(Device/hwmon-fan-migration)
   SOC := rtl8382
   DEVICE_MODEL := 1920-24G-PoE+ 370W (JG926A)
-  DEVICE_PACKAGES += realtek-poe
+  DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
   H3C_DEVICE_ID := 0x00010029
 endef
 TARGET_DEVICES += hpe_1920-24g-poe-370w




More information about the lede-commits mailing list