Skip to content

Commit

Permalink
realtek: HPE 1920 8G PoE+ 180W move fans to hwmon
Browse files Browse the repository at this point in the history
The GPIO numbering has changed and is not stable. As a result fan
control via gpio_switch is broken, resulting in errors:
    "export_store: invalid GPIO 456"

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.

Signed-off-by: Evan Jobling <[email protected]>
Link: openwrt/openwrt#17605
Signed-off-by: Sander Vanheule <[email protected]>
  • Loading branch information
evs93 authored and svanheule committed Jan 15, 2025
1 parent c9ebd4f commit f64541d
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ board_config_update
board=$(board_name)

case "$board" in
hpe,1920-8g-poe-180w|\
hpe,1920-24g-poe-180w|\
hpe,1920-24g-poe-370w)
ucidef_add_gpio_switch "fan_ctrl" "Fan control" "456" "0"
Expand Down
3 changes: 3 additions & 0 deletions target/linux/realtek/base-files/etc/board.d/05_compat-version
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
board_config_update

case "$(board_name)" in
hpe,1920-8g-poe-180w)
ucidef_set_compat_version "1.1"
;;
zyxel,gs1900-8 | \
zyxel,gs1900-8hp-v1 | \
zyxel,gs1900-8hp-v2 | \
Expand Down
11 changes: 11 additions & 0 deletions target/linux/realtek/dts/rtl8380_hpe_1920-8g-poe-180w.dts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@
/ {
compatible = "hpe,1920-8g-poe-180w", "realtek,rtl838x-soc";
model = "HPE 1920-8G-PoE+ 180W (JG922A)";

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 {
Expand Down
8 changes: 8 additions & 0 deletions target/linux/realtek/image/common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@ define Device/hpe_1920
append-metadata
endef

define Device/hwmon-fan-migration
DEVICE_COMPAT_VERSION := 1.1
DEVICE_COMPAT_MESSAGE := Fan control switched to hwmon. Your fans will retain \
bootloader speed unless another control scheme is in place. \
Config cannot be kept due to conflict in gpio_switch config 'fan_ctrl' under \
/etc/config/system.
endef

define Device/zyxel_gs1900
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := Dual firmware paritition merged due to size constraints. \
Expand Down
3 changes: 2 additions & 1 deletion target/linux/realtek/image/rtl838x.mk
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,10 @@ TARGET_DEVICES += hpe_1920-8g-poe-65w

define Device/hpe_1920-8g-poe-180w
$(Device/hpe_1920)
$(Device/hwmon-fan-migration)
SOC := rtl8380
DEVICE_MODEL := 1920-8G-PoE+ 180W (JG922A)
DEVICE_PACKAGES += realtek-poe
DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
H3C_DEVICE_ID := 0x00010025
SUPPORTED_DEVICES += hpe_1920-8g-poe
endef
Expand Down

0 comments on commit f64541d

Please sign in to comment.