realtek: HPE 1920-48G-PoE: allow fan speed control
authorEvan Jobling <evan@jobling.au>
Thu, 23 Jan 2025 00:13:35 +0000 (00:13 +0000)
committerSander Vanheule <sander@svanheule.net>
Sun, 9 Feb 2025 20:36:55 +0000 (21:36 +0100)
The JG928A has an RTL8231 on the aux mdio bus. Add it to dts to expose
the GPIO pins used to control and monitor the fan speed. To enable speed
control, add the appropriate kernel driver module to DEVICE_PACKAGES.

Of note, this does not control all fans for the unit. The power supply
fans are not controlled.

Signed-off-by: Evan Jobling <evan@jobling.au>
Link: https://github.com/openwrt/openwrt/pull/17699
Signed-off-by: Sander Vanheule <sander@svanheule.net>
target/linux/realtek/dts/rtl8393_hpe_1920-48g-poe.dts
target/linux/realtek/image/rtl839x.mk

index e2427754341255f0ff5ab82633c652070896d56f..9765f80d8817f2b1bafc72e784ab913204988e7d 100644 (file)
@@ -5,8 +5,37 @@
 / {
        compatible = "hpe,1920-48g-poe", "realtek,rtl8393-soc";
        model = "HPE 1920-48G-PoE (JG928A)";
+
+       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 {
        status = "okay";
 };
+
+&mdio_aux {
+       status = "okay";
+
+       gpio1: expander@0 {
+               compatible = "realtek,rtl8231";
+               reg = <0>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-ranges = <&gpio1 0 0 37>;
+
+               led-controller {
+                       compatible = "realtek,rtl8231-leds";
+                       status = "disabled";
+               };
+       };
+};
index 14d23ff371003c269f571718d495b079d8dab88d..5f9b6d56c65de180d51df47cb5d992503a9d2c02 100644 (file)
@@ -21,7 +21,7 @@ define Device/hpe_1920-48g-poe
   $(Device/hpe_1920)
   SOC := rtl8393
   DEVICE_MODEL := 1920-48G-PoE (JG928A)
-  DEVICE_PACKAGES += realtek-poe
+  DEVICE_PACKAGES += realtek-poe kmod-hwmon-gpiofan
   H3C_DEVICE_ID := 0x0001002b
 endef
 TARGET_DEVICES += hpe_1920-48g-poe