aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* realtek: Fix VLAN issues introduced by multicast patchesBirger Koblitz2021-05-093-5/+5
| | | | | | | | | | This adds the CPU port to the unknown multicast flooding port mask, which fixes the VLAN issues introduced by the multicast group patches Tested-by: Russell Senior <russell@personaltelco.net> [Netgear GS108Tv3] Signed-off-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Bjørn Mork <bjorn@mork.no> [whitespace fix] Signed-off-by: Petr Štetiar <ynezz@true.cz> [unknwon typo fix]
* kernel: bump 5.10 to 5.10.35Kevin Darbyshire-Bryant2021-05-0915-98/+46
| | | | | | | | | | Refresh kernel patches. Built under MacOS Run tested: x86_64 (apu2) Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 5.10 to 5.10.34Kevin Darbyshire-Bryant2021-05-091-2/+2
| | | | | | Nothing required refreshing, simplest kernel bump you've ever seen. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: mt7621: Add support for ZyXEL NR7101Bjørn Mork2021-05-097-0/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL NR7101 is an 802.3at PoE powered 5G outdoor (IP68) CPE with integrated directional 5G/LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7603E - Switch: 1 LAN port (Gigabiti) - 5G/LTE: Quectel RG502Q-EA connected by USB3 to SoC - SIM: 2 micro-SIM slots under transparent cover - Buttons: Reset, WLAN under same cover - LEDs: Multicolour green/red/yellow under same cover (visible) - Power: 802.3at PoE via LAN port The device is built as an outdoor ethernet to 5G/LTE bridge or router. The Wifi interface is intended for installation and/or temporary management purposes only. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] RX [o] TX [o] 3.3V Vcc Remove the SIM/button/LED cover, the WLAN button and 12 screws holding the back plate and antenna cover together. The GPS antenna is fixed to the cover, so be careful with the cable. Remove 4 screws fixing the antenna board to the main board, again being careful with the cables. A bluetooth TTL adapter is recommended for permanent console access, to keep the router water and dustproof. The 3.3V pin is able to power such an adapter. MAC addresses: OpenWrt OEM Address Found as lan eth2 08:26:97:*:*:BC Factory 0xe000 (hex), label wlan0 ra0 08:26:97:*:*:BD Factory 0x4 (hex) wwan0 usb0 random WARNING!! ISP managed firmware might at any time update itself to a version where all known workarounds have been disabled. Never boot an ISP managed firmware with a SIM in any of the slots if you intend to use the router with OpenWrt. The bootloader lock can only be disabled with root access to running firmware. The flash chip is physically inaccessible without soldering. Installation from OEM web GUI: - Log in as "supervisor" on https://172.17.1.1/ - Upload OpenWrt initramfs-recovery.bin image on the Maintenance -> Firmware page - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - (optional) Copy OpenWrt to the recovery partition. See below - Sysupgrade to the OpenWrt sysupgrade image and reboot Installation from OEM ssh: - Log in as "root" on 172.17.1.1 port 22022 - scp OpenWrt initramfs-recovery.bin image to 172.17.1.1:/tmp - Prepare bootloader config by running: nvram setro uboot DebugFlag 0x1 nvram setro uboot CheckBypass 0 nvram commit - Run "mtd_write -w write initramfs-recovery.bin Kernel" and reboot - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - (optional) Copy OpenWrt to the recovery partition. See below - Sysupgrade to the OpenWrt sysupgrade image and reboot Copying OpenWrt to the recovery partition: - Verify that you are running a working OpenWrt recovery image from flash - ssh to root@192.168.1.1 and run: fw_setenv CheckBypass 0 mtd -r erase Kernel2 - Wait while the bootloader mirrors Image1 to Image2 NOTE: This should only be done after successfully booting the OpenWrt recovery image from the primary partition during installation. Do not do this after having sysupgraded OpenWrt! Reinstalling the recovery image on normal upgrades is not required or recommended. Installation from Z-Loader: - Halt boot by pressing Escape on console - Set up a tftp server to serve the OpenWrt initramfs-recovery.bin image at 10.10.10.3 - Type "ATNR 1,initramfs-recovery.bin" at the "ZLB>" prompt - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - Sysupgrade to the OpenWrt sysupgrade image NOTE: ATNR will write the recovery image to both primary and recovery partitions in one go. Booting from RAM: - Halt boot by pressing Escape on console - Type "ATGU" at the "ZLB>" prompt to enter the U-Boot menu - Press "4" to select "4: Entr boot command line interface." - Set up a tftp server to serve the OpenWrt initramfs-recovery.bin image at 10.10.10.3 - Load it using "tftpboot 0x88000000 initramfs-recovery.bin" - Boot with "bootm 0x8800017C" to skip the 380 (0x17C) bytes ZyXEL header This method can also be used to RAM boot OEM firmware. The warning regarding OEM applies! Never boot an unknown OEM firmware, or any OEM firmware with a SIM in any slot. NOTE: U-Boot configuration is incomplete (on some devices?). You may have to configure a working mac address before running tftp using "setenv eth0addr <mac>" Unlocking the bootloader: If you are unebale to halt boot, then the bootloader is locked. The OEM firmware locks the bootloader on every boot by setting DebugFlag to 0. Setting it to 1 is therefore only temporary when OEM firmware is installed. - Run "nvram setro uboot DebugFlag 0x1; nvram commit" in OEM firmware - Run "fw_setenv DebugFlag 0x1" in OpenWrt NOTE: OpenWrt does this automatically on first boot if necessary NOTE2: Setting the flag to 0x1 avoids the reset to 0 in known OEM versions, but this might change. WARNING: Writing anything to flash while the bootloader is locked is considered extremely risky. Errors might cause a permanent brick! Enabling management access from LAN: Temporary workaround to allow installing OpenWrt if OEM firmware has disabled LAN management: - Connect to console - Log in as "root" - Run "iptables -I INPUT -i br0 -j ACCEPT" Notes on the OEM/bootloader dual partition scheme The dual partition scheme on this device uses Image2 as a recovery image only. The device will always boot from Image1, but the bootloader might copy Image2 to Image1 under specific conditions. This scheme prevents repurposing of the space occupied by Image2 in any useful way. Validation of primary and recovery images is controlled by the variables CheckBypass, Image1Stable, and Image1Try. The bootloader sets CheckBypass to 0 and reboots if Image1 fails validation. If CheckBypass is 0 and Image1 is invalid then Image2 is copied to Image1. If CheckBypass is 0 and Image2 is invalid, then Image1 is copied to Image2. If CheckBypass is 1 then all tests are skipped and Image1 is booted unconditionally. CheckBypass is set to 1 after each successful validation of Image1. Image1Try is incremented if Image1Stable is 0, and Image2 is copied to Image1 if Image1Try is 3 or larger. But the bootloader only tests Image1Try if CheckBypass is 0, which is impossible unless the booted image sets it to 0 before failing. The system is therefore not resilient against runtime errors like failure to mount the rootfs, unless the kernel image sets CheckBypass to 0 before failing. This is not yet implemented in OpenWrt. Setting Image1Stable to 1 prevents the bootloader from updating Image1Try on every boot, saving unnecessary writes to the environment partition. Keeping an OpenWrt initramfs recovery as Image2 is recommended primarily to avoid unwanted OEM firmware boots on failure. Ref the warning above. It enables console-less recovery in case of some failures to boot from Image1. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* firmware-utils: zytrx: Add util for ZyXEL specific headerBjørn Mork2021-05-092-0/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL NR7101 prepend an additional header to U-Boot images. This header use the TRX magic 0x30524448 (HDR0), but is incompatible with TRX images. This code is reverse-engineered based on matching 32 bit numbers found in the header with lengths and different checksum calculations of the vendor images found on the device. The result was matched against the validation output produced by the bootloader to name the associated header fields. Example bootloader validation output: Zyxel TRX Image 1 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14177560) kernelChksum : (0x8DD31F69) swVersionInt : 1.00(ABUV.0)D1 swVersionExt : 1.00(ABUV.0)D1 Zyxel TRX Image 2 --> Found! Header Checksum OK ============ZyXEL header information================== chipId : MT7621A boardId : NR7101 modelId : 07 01 00 01 kernel_len : (14176660) kernelChksum : (0x951A7637) swVersionInt : 1.00(ABUV.0)D0 swVersionExt : 1.00(ABUV.0)D0 ================================================= Check image validation: Image1 Header Magic Number --> OK Image2 Header Magic Number --> OK Image1 Header Checksum --> OK Image2 Header Checksum --> OK Image1 Data Checksum --> OK Image2 Data Checksum --> OK Image1 Stable Flag --> Stable Image1 Try Counter --> 0 Image1: OK Image2: OK The coverage and algorithm for the kernelChksum field is unknown. This field is not validated by the bootloader or the OEM firmware upgrade tool. It is therefore set to a static value for now. The swVersion fields contain free form string values. The OEM firmware use ZyXEL structured version numbers as shown above. The strings are not interpreted or validated on boot, so they can be repurposed for anything we want the bootloader to display to the user. But the OEM web GUI fails to flash images with freeform strings. The purpose of the other strings in the header is not known. The values appear to be static. We assume they are fixed for now, until we have other examples. One of these strings is the platform name, which is taken as an input parameter for support other members of the device family. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* treewide: consolidate named GPIO patch into hack-5.10Ilya Lipnitskiy2021-05-093-337/+0
| | | | | | | | | ath79, lantiq, ipq40xx, ramips all use the OpenWrt-specific gpio-export functionality. Consolidate the patch that adds it under hack-5.10 since this logic is obviously not target-specific. For those who want to disable it, unsetting CONFIG_GPIO_SYSFS symbol will disable this code. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
* ipq806x: Bring missing patches from 5.4 to 5.10Mark Mentovai2021-05-092-0/+119
| | | | | | | | | | | | | | Kernel 5.10 support for ipq806x was added at the same time that these patches were developed for kernel 5.4. This carries the patches forward to kernel 5.10. fa731838c524 ipq806x: dwmac: clear forced speed during probe 75ca641f1b84 ipq806x: Add "snps,dwmac" to all gmac compatible= d62825dd77b3 ipq806x: dwmac: set forced speed when using fixed-link Signed-off-by: Mark Mentovai <mark@moxienet.com> Run-tested: ipq806x/ubnt,unifi-ac-hd Cc: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: Add mising devices to kernel 5.10Mark Mentovai2021-05-091-1/+6
| | | | | | | | | | | | | | d53be2a2e981 migrated 0069-arm-boot-add-dts-files.patch from patches-5.4 to patches-5.10, but a subsequent patch in that set, 1e25423be8ac, erroneously removed several devices: ipq8062/nec,wg2600hp3 from 3bb16185737c ipq8064/asrock,g10 from 98b86296e67d ipq8064/ubnt,unifi-ac-hd from 4e46beb31342 Signed-off-by: Mark Mentovai <mark@moxienet.com> Run-tested: ipq806x/ubnt,unifi-ac-hd Cc: Ansuel Smith <ansuelsmth@gmail.com>
* kernel: bump 5.4 to 5.4.117John Audia2021-05-094-32/+12
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* mediatek: reserve memory for ramoops and enable PSTOREDaniel Golle2021-05-086-13/+65
| | | | | | | Reserve 64KiB of memory for crashlogs and enable PSTORE feature in kernel config for MT7622. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediaktek: add support for PSTORE and check it on bootDaniel Golle2021-05-085-15/+131
| | | | | | | | Add support for pstore/ramoops now that DRAM content is preserved over reboot on MT7622. On each boot, check pstore and boot to recovery image in case there are records stored in it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: update to git HEADDaniel Golle2021-05-081-3/+3
| | | | | | | Most notably this enabled use of pstore/ramoops on MT7622 as DRAM content is now preserved over reboot. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq806x: ecw5410: case-insensitive qcom-smem partitionsStefan Lippers-Hollmann2021-05-082-4/+20
| | | | | | | | The out-of-tree qcom-smem patches traditionally displayed mtd partition names in upper case, starting with the new mainline qcom-smem support in kernel v5.10, it switches to normalizing the partition names to lower case. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: g10: case-insensitive qcom-smem partitionsStefan Lippers-Hollmann2021-05-082-3/+15
| | | | | | | | The out-of-tree qcom-smem patches traditionally displayed mtd partition names in upper case, starting with the new mainline qcom-smem support in kernel v5.10, it switches to normalizing the partition names to lower case. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: nbg6817: case-insensitive qcom-smem partitionsStefan Lippers-Hollmann2021-05-083-6/+24
| | | | | | | | The out-of-tree qcom-smem patches traditionally displayed mtd partition names in upper case, starting with the new mainline qcom-smem support in kernel v5.10, it switches to normalizing the partition names to lower case. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: dwmac: fix GMACs connected via SGMII fixed-linkMark Mentovai2021-05-081-6/+56
| | | | | | | | | | | | | | | | | | | | | | fa731838c524 cleared the forced speed in the QSGMII PCS_ALL_CH_CTL register during probe, but this is only correct for GMACs that are not configured with fixed-link. This prevented GMACs configured with both phy-mode = "sgmii" and fixed-link from working properly, as discussed at https://github.com/openwrt/openwrt/pull/3954#issuecomment-834625090 and the comments that follow. Notably, this prevented all communication between gmac2 and the switch on the Netgear R7800. The correct behavior is to set the QSGMII PCS_ALL_CH_CTL register by considering the gmac's fixed-link child, setting the speed as directed by fixed-link if present, and otherwise clearing it as was done previously. Fixes: fa731838c524 ("ipq806x: dwmac: clear forced speed during probe") Signed-off-by: Mark Mentovai <mark@moxienet.com> Tested-by: Hannu Nyman <hannu.nyman@iki.fi> Run-tested: ipq806x/ubnt,unifi-ac-hd, ipq806x/netgear,r7800 Cc: Petr Štetiar <ynezz@true.cz> Cc: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Ansuel Smith <ansuelsmth@gmail.com>
* Extend checks on build prerequisites for building OpenWRT coreBas Mevissen2021-05-081-1/+12
| | | | | | | | | | | | | OpenWRT requires a number of Perl modules to be installed. It wasn't checking on all of them. This patch adds checks for Perl FindBin, File::Copy, File::Compare and Thread::Queue modules. Failing to install these, will have the build break at some point. By adding these to the prereq-build.mk script, they are checked on forehand. Tested on a Fedora 33 and 34 (beta) that was freshly installed. Fedora appears to break up Perl modules into small packages that need to be installed for the build to succeed. Signed-off-by: Bas Mevissen <abuse@basmevissen.nl>
* uqmi: fix network registration loopThomas Richard2021-05-082-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With some debug in qmi.sh using following patch, some errors are visible in the registration step @@ -29,6 +29,7 @@ proto_qmi_init_config() { } proto_qmi_setup() { + set -x local interface="$1" local dataformat connstat plmn_mode mcc mnc local device apn auth username password pincode delay modes pdptype @@ -224,6 +225,8 @@ proto_qmi_setup() { fi done + registration=$(uqmi -s -d "$device" --get-serving-system) + [ -n "$modes" ] && uqmi -s -d "$device" --set-network-modes "$modes" > /dev/null 2>&1 echo "Starting network $interface" During the boot of the system, modem could not start automatically its network registration. netifd: wan (9235): + echo 'Waiting for network registration' netifd: wan (9235): Waiting for network registration netifd: wan (9235): + local 'registration_timeout=0' netifd: wan (9235): + uqmi -s -d /dev/cdc-wdm1 --get-serving-system netifd: wan (9235): + grep '"searching"' netifd: wan (9235): + uqmi -s -d /dev/cdc-wdm1 --get-serving-system netifd: wan (9235): + registration='{"registration":"not_registered","plmn_mcc":208,"plmn_mnc":20,"plmn_description":"","roaming":true}' netifd: wan (9235): + '[' -n ] netifd: wan (9235): + echo 'Starting network wan' As the while loop checks only "searching" pattern, uqmi.sh script quits searching loop and continues whereas the modem is not registered Other issue, after X seconds modem stops searching. netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system netifd: wan (9213): + grep '"searching"' netifd: wan (9213): + '[' -e /dev/cdc-wdm0 ] netifd: wan (9213): + '[' 3 -lt 0 -o 0 '=' 0 ] netifd: wan (9213): + let registration_timeout++ netifd: wan (9213): + sleep 1 netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system netifd: wan (9213): + grep '"searching"' netifd: wan (9213): + uqmi -s -d /dev/cdc-wdm0 --get-serving-system netifd: wan (9213): + registration='{"registration":"not_registered"}' netifd: wan (9213): + '[' -n ] netifd: wan (9213): + echo 'Starting network wan' netifd: wan (9213): Starting network wan If registration_timeout is not expired, registration can be restarted Signed-off-by: Thomas Richard <thomas.richard@kontron.com> Tested-by: Florian Eckert <fe@dev.tdt.de>
* ipq40xx: fix hard_config partition size on MikroTik hAP-ac2Baptiste Jonglez2021-05-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The routerbootparts driver dynamically discovers the location of MikroTik partitions, but it cannot determine their size (except by extending them up to the start of the next discovered partition). The hard_config partition has a default size of 0x1000 in the driver, while it actually takes 0x2000 on the hAP-ac2. Set the correct size in the hAP-ac2 DTS. On most devices, this isn't a problem as the actual data fits in 0x1000 bytes. However, some devices have larger data that doesn't fit in 0x1000 bytes. In any case, all devices seen so far have enough space for a 0x2000 hard_config partition before the start of the dtb_config partition. With the current 0x1000 size: 0x00000000e000-0x00000000f000 : "hard_config" 0x000000010000-0x000000017bbc : "dtb_config" With this patch extending the size to 0x2000: 0x00000000e000-0x000000010000 : "hard_config" 0x000000010000-0x000000017bbc : "dtb_config" Other ipq40xx boards may need the same fix but it needs testing. References: https://forum.openwrt.org/t/support-for-mikrotik-hap-ac2/23333/324 Acked-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
* sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archivesSven Roederer2021-05-081-1/+7
| | | | | | | | | | | | | | | | Using these config-options to customize the folders used at build-time makes these folder settings appear in generated archive. This causes the SDK to be not portable, as it's going to use the build-time folders on the new systems. The errors vary from passing the build, disk out-of-space to permission denied. The build-time settings of these folders are passed into the archive via Config.build. The expected behavior is that the SDK acts after unpacking like these settings have their defaults, using intree folders. So just filter these folders out when running convert-config.pl to create Config.build. This addresses the same issue that's fixed in the previous commit for the imagebuilder. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* imagebuilder: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archiveSven Roederer2021-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | | Using these config-options to customize the folders used at build-time makes these folder settings appear in generated archive. This causes the imagebuilder to be not portable, as it's going to use the build-time folders on the new systems. Errors look like: mkdir: cannot create directory '/mnt/build': Permission denied Makefile:116: recipe for target '_call_image' failed make[2]: *** [_call_image] Error 1 Makefile:241: recipe for target 'image' failed make[1]: *** [image] Error 2 The build-time settings of these folders are passed into the archives via .config file. The expected behavior is that after unpacking the imagebuilder acts like these settings have their defaults, using intree folders. So unset the build-time settings. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* uboot-envtools: change size for unifi-6-lrDaniel Golle2021-05-071-1/+1
| | | | | | | The previous commit increased the U-Boot environment size of the UniFi 6 LR to 0x4000. Also change it uboot-envtools accordingly. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: unifi-6-lr: fix erase of production paritionDaniel Golle2021-05-072-13/+15
| | | | | | | | | | | mtd erase needs to be aligned with erase blocks. Use padded image size for erasing the production volume. As the environment grew above the current size of 0x1000 bytes by introducing the new padding function, increase the env size to 0x4000. While at it, clean up reset button function to work to more reliable on that board. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* realtek: Add support for Layer 2 MulticastBirger Koblitz2021-05-075-300/+1024
| | | | | | | | | | Adds support for Layer 2 multicast by implementing the DSA port_mdb_* callbacks. The Kernel bridge listens to IGMP/MLD messages trapped to the CPU-port, and calls the Multicast Forwarding Database updates. The updates manage the L2 forwarding entries and the multicast port-maps. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: Setup all VLANs with default configurationsBirger Koblitz2021-05-075-0/+75
| | | | | | | | This sets up all VLANs with a default configuration on reset: - forward based on VLAN-ID and not the FID/MSTI - forward based on the inner VLAN-ID (not outer) Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: Add SoC-specific VLAN setup routineBirger Koblitz2021-05-074-114/+259
| | | | | | | | This adds SoC specific VLAN configuration routines, which alsoe sets up the portmask table entries that are referred to in the vlan profiles registers for unknown multicast flooding. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: Add support for clause45 PHYsBirger Koblitz2021-05-076-234/+563
| | | | | | | | This adds support for the MMD access registers the RTL-SoCs use to access clause 45 PHYs via mdio. This new interface is used to add EEE-support for the RTL8226 Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: improve EEE support for RTL8380/8390/9300Birger Koblitz2021-05-075-33/+301
| | | | | | | Clean up and fix bugs in the EEE support for RTL8380/90 Adds EEE support for RTL9300 Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: Add L2 hash bucket sizeBirger Koblitz2021-05-072-3/+5
| | | | | | | | Adds a hash-bucket size attribute for the different SoCs, in order to accomodate the buckets with 8 entries of the L2-forwarding tables on RTL93XX in contrast to only 4 on RTL83XX. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: remove unused FDB print routingBirger Koblitz2021-05-071-21/+0
| | | | | | remove fdb_dump debugging function Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add IGMP/MLD snooping supportBirger Koblitz2021-05-072-4/+7
| | | | | | | This adds snooping support for IGMP and MLD on RTL8380/90/9300 by trapping IGMP and MLD packets to the CPU. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: enable CRC offloadingBirger Koblitz2021-05-071-24/+93
| | | | | | | | | | Enables CRC calculation offloading on RTL8380/8390/9300. Tested on Zyxel XGS1210-10 (RTL9302)/GS1900-48 (RTL8390)/GS1900-10HP (RTL8382) On the Zyxel GS1900-10HP, an increase of 5% in iperf3 send throughput and 11% in receive throughput is seen. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* ipq806x: add missing wakeup-source for gpio keysAnsuel Smith2021-05-0716-0/+105
| | | | | | | wakeup-source is required for gpio keys to fix error genirq: irq_chip msmgpio did not update eff. affinity mask Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: apply correct voltage toleranceAnsuel Smith2021-05-073-77/+77
| | | | | | Voltage tolerance was 5%, not 5000. Update min and max voltage of the target opp. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix missing tx/rx fifo depth gmac configurationAnsuel Smith2021-05-071-0/+101
| | | | | | tx/rx-fifo-depth is required to set mtu to the gmac. Backport upstream patch. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: refresh 5.10 patchesAnsuel Smith2021-05-0724-181/+93
| | | | | | make target/linux/kernel refresh Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: simplify ecw5410 dtsAnsuel Smith2021-05-071-25/+25
| | | | | | Simplify ecw5410 dts instead of redefine nodes. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: set boot layout for nandc compatibleAnsuel Smith2021-05-076-0/+18
| | | | | | Set boot layout size to fix io error on block scan. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add kernel 5.10 as testing kernelAnsuel Smith2021-05-071-0/+1
| | | | | | Add kernel 5.10 as testing kernel Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: refresh config 5.10Ansuel Smith2021-05-071-76/+58
| | | | | | | | Refresh config for kernel 5.10. - Added new symbol. - Refreshed with make kernel_oldconfig Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: refresh dtsi patchesAnsuel Smith2021-05-076-448/+399
| | | | | | | | | | - Add new tsens node - Add new cpufreq required nodes - Drop arm cpuidle compatible - Fix duplicate node set upstream - Add voltage tolerance value for cpu opp Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: introduce nandc boot layout modeAnsuel Smith2021-05-072-0/+292
| | | | | | ipq806x have different ecc configuration for boot partition and rootfs partition. Add support for this to fix IO error on mtd block scan. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix broken pci2 and pci3Ansuel Smith2021-05-071-0/+30
| | | | | | pci2 and pci3 has a too big io address space. Enlarge the IO_SPACE_LIMIT define for the arm arch. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: backport cpufreq changes to 5.4Ansuel Smith2021-05-0711-609/+985
| | | | | | | The new cpufreq driver requires different dts bindings. Backport the new driver to kernel 5.4 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: introduce dedicated krait cpufreqAnsuel Smith2021-05-0710-609/+995
| | | | | | | - Drop cpufreq patchs that tweak the cpufreq-dt driver - Add dedicated krait cpufreq driver Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: drop upstream patchAnsuel Smith2021-05-0716-2131/+0
| | | | | | Drop upstream patch already included in the kernel 5.10 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: drop cpuidle generic support from QCOMAnsuel Smith2021-05-071-29/+0
| | | | | | The spm driver now has dedicated support for krait cpu idle state. We don't need to add generic arm cpuidle support for qcom. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: backport mtd adm and smem driverAnsuel Smith2021-05-0716-896/+806
| | | | | | | | | - Backport mtd adm driver from kernel 5.12 - Backport mtd parser smem from kernel 5.11 - Fix mtd rootfs patch - Update qcom,smem compatible to qcom,smem-parts Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix missing clk and resetAnsuel Smith2021-05-075-40/+629
| | | | | | | Patch 0030 wrongly disables gsbi1 instead of gsbi4. Fix the wrong patch and also include other fix from the original qsdk source. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: use newer tsens patchAnsuel Smith2021-05-0714-1228/+973
| | | | | | Use improved tsens patch proposed upstream. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>