aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx
Commit message (Collapse)AuthorAgeFilesLines
* generic: fix silicon labs spidev bindingsVincent Tremblay2023-01-062-2/+2
| | | | | | | | | | | | | | | Fix Silicon Labs bindings in the spidev driver Some bindings for Silicon Labs chips already exists upstream. These bindings can be found in trivial-devices.yaml. The existing bindings are using "silabs" instead of "siliconlabs" to identify the manufacturer. This commit add two submitted patches for silabs chips and rename the manufacturer in the different DTS for more coherence. Signed-off-by: Vincent Tremblay <vincent@vtremblay.dev>
* ipq40xx: fix wlan mac address for Aruba AP-303HBjoern Dobe2023-01-041-4/+6
| | | | | | | | | | | Assigns the correct mac address from nvmen to the wlan interfaces. This Mac address corresponds to the label "Wireless MAC" on the device and the stock firmware. Removes duplicate entry of calibration variant for both radios. Fixes: cfc13c44595d ("ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data") Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Bjoern Dobe <bjoern@dobecom.de>
* ipq40xx: delete files used for building 5.10 kernelNick Hainke2023-01-0325-2442/+0
| | | | | | | The kernel 5.15 now defaults. Remove unnecessary files. Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ipq40xx: sysupgrade: allow flashing Linksys factory firmwareTony Ambardar2022-12-311-0/+18
| | | | | | | | | | | | | | | | | Allow forced flashing of a factory firmware image, after checking for the correct FIT magic header and Linksys board-specific footer. Details of the footer are already described in scripts/linksys-image.sh. This is convenient as it avoids using a TFTP server or OEM GUI, and allows restoring OEM firmware or installing a "breaking" OpenWrt update (e.g DSA migration and kernel repartition) directly from the command line. Devices supported at this time include EA6350v3, EA8300, MR8300 and WHW01. Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Wyatt Martin <wawowl@gmail.com> # WHW01 Tested-by: Tony Ambardar <itugrok@yahoo.com> # EA6350v3 Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* ipq40xx: migrate Linksys WHW01 to DSA and re-enableTony Ambardar2022-12-313-2/+22
| | | | | | | | | Convert Linksys WHW01 network configuration to DSA and re-enable builds. Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Wyatt Martin <wawowl@gmail.com> Signed-off-by: Wyatt Martin <wawowl@gmail.com> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* ipq40xx: fix up Linksys WHW01 board name, device definitionTony Ambardar2022-12-314-11/+8
| | | | | | | | | | | | | | Update the board name defined in DTS to match online documentation and the name encoded into factory firmware. This helps supports flashing firmware factory images using 'sysupgrade'. Original WHW01 device definition assumes the rootfs IMAGE_SIZE is 33 MB instead of the correct 74 MB, and defines factory images which include extra adjustments/padding that do not match OEM factory images and may cause problems flashing. Update image size and build recipe to fix these. Suggested-by: Wyatt Martin <wawowl@gmail.com> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* ipq40xx: re-enable EA6350v3, EA8300, MR8300 buildsTony Ambardar2022-12-314-23/+38
| | | | | | | | | | | | | | | | | | | | | | | | | Raise the kernel size from 3 MB to 5 MB for EA6350v3, EA8300 and MR8300, and correspondingly reduce the rootfs size by 2 MB: * modify partition definitions in related .dts files * modify device kernel/image sizes in generic.mk Update to compat-version 2.0 to force factory image usage on sysupgrade, noting the current version 1.1 is an unreleased update for DSA migration. Also update the compat-version message, explaining the need to run one of the following console commands to update U-Boot's kernel-size variable before flashing the OpenWrt factory image. fw_setenv kernsize 500000 # (OpenWrt command line) setenv kernsize 500000 ; saveenv # (U-Boot serial console) Finally, re-enable the 3 devices. Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Nicolas TORMO <badulesia.granieri@gmail.com> # MR8300 Tested-by: Tony Ambardar <itugrok@yahoo.com> # EA6350v3 Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* ipq40xx: convert Aruba AP-303H to DSA and enable target againNick Hainke2022-12-293-2/+34
| | | | | | | | | The target was disabled since noone did the DSA conversion. Add the conversion and enable it again. Tested-by: John Walshaw <jjw@myself.com> Signed-off-by: Bjoern Dobe <bjoern@dobecom.de> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ipq40xx: fix usb driver not loaded for GL-A1300Weiping Yang2022-12-111-0/+8
| | | | | | | This patch enables USB support for the GL.iNet GL-A1300 Repair the usb driver startup phase is not loaded Signed-off-by: Weiping Yang <weiping.yang@gl-inet.com>
* ipq40xx: add support for Mikrotik wAP R ac / LTE / LTE6Alexander Couzens2022-11-279-217/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Mikrotik wAP R AC is an outdoor, dual band, dual radio (802.11ac) AP with a miniPCIe slot for a LTE modem. The wAP R AC is similar to the wAP AC but with the miniPCIe slot. The wAP R AC requires installing a LTE modem. The wAP LTE and wAP LTE6 comes with a LTE modem installed. See https://mikrotik.com/product/wap_r_ac for more info. Specifications: - SoC: Qualcomm Atheros IPQ4018 - CPU: 4x ARM Cortex A7 - RAM: 128MB - Storage: 16MB NOR flash - Wireless: - Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, internal antenna - Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, internal antenna - Ethernet: Built-in IPQ4018 (SoC, QCA8075) , 2x 1000/100/10 ports one with 802.3af/at PoE in - 1x Mini PCI-E port (USB2) Installation: Boot the initramfs image via TFTP, then flash the sysupgrade image using sysupgrade. Details at https://openwrt.org/toh/mikrotik/common. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ipq40xx: remove '-fit' string from kernel filenamesDaniel Golle2022-11-241-4/+4
| | | | | | | | The type of those images is already distinguishable by the '.itb' extension, there is no need for an additional '-fit' string in the filenames. Remove it to behave more like other targets. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: remove 'nand-' string from image filenamesDaniel Golle2022-11-242-16/+16
| | | | | | | | | Only on the ipq40xx subtarget different filenames were used for NAND- based devices. This is unneeded, confusing and breaks downstream tools such as luci-app-attendedsysupgrade and auc. Remove the 'nand-' string from image filenames to fix that. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: dts: remove leftover nodes after DSA conversionLech Perczak2022-11-133-29/+1
| | | | | | | | | | | | | | Remove ess-psgmii@98000, edma@c080000 and ess-switch@c000000 nodes. These nodes are not used after the DSA conversion, but were left over in a few devices added recently. ZTE MF289F is omitted on purpose, as for it, these nodes will be removed together with DSA conversion. Build tested only, as I only have MF286D from those devices. Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ipq40xx: Convert plasmacloud,pa2200 to DSASven Eckelmann2022-11-133-7/+32
| | | | | | | | | | | | | | | | | | | * ethernet1: - physical port label "Ethernet 1" - its mac address is printed on the device label * ethernet2: - physical port label "Ethernet 2" - can be used to power the device Both ports are not marked by there role (because the vendor firmware automatically detects roles) but the "Ethernet 2" port was used in the past for "WAN" functionality in OpenWrt. Tested-by: Michaël BILCOT <michael.bilcot@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: utilize nvmem-cells for plasmacloud,pa2200Sven Eckelmann2022-11-132-7/+40
| | | | | | | | | | | | | | | The calibration data and mac addresses on this device are stored in the 0:ART partition. It is therefore possible to move the code to handle them directly to the devicetree instead of the various scripts. But the actual relevant information about the partition layout is provided by the bootloader via bootargs (mtdparts) and not via the devicetree itself. Instead of using a fixed-partition template, the mtd dynamic partitions support from the upstream kernel is used. Reported-by: Robert Marko <robert.marko@sartura.hr> Tested-by: Michaël BILCOT <michael.bilcot@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: Convert plasmacloud,pa1200 to DSASven Eckelmann2022-11-133-6/+33
| | | | | | | | | | | | | | | | | | * ethernet1: - physical port label "Ethernet 1" - its mac address is printed on the device label * ethernet2: - physical port label "Ethernet 2" - can be used to power the device Both ports are not marked by there role (because the vendor firmware automatically detects roles) but the "Ethernet 2" port was used in the past for "WAN" functionality in OpenWrt. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: utilize nvmem-cells for plasmacloud,pa1200Sven Eckelmann2022-11-132-2/+31
| | | | | | | | | | | | | | The calibration data and mac addresses on this device are stored in the 0:ART partition. It is therefore possible to move the code to handle them directly to the devicetree instead of the various scripts. But the actual relevant information about the partition layout is provided by the bootloader via bootargs (mtdparts) and not via the devicetree itself. Instead of using a fixed-partition template, the mtd dynamic partitions support from the upstream kernel is used. Reported-by: Robert Marko <robert.marko@sartura.hr> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: utilize nvmem-cells for openmesh,a62Sven Eckelmann2022-11-124-10/+45
| | | | | | | | | | | | | | | | The calibration data and mac addresses on this device are stored in the 0:ART partition. It is therefore possible to move the code to handle them directly to the devicetree instead of the various scripts. But the actual relevant information about the partition layout is provided by the bootloader via bootargs (mtdparts) and not via the devicetree itself. Instead of using a fixed-partition template, the mtd dynamic partitions support from the upstream kernel is used. Reported-by: Robert Marko <robert.marko@sartura.hr> Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Michaël BILCOT <michael.bilcot@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: utilize nvmem-cells for openmesh,a42Sven Eckelmann2022-11-124-4/+38
| | | | | | | | | | | | | | | The calibration data and mac addresses on this device are stored in the 0:ART partition. It is therefore possible to move the code to handle them directly to the devicetree instead of the various scripts. But the actual relevant information about the partition layout is provided by the bootloader via bootargs (mtdparts) and not via the devicetree itself. Instead of using a fixed-partition template, the mtd dynamic partitions support from the upstream kernel is used. Reported-by: Robert Marko <robert.marko@sartura.hr> Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: Convert openmesh,a62 to DSASven Eckelmann2022-11-124-9/+29
| | | | | | | | | | | | | | | | | | | | * ethernet1: - physical port label "Ethernet 1" - can be used to power the device - its mac address is printed on the device label * ethernet2: - physical port label "Ethernet 2" Both ports are not marked by there role (because the vendor firmware automatically detects roles) but the "Ethernet 1" port was used in the past for "WAN" functionality in OpenWrt. Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Michaël BILCOT <michael.bilcot@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: Convert openmesh,a42 to DSASven Eckelmann2022-11-124-6/+33
| | | | | | | | | | | | | | | | | | | * ethernet1: - physical port label "Ethernet 1" - can be used to power the device - its mac address is printed on the device label * ethernet2: - physical port label "Ethernet 2" Both ports are not marked by there role (because the vendor firmware automatically detects roles) but the "Ethernet 1" port was used in the past for "WAN" functionality in OpenWrt. Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: D-Link DAP-2610: convert to DSAGuillaume Lefebvre2022-11-123-2/+16
| | | | | | | Reenable D-Link DAP-2610, convert it to DSA and label port to 'lan', as shown on the case Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Guillaume Lefebvre <guillaume@zelig.ch>
* ipq40xx: add support for GL.iNet GL-A1300Weiping Yang2022-11-094-0/+342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 256 MiB FLASH1: 4 MiB NOR FLASH2: 128 MiB NAND ETH: Qualcomm QCA8075 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN2: Qualcomm Atheros QCA4018 5G 802.11n/ac W2 2x2 USB: 1 x USB 3.0 port Button: 1 x Reset button Switch: 1 x Mode switch LED: 1 x Blue LED + 1 x White LED Install via uboot tftp or uboot web failsafe. By uboot tftp: (IPQ40xx) # tftpboot 0x84000000 openwrt-ipq40xx-generic-glinet_gl-a1300-squashfs-nand-factory.ubi (IPQ40xx) # nand erase 0 0x8000000 (IPQ40xx) # nand write 0x84000000 0 $filesize By uboot web failsafe: Push the reset button for 10 seconds util the power led flash faster, then use broswer to access http://192.168.1.1 Afterwards upgrade can use sysupgrade image. Signed-off-by: Weiping Yang <weiping.yang@gl-inet.com>
* ipq40xx: add support for MikroTik hAP ac3 LTE6 kitCsaba Sipos2022-10-307-1/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MikroTik RouterBOARD RBD53GR-5HacD2HnD (hAP ac³ LTE6 kit), an indoor dual band, dual-radio 802.11ac wireless AP with built-in Mini PCI-E LTE modem, one USB port, five 10/100/1000 Mbps Ethernet ports. See https://mikrotik.com/product/hap_ac3_lte6_kit for more info. Specifications: - SoC: Qualcomm Atheros IPQ4019 - RAM: 256 MB - Storage: 16 MB NOR - Wireless: · Built-in IPQ4019 (SoC) 802.11b/g/n 2x2:2, 3 dBi internal antennae · Built-in IPQ4019 (SoC) 802.11a/n/ac 2x2:2, 5.5 dBi internal antennae - Ethernet: Built-in IPQ4019 (SoC, QCA8075) , 5x 1000/100/10 port - 1x USB Type A port - 1x Mini PCI-E port (supporting USB) - 1x Mini PCI-E LTE modem (MikroTik R11e-LTE6, Cat.6) Installation: Make sure your unit is runnning RouterOS v6 and RouterBOOT v6 (tested on 6.49.6). 0. Export your MikroTik license key (in case you want to use the device with RouterOS later) 1. Boot the initramfs image via TFTP 2. Upload the "openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-lte6-kit-squashfs-sysupgrade.bin" via SCP to the /tmp folder 3. Use sysupgrade to flash the image: sysupgrade -n /tmp/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-lte6-kit-squashfs-sysupgrade.bin 4. Recovery to factory software is possible via Netinstall: https://help.mikrotik.com/docs/display/ROS/Netinstall Signed-off-by: Csaba Sipos <metro4@freemail.hu>
* kernel: bump 5.15 to 5.15.75John Audia2022-10-302-3/+3
| | | | | | | | | | | | | | | | | | | | | Removed upstreamed: bcm27xx/patches-5.15/950-0446-drm-vc4-Fix-timings-for-VEC-modes.patch[1] Manually rebased: patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch All other patches automatically rebased 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.75&id=2810061452f9b748b096ad023d318690ca519aa3 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.150John Audia2022-10-301-1/+1
| | | | | | | | | | | Manually rebased: bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> [Move gro_skip in 680-NET-skip-GRO-for-foreign-MAC-addresses.patch to old position] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: convert to DSA and enable Netgear Orbi devicesDavide Fioravanti2022-10-253-8/+51
| | | | | | | | | | Convert to DSA and enable again Netgear Orbi devices: - RBR50 - RBS50 - SRR60 - SRS60 Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* ipq40xx: Convert Google Wifi to DSA, reenableBrian Norris2022-10-233-2/+48
| | | | | | | | | | | | | | | | Undo parts of these: 116feb4a1cad ipq40xx: remove non-converted network configs db19efee9512 ipq40xx: disable boards not converted to DSA Reintroduce the DT paths /soc/edma@c080000/gmac{0,1}, because the stock bootloader has memorized them (instead of following aliases); then plug the MAC address back in via 05_set_iface_mac_ipq40xx.sh, since the 'local-mac-address' property is no longer in the correct node. Cc: David Bauer <mail@david-bauer.net> Cc: Robert Marko <robert.marko@sartura.hr> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ipq40xx: convert to DSA and enable mobipromo,cm520-79fJack Chen2022-10-234-6/+36
| | | | | | | Convert to DSA and enable the MobiPromo CM520-79F device again. Signed-off-by: Jack Chen <redchenjs@live.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: convert to DSA and enable asus,rt-ac42uChen Minqiang2022-10-225-20/+45
| | | | | | | This convert board asus,rt-ac42u to DSA and re-enable it Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* ipq40xx: Convert mikrotik,wap-ac to DSAMark Mentovai2022-10-194-6/+26
| | | | | | | | | | | | | | | | | | As done previously, this preserves the MAC addresses of they physical Ethernet ports. The interfaces are renamed as eth0 is in use for the native GMAC; the new interface naming matches the physical port labels. - sw-eth1 corresponds to the physical port labeled ETH1 and has the base MAC address. This port can be used to power the device. - sw-eth2 corresponds to the physical port labeled ETH2 and has a MAC address one greater than the base. As this device has 2 physical ports, they are each connected to their respective PHYs, allowing the link status to be visible to software. Since they are not marked on the case with any role (such as LAN or WAN), both are bridged to the lan network by default, although this can easily be changed if needed. Signed-off-by: Mark Mentovai <mark@mentovai.com>
* ipq40xx: Fix wrong GPIO for internal status LED on ZTE MF289FGiammarco Marzano2022-10-121-1/+1
| | | | | | | | Change GPIO from 10 to 35 to make it works as expected Fixes: 0de6a3339f1a ("ipq40xx: Add ZTE MF289F") Signed-off-by: Giammarco Marzano <stich86@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: convert to DSA and enable Sony NCP-HG100/CellularINAGAKI Hiroshi2022-10-094-19/+23
| | | | | | | This patch converts networking on Sony NCP-HG100/Cellular to DSA and re-enables support for the device. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ipq40xx: ZTE MF289F: convert to DSADirk Buchwalder2022-10-093-22/+19
| | | | | | | | | Convert ZTE MF289F device to DSA, re-order network ports to match the labels on the case and re-enable the device. Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de> Reviewed-by: Robert Marko <robimarko@gmail.com> Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
* kernel: bump 5.15 to 5.15.72John Audia2022-10-092-3/+3
| | | | | | | | | | | | | | | | | Removed upstreamed: generic/pending-5.15/722-net-mt7531-only-do-PLL-once-after-the-reset.patch[1] bcm53xx/patches-5.15/082-v6.0-clk-iproc-Do-not-rely-on-node-name-for-correct-PLL-s.patch[2] All other patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200, mvebu/cortexa72 Run-tested: bcm2711/RPi4B, mt7622/RT3200, mvebu/cortexa72 (RB5009UG+S+IN) 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.72&id=5de02ab84aeca765da0e4d8e999af35325ac67c2 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.72&id=ab5c5787ab5ecdc4a7ea20b4ef542579e1beb49d Signed-off-by: John Audia <therealgraysky@proton.me>
* ipq40xx: pakedge_wr-1: convert to DSATomasz Maciej Nowak2022-10-053-2/+39
| | | | | | | | | Convert pakedge_wr-1 device to DSA and enable it. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>i [ improve commit description ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: luma_wrtq-329acn: convert to DSATomasz Maciej Nowak2022-10-053-18/+41
| | | | | | | | | Convert luma_wrtq-329acn device to DSA and enable it. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com> [ improve commit description ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: glinet-b1300: fix LAN and WAN MAC address assigmentsPetr Štetiar2022-10-031-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing the DSA changes with 5.15.60 kernel, I've noticed, that the MAC addresses are not properly configured, there is single MAC being used for LAN and WAN interfaces: eth0: 94:83:c4:XX:YY:4a (MAC on sticker) lan1@eth0: 94:83:c4:XX:YY:4a lan2@eth0: 94:83:c4:XX:YY:4a wan@eth0: 94:83:c4:XX:YY:4a wlan0: 94:83:c4:XX:YY:4a wlan1: 94:83:c4:XX:YY:4b The same config, prior to the DSA conversion: lan/eth0: 94:83:c4:XX:YY:4a (MAC on sticker) wan/eth1: 94:83:c4:XX:YY:4b wlan0: 94:83:c4:XX:YY:4a wlan1: 94:83:c4:XX:YY:4b Settings in ART partition: root@OpenWrt:/# hexdump -C /dev/mtd7 | grep '94 83' 00000000 94 83 c4 XX YY 4a 94 83 c4 0e YY 4b ff ff ff ff |.....J.....K....| 00001000 20 2f 8d 8c 01 01 94 83 c4 XX YY 4a 00 00 20 00 | /.........J.. .| 00005000 20 2f 5a 3a 01 01 94 83 c4 XX YY 4b 00 00 20 00 | /Z:.......K.. .| So let's fix it by keeping same MAC address assigment as was done before DSA conversion and while at it, define `label-mac-device` as well. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: disable boards not converted to DSADavid Bauer2022-10-023-43/+86
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: remove non-converted network configsRobert Marko2022-10-021-96/+0
| | | | | | | Remove networking configs for non DSA converted boards in ipq40xx. Currently, they are just causing clutter. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: ipqess: enable threaded NAPIRobert Marko2022-10-021-2/+4
| | | | | | | | Enable threaded NAPI by default in IPQESS driver as it significantly improves network perfromance, in my testing about 100+ Mbps in WAN-LAN routing. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: Meraki MR33: convert MAC addresses to nvmemLech Perczak2022-10-023-9/+19
| | | | | | | | This fixes assigning random MAC to br-lan interface upon boot. While at that, rename at24@50 node to eeprom@50, to align with upstream device tree style. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ipq40xx: convert some boards to DSARobert Marko2022-10-0232-99/+754
| | | | | | | | | | | | Convert IPQ40xx boards to DSA setup. Signed-off-by: Leon M. George <leon@georgemail.eu> Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Nick Hainke <vincent@systemli.org> Signed-off-by: ChunAm See <z1250747241@gmail.com> Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> Signed-off-by: Andrew Sim <andrewsimz@gmail.com> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca8k: introduce proper PSGMII calibrationSerhii Serhieiev2022-10-022-12/+331
| | | | | | | | | | | | Serhii and others have experienced PSGMII link degradation up to point that it actually does not pass packets at all or packets arrive as zeros. This usually happened after a couple of hot reboots. Serhii has managed to track it down to PSGMII calibration not being done properly and has fixed it, so all of the code is Serhii-s work. Signed-off-by: Serhii Serhieiev <adron@mstnt.com> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca807x: drop kernel version checksRobert Marko2022-10-021-16/+0
| | | | | | | Since kernel 5.4 has been droppped from IPQ40xx, there is no need to keep the version checks for kernels older than 5.10. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca807x: add suspend and resume opsSerhii Serhieiev2022-10-021-0/+4
| | | | | | | | | | Currently, suspend and resume ops are not present, this means that if user disables a DSA interface that the PHY-s remain alive and the link is up. Fix it by using generic PHY suspend and resume ops. Signed-off-by: Serhii Serhieiev <adron@mstnt.com> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: sxtsq-5-ac: correct TCSR ESS typeRobert Marko2022-10-021-1/+1
| | | | | | | SXTsq 5 ac uses RGMII on the port 5 and not PSGMII, so correct the TCSR interface type property. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: enable ethernet and DSA driver comboRobert Marko2022-10-022-0/+16
| | | | | | | | Select the Ethernet driver, DSA tag driver and the DSA driver itself to be built in the kernel config. They automatically pull in switchdev and phylink. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: add DSA switch driverRobert Marko2022-10-0212-1190/+678
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Qualcomm IPQ40xx SoC-s have a variant of QCA8337N switch built-in. It shares most of the stuff with its external counterpart, however it is modified for the SoC. Namely, it doesn't have second CPU port (Port 6), so it has 6 ports instead of 7. It also has no built-in PHY-s but rather requires external PSGMII based companion PHY-s (QCA8072 and QCA8075) for which it first needs to carry out calibration before using them. PSGMII has a SoC built-in PHY that is used to connect to the PHY-s which unfortunately requires some magic values as the datasheet doesnt document the bits that are being set or the register at all. Since its built-in it is MMIO like other peripherals and doesn't have its own MDIO bus but depends on the SoC provided one. CPU connection is at Port 0 and it uses some kind of a internal connection and no traditional RGMII/SGMII. It also doesn't use in-band tagging like other qca8k switches so a shinfo based tagger is used. This is based on the current OpenWrt qca8k version that has been imported from generic target. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: import qca8k from genericRobert Marko2022-10-022-0/+2500
| | | | | | | | This is just importing the qca8k driver from the generic target. It will be used as the based for IPQ40xx version, this is just to be able to see the diff. Signed-off-by: Robert Marko <robert.marko@sartura.hr>