openwrt/target/linux/realtek/dts-5.10
Daniel Groth 51ec9b3864 realtek: d-link: dgs-1210 remake of the device tree
I have collected the known information from the dts files we have.
After that I made a new device tree that should work for this whole D-Link
switch family.
This device tree is based on modules where you first select which SoC group
the device belongs to. Then you include the GPIO dtsi file depending on what
hardware your device has, see examples below.
This tree is also expandable for more hardware,
see the part 'Future expansion possibilities' further down.

-------------------------------------------------------------------------------
The device tree now looks like this:
                            ----------------
                            | rtl838x.dtsi |    // Note 1.
                            ----------------
                                    |
                                    |
                    ---------------------------------------
                    | rtl838x_d-link_dgs-1210_common.dtsi | // Note 2.
                    ---------------------------------------
                                |
                                |       --------------
                                |-------| device.dts |      // Note 3.
                                |       --------------
                                |
                -------------------------------------
                | rtl83xx_d-link_dgs-1210_gpio.dtsi |       // Note 4.
                -------------------------------------
                                |
                                |       --------------
                                |-------| device.dts |      // Note 5.
                                        --------------

Note 1; Included in rtl838x_d-link_dgs-1210_common.dtsi.

Note 2; SoC level information and memory mapping. Choose which one to include
		in the device dts.

Note 3; At this point dgs-1210-16 will come out here.

Note 4; In this dtsi only common board hardware based on the rtl8231 is found.
	No PoE based hardware in this dtsi.
	In this dtsi there is no <#include> to above *_common.dtsi.

Note 5; Device dts with only rtl8231 based hardware without PoE will come out
		here.

-------------------------------------------------------------------------------
How to set up in dts file:

The device dts will have one of these two <#include> alternatives.

This alternative includes only common features:
<#include "rtl838x_d-link_dgs-1210_common.dtsi">

This alternative includes common and the rtl8231 GPIO (no PoE) features:

<#include "rtl838x_d-link_dgs-1210_common.dtsi">
<#include "rtl83xx_d-link_dgs-1210_gpio.dtsi">

-------------------------------------------------------------------------------
Implementation:

Finally, I also implemented this new family device tree on the current
supported devices:
dgs-1210-10p
dgs-1210-16
dgs-1210-20
dgs-1210-28

The implementation for the dgs-1210-10p is different. I have removed the
information from the rtl8382_d-link_dgs-1210-10p.dts that is already present
in rtl838x_d-link_dgs-1210_common.dtsi.
Since the rest isn't officially probed in the device dts I do not want to
include the rtl83xx_d-link_dgs-1210_gpio.dtsi with dgs-1210-10p.dts.

Since I don't have these devices to test on I have built the original firmware
for each one of these devices before this change and saved the dtb file and
then compared the original dtb file with the dtb file built with this new
device tree.

-------------------------------------------------------------------------------
Future expansion possibilities:

In parallel with the rtl838x_d-link_dgs-1210_common.dtsi in the tree map
we can make a rtl839x_d-link_dgs-1210_common.dtsi to use the rtl839x.dtsi if
the need arises with more devices based on rtl839x soc.

When we have more PoE devices so the hardware map for these gets more clear
we can make a rtl83xx_d-link_dgs-1210_poe.dtsi below
the rtl83xx_d-link_dgs-1210_gpio.dtsi in the tree map.

I looked at the port and switch setup to see if it could be moved to the dtsi.
I decided not to touch this part now. The reason was that there isn't really
any meaningful way this could be shared between the devices.
The only thing in common over the family is the 8+2sfp ports on the
dgs-1210-10xx device.
And then there is the hot plug SFP and I2C ports that aren’t implemented
on any device. So maybe when we see the whole port map for the family
then maybe the ports can be moved to a *_common.dtsi but I don't think it is
the right moment for that now.

Signed-off-by: Daniel Groth <flygarn12@gmail.com>
[Capitalisation of abbreviations and 'D-Link']
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-08-20 09:02:44 +02:00
..
rtl83xx_d-link_dgs-1210_gpio.dtsi realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl83xx_panasonic_mxxeg-pn28xx0k.dtsi realtek: add support for Panasonic Switch-M16eG PN28160K 2022-08-06 14:39:57 +02:00
rtl838x_d-link_dgs-1210_common.dtsi realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl838x_hpe_1920.dtsi Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl838x.dtsi Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl839x.dtsi realtek: fix node addresses for RTL839x 2022-02-20 16:23:55 +00:00
rtl930x.dtsi realtek: add sys-led disable pinctrl for rtl930x 2022-07-10 09:54:35 +02:00
rtl931x.dtsi realtek: add mux pinctrl for rtl931x 2022-07-10 09:54:35 +02:00
rtl8380_engenius_ews2910p.dts realtek: EnGenius EWS2910P: use the mtd3 partition for root overlay 2022-08-13 19:19:38 +02:00
rtl8380_hpe_1920-8g.dts Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl8380_netgear_gigabit_1xx.dtsi realtek: make Netgear GS1xx u-boot env partition writable 2022-06-22 17:51:02 +02:00
rtl8380_netgear_gigabit_3xx.dtsi realtek: make "u-boot-env" partition writable for Netgear 3xx series 2022-06-22 17:52:30 +02:00
rtl8380_netgear_gigabit.dtsi realtek: add missing gpio0 pinctrl properties 2022-07-10 09:54:35 +02:00
rtl8380_netgear_gs108t-v3.dts realtek: add support for power LED on Netgear GS108Tv3 2022-06-19 10:58:40 +02:00
rtl8380_netgear_gs110tpp-v1.dts realtek: Netgear GS110TPP v1: add lan9 and lan10 2022-08-13 19:15:46 +02:00
rtl8380_netgear_gs308t-v1.dts realtek: add support for power LED on Netgear GS308Tv1 2022-06-18 09:21:50 +02:00
rtl8380_netgear_gs310tp-v1.dts
rtl8380_panasonic_m8eg-pn28080k.dts realtek: add support for Panasonic Switch-M8eG PN28080K 2022-03-13 19:54:57 +01:00
rtl8380_tplink_sg2008p-v1.dts realtek: add support for TP-Link SG2008P 2022-08-13 19:59:47 +02:00
rtl8380_zyxel_gs1900-8.dts
rtl8380_zyxel_gs1900-8hp-v1.dts
rtl8380_zyxel_gs1900-8hp-v2.dts
rtl8380_zyxel_gs1900-10hp.dts
rtl8380_zyxel_gs1900.dtsi realtek: move RTL8231 definitions to board files 2022-02-20 16:23:55 +00:00
rtl8382_allnet_all-sg8208m.dts realtek: Consolidate bootargs 2021-11-24 21:42:44 +02:00
rtl8382_d-link_dgs-1210-10p.dts realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl8382_d-link_dgs-1210-16.dts realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl8382_d-link_dgs-1210-20.dts realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl8382_d-link_dgs-1210-28.dts realtek: d-link: dgs-1210 remake of the device tree 2022-08-20 09:02:44 +02:00
rtl8382_hpe_1920-16g.dts Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl8382_hpe_1920-24g.dts Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl8382_hpe_1920.dtsi Revert "realtek: remove support for HPE 1920 series" 2022-07-28 16:45:19 +02:00
rtl8382_inaba_aml2-17gp.dts realtek: add missing gpio0 pinctrl properties 2022-07-10 09:54:35 +02:00
rtl8382_iodata_bsh-g24mb.dts realtek: add support for I-O DATA BSH-G24MB 2022-03-07 21:44:53 +01:00
rtl8382_panasonic_m16eg-pn28160k.dts realtek: add support for Panasonic Switch-M16eG PN28160K 2022-08-06 14:39:57 +02:00
rtl8382_panasonic_m24eg-pn28240k.dts realtek: add support for Panasonic Switch-M24eG PN28240K 2022-08-06 14:39:57 +02:00
rtl8382_zyxel_gs1900-16.dts realtek: add support for ZyXEL GS1900-16 2022-05-07 17:23:45 +02:00
rtl8382_zyxel_gs1900-24-v1.dts realtek: add ZyXEL GS1900-24 v1 support 2022-03-13 19:24:13 +01:00
rtl8382_zyxel_gs1900-24e.dts realtek: add support for ZyXEL GS1900-24E 2022-06-06 10:30:50 +02:00
rtl8382_zyxel_gs1900-24hp-v1.dts realtek: add ZyXEL GS1900-24HP v1 support 2022-04-16 17:26:56 +02:00
rtl8382_zyxel_gs1900-24hp-v2.dts
rtl8393_panasonic_m48eg-pn28480k.dts realtek: add support for Panasonic Switch-M48eG PN28480K 2022-08-06 14:39:57 +02:00
rtl8393_zyxel_gs1900-48.dts realtek: ZyXEL GS1900-48: fix system LED polarity 2022-02-20 16:23:55 +00:00
rtl9302_zyxel_xgs1250-12.dts realtek: add system LED for ZyXEL XGS1250-12 2022-07-10 09:54:35 +02:00