rtl838x: add new architecture
authorBirger Koblitz <git@birger-koblitz.de>
Sun, 13 Sep 2020 07:06:13 +0000 (09:06 +0200)
committerJohn Crispin <john@phrozen.org>
Mon, 14 Sep 2020 05:54:30 +0000 (07:54 +0200)
commitdf8e6be59a1fbce3f8c6878fe7440a129b1245d6
treef7dc2da525ff9ef48b5609e96484c759a5b38e6f
parent7bb1bd469e98ba4bfd0cf774a82c35039c9b721a
rtl838x: add new architecture

This adds support for the RTL838x Architecture.
SoCs of this type are used in managed and un-managed Switches and Routers
with 8-28 ports. Drivers are provided for SoC initialization, GPIOs, Flash,
Ethernet including a DSA switch driver and internal and external PHYs used
with these switches.

Supported SoCs:

RTL8380M
RTL8381M
RTL8382M

The kernel will also boot on the following RTL839x SoCs, however driver
support apart from spi-nor is missing:

RTL8390
RTL8391
RTL8393

The following PHYs are supported:

RTL8214FC (Quad QSGMII multiplexing GMAC and SFP port)
RTL8218B internal: internal PHY of the RTL838x chips
RTL8318b external (QSGMII 8-port GMAC phy)
RTL8382M SerDes for 2 SFP ports
Initialization sequences for the PHYs are provided in the form of
firmware files.

Flash driver supports 3 / 4 byte access

DSA switch driver supports VLANs, port isolation, STP and port mirroring.

The ALLNET ALL-SG8208M is supported as Proof of Concept:

RTL8382M SoC
1 MIPS 4KEc core @ 500MHz
8 Internal PHYs (RTL8218B)
128MB DRAM (Nanya NT5TU128MB)
16MB NOR Flash (MXIC 25L128)
8 GBEthernet ports with one green status LED each (SoC controlled)
1 Power LED (not configurable)
1 SYS LED (configurable)
1 On-Off switch (not configurable)
1 Reset button at the right behind right air-vent (not configurable)
1 Reset button on front panel (configurable)
12V 1A barrel connector
1 serial header with populated standard pin connector and with markings
  GND TX RX Vcc(3.3V), connection properties: 115200 8N1

To install, upload the sysupgrade image to the OEM webpage.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
39 files changed:
target/linux/rtl838x/Makefile [new file with mode: 0644]
target/linux/rtl838x/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/rtl838x/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/rtl838x/base-files/etc/inittab [new file with mode: 0644]
target/linux/rtl838x/base-files/lib/firmware/rtl838x_phy/rtl838x_8214fc.fw [new file with mode: 0644]
target/linux/rtl838x/base-files/lib/firmware/rtl838x_phy/rtl838x_8218b.fw [new file with mode: 0644]
target/linux/rtl838x/base-files/lib/firmware/rtl838x_phy/rtl838x_8380.fw [new file with mode: 0644]
target/linux/rtl838x/base-files/lib/upgrade/platform.sh [new file with mode: 0644]
target/linux/rtl838x/config-5.4 [new file with mode: 0644]
target/linux/rtl838x/dts/rtl8382_allnet_all-sg8208m.dts [new file with mode: 0644]
target/linux/rtl838x/dts/rtl838x.dtsi [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/include/asm/mach-rtl838x/ioremap.h [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/include/asm/mach-rtl838x/irq.h [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/include/asm/mach-rtl838x/mach-rtl838x.h [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/Makefile [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/Platform [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/irq.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/prom.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/serial.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/arch/mips/rtl838x/setup.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/gpio/gpio-rtl838x.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/mtd/spi-nor/rtl838x-nor.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/mtd/spi-nor/rtl838x-spi.h [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/net/dsa/rtl838x.h [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/net/dsa/rtl838x_phy.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/net/dsa/rtl838x_sw.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/net/ethernet/rtl838x_eth.c [new file with mode: 0644]
target/linux/rtl838x/files-5.4/drivers/net/ethernet/rtl838x_eth.h [new file with mode: 0644]
target/linux/rtl838x/image/Makefile [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/300-mips-add-rtl838x-platform.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/301-gpio-add-rtl838x-driver.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/400-mtd-add-rtl838x-spi-flash-driver.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/700-net-dsa-add-support-for-rtl838x-switch.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/701-net-dsa-add-rtl838x-support-for-tag-trailer.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/702-net-dsa-increase-dsa-max-ports-for-rtl838x.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/702-net-ethernet-add-support-for-rtl838x-ethernet.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/703-include-linux-add-phy-ops-for-rtl838x.patch [new file with mode: 0644]
target/linux/rtl838x/patches-5.4/704-drivers-net-phy-eee-support-for-rtl838x.patch [new file with mode: 0644]
target/linux/rtl838x/profiles/00-default.mk [new file with mode: 0644]