immortalwrt/target/linux
Alexandru Gagniuc 01e2184c49 realtek: add support for TP-Link SG2210P
Add support for the TP-Link SG2210P switch. This is an RTL8380 based
switch with eight RJ-45 ports with 802.3af PoE, and two SFP ports.

This device shares the same board with the SG2008P and SG2008. To
model this, declare all the capabilities in the sg2xxx dtsi, and
disable unpopulated on the lower end models.

Specifications:
---------------
 - SoC:       Realtek RTL8380M
 - Flash:     32 MiB SPI flash (Vendor varies)
 - RAM:	      256 MiB (Vendor varies)
 - Ethernet:  8x 10/100/1000 Mbps with PoE (all ports)
              2x SFP ports
 - Buttons:   1x "Reset" button on front panel
 - Power:     53.5V DC barrel jack
 - UART:      1x serial header, unpopulated
 - PoE:       2x TI TPS23861 I2C PoE controller

Works:
------
  - (8) RJ-45 ethernet ports
  - (2) SFP ports (with caveats)
  - Switch functions
  - System LED

Not yet enabled:
----------------
  - Power-over-Ethernet (driver works, but doesn't enable "auto" mode)
  - PoE LEDs

Enabling SFP ports:
-------------------

The SFP port control lines are hardwired, except for tx-disable. These
lines are controller by the RTL8231 in shift register mode. There is
no driver support for this yet.

However, to enable the lasers on SFP1 and SFP2 respectively:

    echo 0x0510ff00 > /sys/kernel/debug/rtl838x/led/led_p_en_ctrl
    echo      0x140 > /sys/kernel/debug/rtl838x/led/led_sw_p_ctrl.26
    echo      0x140 > /sys/kernel/debug/rtl838x/led/led_sw_p_ctrl.24

Install via serial console/tftp:
--------------------------------

The footprints R27 (0201) and R28 (0402) are not populated. To enable
serial console, 50 ohm resistors should be soldered -- any value from
0 ohm to 50 ohm will work. R27 can be replaced by a solder bridge.

The u-boot firmware drops to a TP-Link specific "BOOTUTIL" shell at
38400 baud. There is no known way to exit out of this shell, and no
way to do anything useful.

Ideally, one would trick the bootloader into flashing the sysupgrade
image first. However, if the image exceeds 6MiB in size, it will not
work. The sysupgrade image can also be flashed. To install OpenWrt:

Prepare a tftp server with:
 1. server address: 192.168.0.146
 2. the image as: "uImage.img"

Power on device, and stop boot by pressing any key.
Once the shell is active:
 1. Ground out the CLK (pin 16) of the ROM (U7)
 2. Select option "3. Start"
 3. Bootloader notes that "The kernel has been damaged!"
 4. Release CLK as sson as bootloader thinks image is corrupted.
 5. Bootloader enters automatic recovery -- details printed on console
 6. Watch as the bootloader flashes and boots OpenWrt.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
[OpenWrt capitalisation in commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2022-09-13 09:22:26 +02:00
..
airoha airoha: Add new target platform 2022-09-05 11:12:32 +02:00
apm821xx kernel: bump 5.10 to 5.10.142 2022-09-11 01:30:11 +02:00
archs38 kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
armvirt kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
at91 kernel: bump 5.10 to 5.10.142 2022-09-11 01:30:11 +02:00
ath25 kernel: bump 5.10 to 5.10.137 2022-08-23 10:37:04 +02:00
ath79 ath79: Make patches apply again 2022-09-11 22:17:47 +02:00
bcm27xx kernel: fix build on bcm27xx target platform 2022-09-10 01:26:53 +01:00
bcm47xx kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
bcm53xx kernel: bump 5.10 to 5.10.142 2022-09-11 01:30:11 +02:00
bcm63xx kernel: bump 5.15 to 5.15.62 2022-08-23 10:37:04 +02:00
bcm4908 bcm4908: fix Asus GT-AX6000 image 2022-09-03 20:43:07 +02:00
bmips kernel: bump 5.15 to 5.15.67 2022-09-09 21:08:37 +01:00
gemini kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
generic kernel: add support for mtdsplit-fit offset 2022-09-12 01:43:49 +01:00
imx kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
ipq40xx ipq40xx: add GL-AP1300 label-mac-device 2022-09-11 16:24:11 +02:00
ipq806x kernel: bump 5.15 to 5.15.62 2022-08-23 10:37:04 +02:00
kirkwood kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
lantiq lantiq: xrx200: backport upstream network fixes 2022-09-11 01:30:11 +02:00
layerscape kernel: bump 5.10 to 5.10.137 2022-08-23 10:37:04 +02:00
malta kernel: Activate CONFIG_INPUT_MISC on all targets 2022-08-10 21:36:17 +02:00
mediatek mediatek: unset CONFIG_CMDLINE_OVERRIDE for all targets but mt7629 2022-09-12 14:10:26 +01:00
mpc85xx mpc85xx: Make AP3825i boot env partition writable 2022-09-11 01:30:11 +02:00
mvebu mvebu: PCI: aardvark: Implement workaround for PCIe Completion Timeout 2022-09-11 01:30:11 +02:00
mxs kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
octeon kernel: bump 5.15 to 5.15.63 2022-08-25 22:07:43 +02:00
octeontx kernel: bump 5.10 to 5.10.138 2022-08-25 20:23:59 +02:00
omap kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
oxnas oxnas: add testing support for Linux 5.15 2022-09-11 02:49:28 +01:00
pistachio kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
qoriq kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
ramips mac80211: rt2x00: experimental improvements for MT7620 wifi 2022-09-12 21:37:08 +01:00
realtek realtek: add support for TP-Link SG2210P 2022-09-13 09:22:26 +02:00
rockchip rockchip: add system-LED aliases specific to OpenWrt 2022-09-10 01:55:54 +02:00
sunxi kernel: bump 5.10 to 5.10.137 2022-08-23 10:37:04 +02:00
tegra kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
uml generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
x86 x86: setup netdev paths for MX100 2022-09-10 21:16:39 +02:00
zynq kernel: Activate CONFIG_GPIOLIB in generic configuration 2022-08-10 21:36:17 +02:00
Makefile