[openwrt/openwrt] realtek: d-link: add support for dgs-1210-10mp

LEDE Commits lede-commits at lists.infradead.org
Sat Aug 20 00:03:20 PDT 2022


svanheule pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/8c04a5c45677aa460d75dcbb9ba40b1b8c343eda

commit 8c04a5c45677aa460d75dcbb9ba40b1b8c343eda
Author: Daniel Groth <flygarn12 at gmail.com>
AuthorDate: Fri Aug 12 20:11:54 2022 +0200

    realtek: d-link: add support for dgs-1210-10mp
    
    General hardware info:
    -------------------------------------------------------------------------------
    
    D-Link DGS-1210-10MP is a switch with 8 ethernet ports and 2 SFP ports, all
    ports Gbit capable. It is based on a RTL8380 SoC @ 500MHz, DRAM 128MB and
    32MB flash. All ethernet ports are 802.3af/at PoE capable
    with a total PoE power budget of 130W.
    
    File info:
    -------------------------------------------------------------------------------
    The dgs-1210-10mp is very similar to dgs-1210-10p so I used that as a start.
    
    rtl838x.mk:
     - Removed lua-rs232 package since it was a leftover from the old rtl83xx-poe
       package.
     - Updated the soc to 8380.
     - Specified device variant: F.
     - Installed the new realtek-poe package.
    
    rtl8380_d-link_dgs-1210-10mp.dts:
     - Moved dgs-1210 family common parts and non PoE related ports on rtl8231
       to the new device tree dtsi files.
    
    Serial connection:
    -------------------------------------------------------------------------------
    The UART for the SoC (115200 8N1) is available close to the front panel next
    to the LED/key card connector via unpopulated standard 0.1" pin header
    marked j4. Pin1 is marked with arrow and square.
    
    Pin 1: Vcc 3,3V
    Pin 2: Tx
    Pin 3: Rx
    Pin 4: Gnd
    
    Installation with TFTP from u-boot
    -------------------------------------------------------------------------------
    I originally used the install procedure:
    'OpenWrt installation using the TFTP method and serial console access' found
    in the device wiki for the dgs-1210-16.
    < https://openwrt.org/toh/d-link/dgs-1210-16_g1#openwrt_installation_using
    _the_tftp_method_and_serial_console_access >
    
    About the realtek-poe package
    -------------------------------------------------------------------------------
    The realtek-poe package is installed but there isn't any automatic PoE config
    setting at this time so for now the PoE config must be edited manually.
    
    Original OEM hardware/firmware data at first installation
    -------------------------------------------------------------------------------
    It has been installed, developed, and tested on a device with these OEM
    hardware and firmware versions.
    
    - U-boot: 2011.12.(2.1.5.67086)-Candidate1 (Jun 22 2020 - 15:03:58)
    - Boot version: 1.01.001
    - Firmware version: 6.20.007
    - Hardware version: F1
    
    Things to be done when support are developed
    -------------------------------------------------------------------------------
     - realtek-poe has been included in OpenWrt but the automatic config handling
       has not been solved yet so in the future there will probably be some minor
       updates for this device to handle the poe config.
     - LED link_act and poe are per function supposed to be connected to the PoE
       system.
       But some software development is also needed to make this LED work and
       shift the LED array between act and poe indication and to shift the mode
       lights with mode key.
     - LED poe_max should probably be used as straight forward error output from
       the realtek-poe package error handling. But no code has been written for
       this.
     - SFP is currently not hot pluggable. Development is under progress to get
       working I2C communication with SFP and have them hot pluggable.
       When any device in the dgs-1210 family gets this working, I expect it
       should be possible to implement the same solution in this device.
    
    Signed-off-by: Daniel Groth <flygarn12 at gmail.com>
    [Capitalisation of abbreviations, DEVICE_VARIANT and update filenames,
    device compatibles on single line]
    Signed-off-by: Sander Vanheule <sander at svanheule.net>
---
 package/boot/uboot-envtools/files/realtek          |  3 +-
 .../dts-5.10/rtl8380_d-link_dgs-1210-10mp-f.dts    | 87 ++++++++++++++++++++++
 target/linux/realtek/image/rtl838x.mk              |  9 +++
 3 files changed, 98 insertions(+), 1 deletion(-)

diff --git a/package/boot/uboot-envtools/files/realtek b/package/boot/uboot-envtools/files/realtek
index 39be783ea3..e1eb1a6ac6 100644
--- a/package/boot/uboot-envtools/files/realtek
+++ b/package/boot/uboot-envtools/files/realtek
@@ -8,10 +8,11 @@ touch /etc/config/ubootenv
 board=$(board_name)
 
 case "$board" in
+d-link,dgs-1210-10mp|\
+d-link,dgs-1210-10p|\
 d-link,dgs-1210-16|\
 d-link,dgs-1210-20|\
 d-link,dgs-1210-28|\
-d-link,dgs-1210-10p|\
 zyxel,gs1900-8|\
 zyxel,gs1900-8hp-v1|\
 zyxel,gs1900-8hp-v2|\
diff --git a/target/linux/realtek/dts-5.10/rtl8380_d-link_dgs-1210-10mp-f.dts b/target/linux/realtek/dts-5.10/rtl8380_d-link_dgs-1210-10mp-f.dts
new file mode 100644
index 0000000000..3e8e97986c
--- /dev/null
+++ b/target/linux/realtek/dts-5.10/rtl8380_d-link_dgs-1210-10mp-f.dts
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "rtl838x_d-link_dgs-1210_common.dtsi"
+#include "rtl83xx_d-link_dgs-1210_gpio.dtsi"
+
+/ {
+	compatible = "d-link,dgs-1210-10mp-f", "realtek,rtl8382-soc", "realtek,rtl838x-soc";
+
+	model = "D-Link DGS-1210-10MP F";
+};
+
+&leds {
+	link_act {
+		label = "green:link_act";
+		gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
+	};
+
+	poe {
+		label = "green:poe";
+		gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
+	};
+
+	poe_max {
+		label = "yellow:poe_max";
+		gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
+	};
+};
+
+&keys {
+	mode {
+		label = "mode";
+		gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+		linux,code = <KEY_LIGHTS_TOGGLE>;
+	};
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&ethernet0 {
+	mdio: mdio-bus {
+		compatible = "realtek,rtl838x-mdio";
+		regmap = <&ethernet0>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		INTERNAL_PHY(8)
+		INTERNAL_PHY(9)
+		INTERNAL_PHY(10)
+		INTERNAL_PHY(11)
+		INTERNAL_PHY(12)
+		INTERNAL_PHY(13)
+		INTERNAL_PHY(14)
+		INTERNAL_PHY(15)
+		INTERNAL_PHY(24)
+		INTERNAL_PHY(26)
+	};
+};
+
+&switch0 {
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		SWITCH_PORT(8, 1, internal)
+		SWITCH_PORT(9, 2, internal)
+		SWITCH_PORT(10, 3, internal)
+		SWITCH_PORT(11, 4, internal)
+		SWITCH_PORT(12, 5, internal)
+		SWITCH_PORT(13, 6, internal)
+		SWITCH_PORT(14, 7, internal)
+		SWITCH_PORT(15, 8, internal)
+		SWITCH_SFP_PORT(24, 9, rgmii-id)
+		SWITCH_SFP_PORT(26, 10, rgmii-id)
+
+		port at 28 {
+			ethernet = <&ethernet0>;
+			reg = <28>;
+			phy-mode = "internal";
+			fixed-link {
+				speed = <1000>;
+				full-duplex;
+			};
+		};
+	};
+};
diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk
index e748d414bc..3e27576bda 100644
--- a/target/linux/realtek/image/rtl838x.mk
+++ b/target/linux/realtek/image/rtl838x.mk
@@ -27,6 +27,15 @@ define Device/d-link_dgs-1210
 	dlink-version | dlink-headers
 endef
 
+define Device/d-link_dgs-1210-10mp-f
+  $(Device/d-link_dgs-1210)
+  SOC := rtl8380
+  DEVICE_MODEL := DGS-1210-10MP
+  DEVICE_VARIANT := F
+  DEVICE_PACKAGES += realtek-poe
+endef
+TARGET_DEVICES += d-link_dgs-1210-10mp-f
+
 define Device/d-link_dgs-1210-10p
   $(Device/d-link_dgs-1210)
   DEVICE_MODEL := DGS-1210-10P




More information about the lede-commits mailing list