openwrt/package/boot
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
..
arm-trusted-firmware-bcm63xx trusted-firmware-a.mk: pass DTC path similar to u-boot.mk 2022-08-28 19:01:55 +01:00
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: update to sources of 2022-08-31 2022-08-31 21:10:39 +01:00
arm-trusted-firmware-mvebu trusted-firmware-a.mk: pass DTC path similar to u-boot.mk 2022-08-28 19:01:55 +01:00
arm-trusted-firmware-rockchip atf-rockchip: update to 2.3 2020-07-28 15:52:44 +02:00
arm-trusted-firmware-sunxi trusted-firmware-a.mk: pass DTC path similar to u-boot.mk 2022-08-28 19:01:55 +01:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: update to v2.7 2022-09-07 04:22:40 +01:00
at91bootstrap at91bootstrap: use sdmmc0 as booting media for sama5d27_som1_ek 2022-09-02 20:43:51 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: add missing license 2022-04-04 18:15:02 +02:00
imx-bootlets imx-bootlets: refresh patches 2021-02-24 16:15:02 +01:00
kexec-tools kexec-tools: add kdump scripts util 2022-06-25 10:14:18 +02:00
kobs-ng kobs-ng: update dependencies after 'imx6' -> 'imx' rename 2021-11-03 12:45:40 +01:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
tfa-layerscape layerscape: update remaining PKG_HASH / PKG_MIRROR_HASH 2022-07-22 22:03:27 +02:00
uboot-at91 uboot-at91: use sdmmc0 as booting media for sama5d27_som1_ek 2022-09-02 20:43:51 +02:00
uboot-bcm4908 uboot-bcm4908: include SoC in output files 2022-07-25 18:13:12 +02:00
uboot-envtools realtek: add support for TP-Link SG2210P 2022-09-13 09:22:26 +02:00
uboot-fritz4040 uboot-fritz4040: Add support for Toshiba NAND 2022-05-14 11:08:45 +02:00
uboot-imx uboot-imx: pico-pi-imx7d: fix wrong make flags overriding 2022-07-12 09:25:43 +02:00
uboot-kirkwood uboot-kirkwood: refresh patches 2021-06-06 19:06:29 +02:00
uboot-lantiq uboot-lantiq: danube: fix hanging lzma kernel uncompression #2 2021-11-27 21:49:10 +01:00
uboot-layerscape uboot-layerscape: update PKG_HASH 2022-07-17 14:14:54 +02:00
uboot-mediatek uboot-mediatek: fix extraneous right parens 2022-09-13 09:14:09 +02:00
uboot-mvebu uboot-mvebu: update to v2022.07 2022-07-31 18:53:23 +02:00
uboot-mxs u-boot.mk: always link host libraries static 2021-10-24 18:00:49 +02:00
uboot-omap uboot-omap: Remove omap3_overo configuration 2021-11-28 22:26:27 +01:00
uboot-oxnas treewide: use AUTORELEASE on all uboot-* packages 2021-10-02 21:26:12 +02:00
uboot-rockchip uboot-rockchip: drop CONFIG_IDENT_STRING 2022-06-19 12:31:02 +02:00
uboot-sunxi uboot-sunxi: add support for FriendlyARM NanoPi R1S H5 2021-10-30 21:17:20 +02:00
uboot-tegra treewide: use AUTORELEASE on all uboot-* packages 2021-10-02 21:26:12 +02:00
uboot-zynq u-boot.mk: always link host libraries static 2021-10-24 18:00:49 +02:00