aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* kernel: disable wireless extensions only when neededFelix Fietkau2022-09-222-10/+10
| | | | | | They are only needed by a few very old drivers Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 5.15 to 5.15.69John Audia2022-09-228-172/+172
| | | | | | | | | | All patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.144John Audia2022-09-221-5/+5
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: Reorder kernel configurationHauke Mehrtens2022-09-221-3/+2
| | | | | | | | This was done by running this: ./scripts/kconfig.pl '+' target/linux/generic/config-5.15 /dev/null > target/linux/generic/config-5.15-new mv target/linux/generic/config-5.15-new target/linux/generic/config-5.15 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate CONFIG_DEFAULT_FQ_PIE by defaultHauke Mehrtens2022-09-222-0/+2
| | | | | | | | When building OpenWrt with CONFIG_ALL_KMODS the kernel build will ask for CONFIG_DEFAULT_FQ_PIE option. This deactivates it by default. Fixes: c3e4a0d99b97 ("kernel: netsupport: Add FQ-PIE as an optional sched kmod and extract PIE") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* x86/64: enable IOMMU supportNicola Corna2022-09-212-0/+38
| | | | | | | | | | | Enable IOMMU support for Intel and AMD x86 platforms. With this, when the vfio module is present, physical PCI devices can be passed to VMs, for example with `qemu-system-x86_64 -device vfio-pci,host=05:00.0 ...`. IOMMU support increases the kernel size by a small amount (~370KB, from 5239840 B to 5611200 B, a ~7% increase in size). Signed-off-by: Nicola Corna <nicola@corna.info>
* bcm4908: fix -EPROBE_DEFER support in bcm4908_enetRafał Miłecki2022-09-212-1/+58
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: update U-Boot NVMEM driverRafał Miłecki2022-09-206-0/+118
| | | | | | | 1. Fix casting 2. Support DT-defined variables Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport mtd parser for Broadcom's U-Boot partitionRafał Miłecki2022-09-202-0/+138
| | | | | | | Broadcom's U-Boot contains environment data blocks. They need to be found (offsets aren't predefined) to access env variables. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mediatek: fix Unifi 6LR network configStijn Tintel2022-09-201-2/+1
| | | | | | | | | | | | | | | | When the v1 and v2 variants of the U6LR were introduced, the board network config was not adapted to the new device names. Due to this, the wrong network config is applied during initial boot. The resulting config has lan, wan and a switch, while this device only has a single ethernet interface without a switch. Fix this by using a wildcard that matches all the variants. Fixes: 15a02471bb85 ("mediatek: new target mt7622-ubnt-unifi-6-lr-v1") Fixes: 5c8d3893a78f ("mediatek: new target ubnt_unifi-6-lr-v1-ubootmod") Fixes: 31d86a1a1192 ("mediatek: add Ubiquiti UniFi 6 LR v2 targets") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Daniel Golle <daniel@makrotopia.org>
* kernel: backport MTK ethernet/WLAN offload fixesFelix Fietkau2022-09-203-0/+122
| | | | | | Fixes issues with offloading to WED, especially with VLAN bridges involved Signed-off-by: Felix Fietkau <nbd@nbd.name>
* target/x86: add grub2-bios-setup to DEFAULT_PACKAGESFlorian Eckert2022-09-191-1/+4
| | | | | | | | | | | | | | | | | | With the commit 5876d6a62fc0ae5799e7d9c896356f75c99a6f0a the command under `/usr/sbin/grub-bios-setup` has been moved to its own package named `grub-bios-setup`. The script `81_upgrade_bootloader` under `/lib/preinit` is used by all x86 targets to update the bootloader. The script is using the command `grub-bios-setup` for this. I get the following output at the first boot after the upgrade. `/etc/preinit: line 9: /usr/sbin/grub-bios-setup: not found`. To fix this, the DEFAULT_PACKAGES dependency is extended by the entry `grub2-bios-setup` so that the missing command is installed again. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ipq40xx: fix power LED colour ID in Netgear WAC510 dtsAndrew Sim2022-09-191-1/+1
| | | | | | | led_power_green color ID in dts is mistakenly set to amber so correct it by setting it to green Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
* generic: 5.15: backport stmmac patches to change MTUChristian Marangi2022-09-195-0/+2702
| | | | | | Backport stmmac patches to change MTU while the interface is up. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.15: qca8k: backport code split patchChristian Marangi2022-09-1924-0/+17762
| | | | | | | Backport upstream code split patch for qca8k needed for ipq40xx target to correctly implement a DSA driver. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 5.15: qca8k: add kernel version tag on backport patchChristian Marangi2022-09-1937-6/+6
| | | | | | Add kernel tag that introduced the patch on backport patch. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* realtek: use upstream recommendation for secondary CPU startMarkus Stockhausen2022-09-182-26/+31
| | | | | | | | | | | Currently we fix interrupts/timers for the secondary CPU by patching vsmp_init_secondary(). Get a little bit more generic and use the upstream recommended way instead. Additionally avoid a check around register_cps_smp_ops() because it does that itself. See https://lkml.org/lkml/2022/9/12/522 Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* realtek: avoid wrong interrupt routingMarkus Stockhausen2022-09-181-0/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The interrupt controller depends on two control registers. GIMR enables or disables interrupts and IRRx routes these to MIPS CPU interrupts 2-7. Wiki currently states "A value of '0' (in IRRx) disconnects this input from the output line, independent of the line's setting in GIMR." Contrary to normal intuition this statement DOES NOT mean, that interrupts can be disabled by IRRx alone. The sad truth was discovered by enabling SMP for an Zyxel XGS1010 on the 930x target. It shows that driver and interrupts behave as follows: - Timer 0 interrupt 7 has active routing to CPU0 and no routing to CPU1 - Timer 1 interrupt 8 has no routing to CPU0 and active routing to CPU1 - Unmasking (enabling) interrupts writes 1 bits to all GIMR registers - Masking (disabling) interrupts writes 0 bits to both GIMR registers During operation we can encounter a situation like - GIMR bit for a interrupt/CPU combination is set to enabed (=1) - IRRx routing bits for a interrupt/CPU combination are set to disabed (=0) This setting already allows the hardware to fire interrupts to the target CPU/VPE if the other CPU/VPE is currently busy. Especially for CPU bound timer interrupts this is lethal. If timer interrupt 7 arrives at CPU1 and vice versa for interrupt 8 the restart trigger gets lost. The timer dies and a msleep() operation in the kernel will halt endlessly. Fix this by tracking the IRRx active routing setting in a new bitfield with 0="routing active" and 1="no routing". Enable interrupts in GIMR only for a interrupt & CPU if routing is active. Thus we have - GIMR = 0 / IRRx = 0 -> everything disabled - GIMR = 1 / IRRx > 0 -> active and normal routing - GIMR = 0 / IRRx > 0 -> masked (disabled) with normal routing - GIMR = 1 / IRRx = 0 -> no longer possible Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* ipq40xx: disable devices with 3MiB kernel sizeSungbo Eo2022-09-181-0/+3
| | | | | | | | | The image builds for Linksys EA6350 v3, EA8300, and MR8300 currently fail on buildbots due to the KERNEL_SIZE, as stated in commit 17b7756b5a20 ("ipq40xx: 5.15: add testing kernel version"). Disable these boards for now. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: mt7621-dts: change phy-mode of gmac1 to rgmiiArınç ÜNAL2022-09-181-1/+1
| | | | | | | Change phy-mode of gmac1 to rgmii on mt7621.dtsi. Same code path is followed for delayed rgmii and rgmii phy-mode on mtk_eth_soc.c. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: fix GB-PC1 and GB-PC2 LEDsArınç ÜNAL2022-09-183-17/+15
| | | | | | | | | | | | | | | Add the missing LEDs for GB-PC2. Some of these LEDs don't exist on the device schematics. Tests on a GB-PC2 by me and Petr proved otherwise. Remove ethblack-green and ethblue-green LEDs for GB-PC1. They are not wired to GPIO 3 or 4 and the wiring is currently unknown. Set ethyellow-orange to display link state and activity of the ethyellow interface for GB-PC2. Link: https://github.com/ngiger/GnuBee_Docs/blob/master/GB-PCx/Documents/GB-PC2_V1.1_schematic.pdf Tested-by: Petr Louda <petr.louda@outlook.cz> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* realtek: use Device prefix for common recipesSander Vanheule2022-09-183-13/+13
| | | | | | | | | | | The Build prefix is used for image build commands, while the Device prefix should be used for base recipes for devices. Apply the same naming convention here. While touching the file, also fix the mixed indentation. Suggested-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: move Netgear recipe to subtarget MakefileOlliver Schinagl2022-09-172-10/+10
| | | | | | | | | | There seems to be no reason to have the Netgear switches as part of the main Makefile. Move it to its subtarget-specific Makefile since it is only applicable there. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> [update commit message] Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: move hpe_1920 recipe to common.mkSander Vanheule2022-09-173-14/+14
| | | | | | | | | Currently supported HPE 1920 devices all have an RTL838x SoC, but there are larger switches with RTL839x SoCs, although currently not supported. Move the build recipe to common.mk so the larger devices can also make use of the recipe, while moving it out of the main Makefile. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: merge duplicated DGS-1210 recipesSander Vanheule2022-09-173-37/+29
| | | | | | | | | | | | The D-Link DGS-1210 device series currently has supported devices with both RTL838x and RTL839x SoCs. An image build recipe has been defined in both subtarget makefiles, but these are mostly identical, save for the SOC variable. Move the SOC variable from the DGS-1210 build recipes to the applicable devices, and put the remaining duplicate code in a shared Makefile. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: add support for DGS-1210-52Markus Stockhausen2022-09-173-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- * RTL8393M SoC, 1 MIPS 34Kc core @ 700MHz * 128MB DRAM * 32MB NOR Flash * 48 x 10/100/1000BASE-T ports - 6 x External PHY with 8 ports (RTL8218D) * 4 x Gigabit RJ45/SFP Combo ports - External PHY with 4 SFP ports (RTL8214FC) * Power LED * Reset button on front panel * UART (115200 8N1) via unpopulated standard 0.1" pin header marked J14 The gpio-restart node is not required but it does reset the switch. TODO: The 4 combo ports attached to the RTL8214FC are not detect properly. Linux kernel reports 49 and 50 as "External RTL8393 SERDES" and 51 and 52 as "RTL8218B (external)". Those ports only work if u-boot initialize it (for example, loading initramfs image using one of those ports). A patch to PHY detection is needed for full support. The firmware recovery using U-Boot is broken for all DGS-1210 tested devices as pressing RESET does not trigger it (only if pressed from a running stock image) UART pinout ----------- [o]ooo|J14 | ||`------ GND | |`------- RX | `-------- TX `---------- Vcc (3V3) Installation using OEM upgrade ------------------------------ 1. Make sure you are running OEM firmware in image2 slot (logged as admin): - > config firmware image_id 2 boot_up - > reboot 2. Install squashfs-factory_image1.bin to image1 using (logged as admin): - > download firmware_fromTFTP <tftpserver> factory_image1.bin - > config firmware image_id 1 boot_up - > reboot Installation using serial interface ----------------------------------- 1. Press Escape key during `Hit Esc key to stop autoboot` prompt 2. Press CTRL+C keys to get into real U-Boot prompt 3. Init network with `rtk network on` command 4. Load image with `tftpboot 0x8f000000 openwrt-realtek-rtl839x-d-link_dgs-1210-52-initramfs-kernel.bin` command 5. Boot the image with `bootm` command Once booted the initramfs, install the squashfs-sysupgrade.bin as a normal OpenWrt system. Dual-boot with stock firmware using writable u-boot-env ------------------------------------------------------- From stock to OpenWrt / boot image 1 (CLI as admin): - > config firmware image_id 1 boot_up - > reboot From OpenWrt to stock / boot image 2: (shell as root) - # fw_setenv bootcmd 'run addargs ; bootm 0xb4e80000' - # fw_setenv image '/dev/mtdblock7' - # reboot Debrick using serial interface ------------------------------ 1. Press Escape key during `Hit Esc key to stop autoboot` prompt 2. In a Windows PC, run 'D-Link Network Assistant v2.0.2.4'. It should detect the switch 3. Flash the firmware. Back to stock firmware using dual-boot -------------------------------------- If you have serial interface, you can change u-boot env vars interrupting the boot process. If not but you are running OpenWrt, you can dual-boot (as mentioned eariler) and skip to step 4: 1. Press Escape key during `Hit Esc key to stop autoboot` prompt 2. Press CTRL+C keys to get into real U-Boot prompt 3. Boot the image 2: - set image /dev/mtdblock7; run addargs; bootm 0xb4e80000 4. Once booted, log as admin and change the boot image to 2 - > config firmware image_id 2 boot_up - > reboot 5. After the boot, flash image1 with the vendor image Back to stock firmware using DNA -------------------------------- 1. From an OpenWrt: - # fw_setenv bootstop on - # reboot 2. In a Windows PC, run 'D-Link Network Assistant v2.0.2.4'. It should detect the switch 3. Flash the firmware. It has been developed and tested on device with F3 revision. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* realtek: align DT macros in RTL839X with RTL838XMarkus Stockhausen2022-09-171-0/+7
| | | | | | Add a missing definition to the RTL839X DT. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* realtek: D-Link make common DT include genericMarkus Stockhausen2022-09-176-7/+10
| | | | | | | | | | | | | | | | | | | | The D-Link DGS device tree was reorganized to better reflect the common DT parts. The common include is named SOC specific (838X) and it seemed like a good choice to add another common include in the future for the RTL839X devices. From the current point of view this option is not really needed. 1. The common part only includes data that matches RTL839X devices too. 2. The Panasonic DT structure avoids including the basic DTSI inside the common DTSI. Taking simplicity of the Panasonic include logic and in perparation to provide DGS-1210-52 support it makes sense to harmonize this. - rename common include to reflect its content - move the link to the root DTSI directly to the device specific DTS Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* ramips: 5.15: add disabled PINCTRL_AW9523Sungbo Eo2022-09-185-0/+5
| | | | | | | | | | | | | | Otherwise kernel 5.15 will fail to build on subtargets except for mt7621 that has enabled the config. The disabled PINCTRL_AW9523 config disappears after a refresh, it needs to be added back manually. Fixes: 675cf7557829 ("ramips: add config-5.15 for mt7620 subtarget") Fixes: 001176994a58 ("ramips: add config-5.15 for mt76x8 subtarget") Fixes: b9d9f33c330e ("ramips: add config-5.15 for rt288x subtarget") Fixes: 0164dc0c2563 ("ramips: add config-5.15 for rt305x subtarget") Fixes: ef59da866982 ("ramips: add config-5.15 for rt3883 subtarget") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: 5.15: refresh subtarget kconfigsSungbo Eo2022-09-182-12/+3
| | | | | | Refresh config with `make kernel_oldconfig`. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: specify factory.bin recipe for ASUS RP-AC51Sungbo Eo2022-09-181-0/+2
| | | | | | | | | Currently factory.bin image recipe of ASUS RP-AC51 is not specified explicitly and is thus set to the leaked one from the device recipe right above, i.e. ASUS PL-AC56. Fix it to avoid potential breakage. Fixes: 416d4483e878 ("ath79: add support for ASUS RP-AC51") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ltq-vdsl-app: rename to ltq-vdsl-vr9-appAndre Heider2022-09-171-1/+1
| | | | | | | This matches the scheme used by other target packages and will avoid confusion with any future version. Signed-off-by: Andre Heider <a.heider@gmail.com>
* kernel: bump 5.10 to 5.10.143John Audia2022-09-175-9/+9
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.68John Audia2022-09-1719-134/+87
| | | | | | | | | | All patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: mhi: backport upstream patchKoen Vandeputte2022-09-161-0/+37
| | | | | | | | | | | | | This patch will print the name of the modem in the bootlog during probing. This allows to verify that the exact model was loaded and not some generic type. The only other way to do this is by enabling dynamic debugging which is disabled by default in OpenWRT Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* mediatek: build USB XHCI support as moduleDaniel Golle2022-09-143-13/+0
| | | | | | | | Instead of always including the XHCI driver in the kernel on all MediaTek boards, selectively include the kernel module only on boards which actually make use of USB functionality. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* realtek: rtl838x: Fix ethernet polling timeout on probeOlliver Schinagl2022-09-141-1/+2
| | | | | | | | | | Due to an oversight we accidentally inverted the timeout check. This patch corrects this. Fixes: 9cec4a0ea45b ("realtek: Use built-in functionality for timeout loop") Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> [ wrap poll_timeout line to 80 char ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* armvirt: make 5.15 kernel defaultPetr Štetiar2022-09-141-2/+1
| | | | | | In order to begin testing of upcoming kernel. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* malta: make 5.15 kernel defaultPetr Štetiar2022-09-141-2/+1
| | | | | | In order to begin testing of upcoming kernel. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mpc85xx: Add 5.15 kernel as testing and fix configsWojciech Dubowik2022-09-144-0/+6
| | | | | | | | | Build system: x86_64 Build-tested: generic Run-tested: generic/TL-WDR4900 v1 board from TP-Link Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@westermo.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> [un-dmarc]
* mpc85xx: Copy over kernel 5.10 patches and config to 5.15Wojciech Dubowik2022-09-1412-0/+831
| | | | | | | Split patches for better change visibility. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@westermo.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> [un-dmarc, commit description]
* tegra: add kernel 5.15 supportTomasz Maciej Nowak2022-09-142-20/+43
| | | | | | | | - refresh config - disable suspend as it's pointless in the sope of OpenWrt - enable CPU frequency scaling Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* tegra: copy patches and config for kernel 5.15Tomasz Maciej Nowak2022-09-143-0/+607
| | | | | | Simple copy to better illustrate the forthcoming changes. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* bcm53xx: update NVMEM driver for NVRAMRafał Miłecki2022-09-148-10/+460
| | | | | | Include support for NVMEM cells. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* realtek: Use built-in functionality for timeout loopOlliver Schinagl2022-09-141-12/+7
| | | | | | | | | | In commit 81e3017609be ("realtek: clean up rtl838x MDIO busy wait loop") a hand-crafted loop was created, that nearly exactly replicate the iopoll's `read_poll_timeout` functionality. Use that instead. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* mt7621: fix Linksys E7350 GPIORosen Penev2022-09-131-0/+7
| | | | | | | | | When converting this device to use both GMACs, I mistakenly removed state_default, which prevented GPIO LEDs and keys from being used. Fixes: f4eef5f2a184 ("ramips: add support for Linksys E7350") Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mt7621: fix Belkin RT1800 GPIORosen Penev2022-09-131-0/+19
| | | | | | | | | | | | | When converting this device to use both GMACs, I mistakenly removed state_default, which prevented GPIO LEDs and keys from being used. Add back and and extra LEDs that were missing. Tested all LEDs by turning them on. Fixes: 26a6a6a60ba7 ("ramips: add support for Belkin RT1800") Signed-off-by: Rosen Penev <rosenp@gmail.com>
* realtek: add support for TP-Link SG2210PAlexandru Gagniuc2022-09-136-2/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* realtek: rtl8380-tl-sg2xxx: use a single "firmware" partitionAlexandru Gagniuc2022-09-131-25/+4
| | | | | | | | | The "firmware" partition was assembled from two contiguous partitions. This complexity is unnecessary. Instead of using mtd-concat over "sys" and "usrimg1", simply declare the "firmware" partition to cover the flash space instead. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
* realtek: tl-sg2xxx: read MAC address from nvmem-cellsAlexandru Gagniuc2022-09-133-1/+23
| | | | | | | | | | | | | The TP-Link RTL83xx based switches have their MAC address programmed in the "para" partition. While in theory, the format of this partition is dynamic, in practice, the MAC address appears to be located at a consistent address. Thus, use nvmem-cells to read this MAC address. The main MAC is required for deriving the MAC address of the switch ports. Instead of reading it via mtd_get_mac_binary(), alias the ethernet0 node as the label-mac-device, and use get_mac_label(). Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>