From 0a7c8ed9d94930ba062c71df79f63c06eeab4543 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Wed, 15 Jan 2025 20:12:02 +0100 Subject: [PATCH] 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 Signed-off-by: Sander Vanheule --- .../base-files/etc/board.d/03_gpio_switches | 17 ----------------- .../base-files/etc/board.d/05_compat-version | 4 +++- .../dts/rtl8382_hpe_1920-24g-poe-180w.dts | 11 +++++++++++ .../dts/rtl8382_hpe_1920-24g-poe-370w.dts | 11 +++++++++++ target/linux/realtek/image/rtl838x.mk | 6 ++++-- 5 files changed, 29 insertions(+), 20 deletions(-) delete mode 100644 target/linux/realtek/base-files/etc/board.d/03_gpio_switches 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 c178bd43308..00000000000 --- 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 687cbb32a5a..9c27314b241 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 4783cec15ca..69e647c59a9 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 ccdcf71d1bd..532f23ab2f2 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 27dbc6ce59a..34464316c7f 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