[openwrt/openwrt] realtek: add support for HPE 1920-24G-PoE-370w

LEDE Commits lede-commits at lists.infradead.org
Mon Dec 30 23:43:44 PST 2024


svanheule pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/11275bec82a33de336e57a52d068f71859c8468c

commit 11275bec82a33de336e57a52d068f71859c8468c
Author: Evan Jobling <evan.jobling at mslsc.com.au>
AuthorDate: Sat Sep 14 02:43:35 2024 +0000

    realtek: add support for HPE 1920-24G-PoE-370w
    
    Hardware information:
    ---------------------
    
    The HPE 1920-24G-PoE+ (370W) (JG926A) is a switch that is
    part of the 1920 family wich 370W nominal PoE+ support.
    
    Common with HPE 1920-24G:
      - RTL8382 SoC
      - 24 Gigabit RJ45 ports (built-in RTL8218B, 2 external RTL8218D)
      - 4 SFP ports (external RTL8214FC)
      - RJ45 RS232 port on front panel
      - 32 MiB NOR Flash
      - 128 MiB DDR3 DRAM
      - PT7A7514 watchdog
    
    HPE 1920-24G-PoE+ (370W):
      - PoE chip
      - 3 fans (40mm)
    
    Known issues:
    ---------------------
    - PoE LEDs are uncontrolled.
    
    (Manual taken from f2f09bc)
    Booting initramfs image:
    ------------------------
    
    - Prepare a FTP or TFTP server serving the OpenWrt initramfs image and
      connect the server to a switch port.
    
    - Connect to the console port of the device and enter the extended
      boot menu by typing Ctrl+B when prompted.
    
    - Choose the menu option "<3> Enter Ethernet SubMenu".
    
    - Set network parameters via the option "<5> Modify Ethernet Parameter".
      Enter the FTP/TFTP filename as "Load File Name" ("Target File Name"
      can be left blank, it is not required for booting from RAM). Note that
      the configuration is saved on flash, so it only needs to be done once.
    
    - Select "<1> Download Application Program To SDRAM And Run".
    
    Initial installation:
    ---------------------
    
    - Boot an initramfs image as described above, then use sysupgrade to
      install OpenWrt permanently. After initial installation, the
      bootloader needs to be configured to load the correct image file
    
    - Enter the extended boot menu again and choose "<4> File Control",
      then select "<2> Set Application File type".
    
    - Enter the number of the file "openwrt-kernel.bin" (should be 1), and
      use the option "<1> +Main" to select it as boot image.
    
    - Choose "<0> Exit To Main Menu" and then "<1> Boot System".
    
    NOTE: The bootloader on these devices can only boot from the VFS
    filesystem which normally spans most of the flash. With OpenWrt, only
    the first part of the firmware partition contains a valid filesystem,
    the rest is used for rootfs. As the bootloader does not know about this,
    you must not do any file operations in the bootloader, as this may
    corrupt the OpenWrt installation (selecting the boot image is an
    exception, as it only stores a flag in the bootloader data, but doesn't
    write to the filesystem).
    
    Example PoE config file (/etc/config/poe):
    ---------------------
    config global
            option budget   '370'
    
    config port
            option enable   '1'
            option id       '1'
            option name     'lan8'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '2'
            option name     'lan7'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '3'
            option name     'lan6'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '4'
            option name     'lan5'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '5'
            option name     'lan4'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '6'
            option name     'lan3'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '7'
            option name     'lan2'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '8'
            option name     'lan1'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '9'
            option name     'lan16'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '10'
            option name     'lan15'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '11'
            option name     'lan14'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '12'
            option name     'lan13'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '13'
            option name     'lan12'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '14'
            option name     'lan11'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '15'
            option name     'lan10'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '16'
            option name     'lan9'
            option poe_plus '1'
            option priority '2'
    
    config port
            option enable   '1'
            option id       '17'
            option name     'lan24'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '18'
            option name     'lan23'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '19'
            option name     'lan22'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '20'
            option name     'lan21'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '21'
            option name     'lan20'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '22'
            option name     'lan19'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '23'
            option name     'lan18'
            option poe_plus '1'
            option priority '2'
    config port
            option enable   '1'
            option id       '24'
            option name     'lan17'
            option poe_plus '1'
            option priority '2'
    
    Signed-off-by: Evan Jobling <evan.jobling at mslsc.com.au>
    Signed-off-by: Fabian Groffen <grobian at gentoo.org>
    Link: https://github.com/openwrt/openwrt/pull/17436
    [fix space indentation in DTS]
    Signed-off-by: Sander Vanheule <sander at svanheule.net>
    (cherry picked from commit c8ea1aa970bf5a0275e3b0b7da777e804821ddcd)
---
 target/linux/realtek/base-files/etc/board.d/02_network       |  4 ++++
 target/linux/realtek/base-files/etc/board.d/03_gpio_switches |  3 ++-
 target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts   | 12 ++++++++++++
 target/linux/realtek/image/rtl838x.mk                        |  9 +++++++++
 4 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network
index 5073dbcc31..750a200814 100644
--- a/target/linux/realtek/base-files/etc/board.d/02_network
+++ b/target/linux/realtek/base-files/etc/board.d/02_network
@@ -36,6 +36,7 @@ hpe,1920-8g-poe-65w|\
 hpe,1920-8g-poe-180w|\
 hpe,1920-16g|\
 hpe,1920-24g|\
+hpe,1920-24g-poe-370w|\)
 hpe,1920-48g|\
 hpe,1920-48g-poe)
 	label_mac=$(mtd_get_mac_binary factory 0x68)
@@ -95,6 +96,9 @@ hpe,1920-8g-poe-65w)
 hpe,1920-8g-poe-180w)
 	ucidef_set_poe 180 "$(filter_port_list_reverse "$lan_list" "lan9 lan10")"
 	;;
+hpe,1920-24g-poe-370w)
+	ucidef_set_poe 370 "$(filter_port_list_reverse "$lan_list" "lan25 lan26 lan27 lan28")"
+	;;
 hpe,1920-48g-poe)
 	ucidef_set_poe 370 "lan8 lan7 lan6 lan5 lan4 lan3 lan2 lan1 lan16 lan15 lan14 lan13 lan12 lan11 lan10 lan9 lan24 lan23
 			lan22 lan21 lan20 lan19 lan18 lan17 lan32 lan31 lan30 lan29 lan28 lan27 lan26 lan25 lan40 lan39 lan38 lan37
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
index 1e49d89c64..684d7f795e 100644
--- a/target/linux/realtek/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/realtek/base-files/etc/board.d/03_gpio_switches
@@ -6,7 +6,8 @@ board_config_update
 board=$(board_name)
 
 case "$board" in
-hpe,1920-8g-poe-180w)
+hpe,1920-8g-poe-180w|\
+hpe,1920-24g-poe-370w)
 	ucidef_add_gpio_switch "fan_ctrl" "Fan control" "456" "0"
 	;;
 esac
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
new file mode 100644
index 0000000000..ccdcf71d1b
--- /dev/null
+++ b/target/linux/realtek/dts/rtl8382_hpe_1920-24g-poe-370w.dts
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "rtl8382_hpe_1920-24g.dtsi"
+
+/ {
+	compatible = "hpe,1920-24g-poe-370w", "realtek,rtl838x-soc";
+	model = "HPE 1920-24G-PoE+ 370W (JG926A)";
+};
+
+&uart1 {
+	status = "okay";
+};
diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk
index 01397af931..d694f5b308 100644
--- a/target/linux/realtek/image/rtl838x.mk
+++ b/target/linux/realtek/image/rtl838x.mk
@@ -144,6 +144,15 @@ define Device/hpe_1920-24g
 endef
 TARGET_DEVICES += hpe_1920-24g
 
+define Device/hpe_1920-24g-poe-370w
+  $(Device/hpe_1920)
+  SOC := rtl8382
+  DEVICE_MODEL := 1920-24G-PoE+ 370W (JG926A)
+  DEVICE_PACKAGES += realtek-poe
+  H3C_DEVICE_ID := 0x00010029
+endef
+TARGET_DEVICES += hpe_1920-24g-poe-370w
+
 define Device/inaba_aml2-17gp
   SOC := rtl8382
   IMAGE_SIZE := 13504k




More information about the lede-commits mailing list