aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* bmips: enable the data Read Ahead Cache for BMIPS4350Daniel González Cabanelas2023-06-191-0/+42
| | | | | | | | | | | | | | The data RAC is left disabled by the bootloader in some SoCs, at least in the core it boots from. Enabling this feature increases the performance up to +30% depending on the task. The kernel enables the whole RAC unconditionally on BMIPS3300 CPUs. Enable the data RAC in a similar way also for BMIPS4350. Tested on DGND3700 v1 (BCM6368) and HG556a (BCM6358). Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> (cherry picked from commit 6d1265b14850abaf8980e5cebef3e559b1fdcfb9)
* bmips: fix DMA RAC flushÁlvaro Fernández Rojas2023-06-191-0/+84
| | | | | | | BMIPS_GET_CBR() returns an invalid address on some SoCs. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 62cdca25edc7e02249a7dd01c2218ee83e6ed145)
* ramips: Add support for Beeline SmartBox TURBO+Maximilian Weinmann2023-06-176-9/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for Beeline Smart Box TURBO+ (Serсomm S3 CQR) router. Device specification -------------------- SoC Type: MediaTek MT7621AT (880 MHz, 2 cores) RAM (Nanya NT5CC64M16GP): 128 MiB Flash (Macronix MX30LF1G18AC): 128 MiB Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2 Wireless 5 GHz (MT7615N): a/n/ac, 4x4 Ethernet: 5 ports - 5×GbE (WAN, LAN1-4) USB ports: 1xUSB3.0 Buttons: 2 button (reset, wps) LEDs: Red, Green, Blue Zigbee (EFR32MG1B232GG): 3.0 Stock bootloader: U-Boot 1.1.3 Power: 12 VDC, 1.5 A Installation (fw 2.0.9) ----------------------- 1. Login to the web interface under SuperUser (root) credentials. Password: SDXXXXXXXXXX, where SDXXXXXXXXXX is serial number of the device written on the backplate stick. 2. Navigate to Setting -> WAN. Add: Name - WAN1 Connection Type - Static IP Address - 172.16.0.1 Netmask - 255.255.255.0 Save -> Apply. Set default: WAN1 3. Enable SSH and HTTP on WAN. Setting -> Remote control. Add: Protocol - SSH Port - 22 IP Address - 172.16.0.1 Netmask - 255.255.255.0 WAN Interface - WAN1 Save ->Apply Add: Protocol - HTTP Port - 80 IP Address - 172.16.0.1 Netmask - 255.255.255.0 WAN interface - WAN1 Save -> Apply 4. Set up your PC ethernet: Connection Type - Static IP Address - 172.16.0.2 Netmask - 255.255.255.0 Gateway - 172.16.0.1 5. Connect PC using ethernet cable to the WAN port of the router 6. Connect to the router using SSH shell under SuperUser account 7. Make a mtd backup (optional, see related section) 8. Change bootflag to Sercomm1 and reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 reboot 9. Login to the router web interface under admin account 10. Remove dots from the OpenWrt factory image filename 11. Update firmware via web using OpenWrt factory image Revert to stock --------------- Change bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 mtd backup ---------- 1. Set up a tftp server (e.g. tftpd64 for windows) 2. Connect to a router using SSH shell and run the following commands: cd /tmp for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \ tftp -l mtd$i -p 172.16.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done tftp -l mtd.md5 -p 171.16.0.2 Recovery -------- Use sercomm-recovery tool. Link: https://github.com/danitool/sercomm-recovery MAC Addresses (fw 2.0.9) ------------------------ +-----+------------+---------+ | use | address | example | +-----+------------+---------+ | LAN | label | *:e8 | | WAN | label + 1 | *:e9 | | 2g | label + 4 | *:ec | | 5g | label + 5 | *:ed | +-----+------------+---------+ The label MAC address was found in Factory 0x21000 Factory image format -------------------- +---+-------------------+-------------+--------------------+ | # | Offset | Size | Description | +---+-------------------+-------------+--------------------+ | 1 | 0x0 | 0x200 | Tag Header Factory | | 2 | 0x200 | 0x100 | Tag Header Kernel1 | | 3 | 0x300 | 0x100 | Tag Header Kernel2 | | 4 | 0x400 | SIZE_KERNEL | Kernel | | 5 | 0x400+SIZE_KERNEL | SIZE_ROOTFS | RootFS(UBI) | +---+-------------------+-------------+--------------------+ Co-authored-by: Mikhail Zhilkin <csharper2005@gmail.com> Signed-off-by: Maximilian Weinmann <x1@disroot.org> (cherry picked from commit 8fcfb21b16e7537b9a871a1f67cb218c6be93149)
* rockchip: fix setup network config for nanopi r2cTianling Shen2023-06-171-0/+1
| | | | | | | | | Without it the WAN port won't be initialized properly. Fixes: 8f578c15b314 ("rockchip: add NanoPi R2C support") Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit d312f12b1a6ee41e7bf1e07ec0349e141c07b92e)
* kernel: bump 5.15 to 5.15.117John Audia2023-06-1710-382/+34
| | | | | | | | | | | | | | | | | Manually rebased: generic/backport-5.15/346-v5.18-01-Revert-ata-ahci-mvebu-Make-SATA-PHY-optional-for-Arm.patch Removed upstreamed: generic/backport-5.15/830-v6.2-ata-ahci-fix-enum-constants-for-gcc-13.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 0e89ba8430a5d9a638f71d9534ea4152fc26e278)
* kernel: bump 5.15 to 5.15.116John Audia2023-06-1711-16/+16
| | | | | | | | | | | All patches rebased automatically. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 5dc78d8f18e8f536317d9438b096a484a9c49862)
* kernel: add CONFIG_DRM_RCAR_USE_LVDS is not setJohn Audia2023-06-171-0/+1
| | | | | | | Added missing symbol. Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit fc3383a55877150ffe8068c46fe61f6881b1033c)
* kernel: bump 5.15 to 5.15.115John Audia2023-06-1735-471/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually rebased: backport-5.15/603-v5.19-page_pool-Add-recycle-stats-to-page_pool_put_page_bu.patch pending-5.15/723-net-mt7531-ensure-all-MACs-are-powered-down-before-r.patch* Removed upstreamed: generic-backport/610-v6.3-net-page_pool-use-in_softirq-instead.patch[1] backport-5.15/705-12-v6.0-net-dsa-mt7530-rework-mt753-01-_setup.patch[2] backport-5.15/790-v6.4-0010-net-dsa-mt7530-split-off-common-parts-from-mt7531_se.patch[3] backport-5.15/703-10-v5.16-net-dsa-introduce-helpers-for-iterating-through-port.patch[4] All other patches automatically rebased. * Modified to define the variable i as suggested by DragonBluep in PR discussion. See: https://github.com/openwrt/openwrt/pull/12823#issuecomment-1578518576 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=3af319d5147454dc63665ef451229c674b538377 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=0753c1ef24194580f7165ae6e259b59a851392f2 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.115&id=5a7266feaa6d708fc6880a161786eaa884ef3c8e 4. https://github.com/gregkh/linux/commit/9902f91cf666124a6b50bbcf483b46ecb09ef408 Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 5714660643e9170920be2abbb2297d9aac0b9533)
* ipq806x: set PERFORMANCE as the default cpufreq governorChristian Marangi2023-06-161-2/+2
| | | | | | | | | | | | | | | | Move default cpufreq governor from ONDEMAND to PERFORMANCE. The temp increase is just 2°C and Watt usage the change is minimal in the order of additional millwatt. The SoC and krait in general looks to suffer for some problem with cache scaling. To have better system stability, force cpu freq and cache freq to the max value supported by the system. This follows mvebu platform where cpufreq is broken and cause minimal temp/watt increase. User can still tweak the governor to ondemand using sysfs entry if needed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 6f5ea752d7c95ba426ca21a6588cae8812bb3e7c)
* Revert "ipq806x: disable cache and fabric devfreq driver to improve stability"Christian Marangi2023-06-161-2/+2
| | | | | | | | | This reverts commit 60fc93b35935a88b1e31d853a0abacf0847d8de4. Reenable devfreq and revert for both 5.15 and 6.1. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 37e459321360aab13ed89647ed5c5033281047ae)
* bcm63xx: fix the Home Hub 2a power LEDDaniel González Cabanelas2023-06-161-1/+1
| | | | | | | | Power LED register is wrong at dts. Fix it. Fixes: 9ceeaf4c6cac ("brcm63xx: switch to hardware led controllers") Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> (cherry picked from commit 0e01ba93610240ad84f9bbc5fc6e5982a07d39f9)
* bmips: add support for Comtrend VG-8050Álvaro Fernández Rojas2023-06-164-0/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Comtrend VG-8050 is a wifi gigabit ethernet router, 2.4 GHz single band with two external antennas. Hardware: - SoC: Broadcom BCM63169 - CPU: dual core BMIPS4350 @ 400Mhz - RAM: 128 MB DDR - Flash: 128 MB NAND - LAN switch: Broadcom BCM53125, 5x 1Gbit - Wifi 2.4 GHz: SoC (BCM63268) 802.11bgn - USB: 1x 2.0 (optional) - Buttons: 2x (reset) - LEDs: yes - UART: yes Installation via CFE web UI: 1. Power off the router. 2. Press reset button near the power switch. 3. Keep it pressed while powering up during ~20+ seconds. 4. Browse to http://192.168.1.1 and upload the firmware. 5. Wait a few minutes for it to finish. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 47cc09aa7a9a12cb7b18ef96f0b5d0bcb5d84b9e)
* bmips: dts: dgnd3700: fix WAN portÁlvaro Fernández Rojas2023-06-151-1/+1
| | | | | | | | All switch ports are labeled as port@address so let's follow the same pattern. Fixes: ed79519b8d89 ("bmips: add support for Netgear DGND3700 v1, DGND3800B") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit d9210c5ff797896317d1b6293a5ad768b7482cfe)
* bmips: add support for Sercomm AD1018Álvaro Fernández Rojas2023-06-155-0/+353
| | | | | | | | | | | | | | | | | | | | | | | | | The Sercomm AD1018 is a wifi fast ethernet router, 2.4 GHz single band with two internal antennas. Hardware: - SoC: Broadcom BCM6328 - CPU: single core BMIPS4350 @ 320Mhz - RAM: 64 MB (v1) / 128 MB (v2) DDR - Flash: 128 MB NAND - Ethernet LAN: 4x 100Mbit - Wifi 2.4 GHz: miniPCI Broadcom BCM43217 802.11bgn - USB: 1x 2.0 - Buttons: 3x (reset) - LEDs: yes - UART: yes Installation via OEM web UI: 1. Use the admin credentials to login via web UI 2. Go to Managament->Update firmware and select the OpenWrt CFE firmware 3. Press "Update Firmware" button and wait some minutes until it finish Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 38ebb2eafde604ff6d9b0021d1d21208070a2d09)
* bmips: bump LOADER_ENTRY to RAM + 16MÁlvaro Fernández Rojas2023-06-151-1/+1
| | | | | | | | This is needed on devices like Sercomm AD1018 for booting recent kernels due to bigger kernels. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 434434ca4748ba669176ce38b70a6525f90598b6)
* bmips: add support for Actiontec R1000HDaniel González Cabanelas2023-06-155-0/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Actiontec R1000H is a gigabit wifi router, 2.4 GHz single band with two external antennas. It comes with a coaxial HomePNA port. Hardware: - SoC: Broadcom BCM6368 - CPU: dual core BMIPS4350 V3.1 @400Mhz - RAM: 64 MB DDR - Flash: 32 MB parallel NOR - LAN switch: Broadcom BCM53115, 5x 1Gbit - LAN coaxial : 1x HPNA 3.1, CG3211 + CG3213 - Wifi 2.4 GHz: Broadcom BCM4322 802.11bgn - USB: 1x 2.0 - Buttons: 2x, 1 reset - LEDs: 7x - UART: yes The HPNA hardware probably needs a firmware to make the coaxial port work. In the OEM firmware, it's apparently sent with an utility (inhpna) through the ethernet port. Installation via CFE web UI: 1. Connect the UART serial port. 2. Power on the router and press enter at the console prompt to stop the bootloader. 4. Browse to http://192.168.1.1 and upload the OpenWrt CFE firmware 5. Wait a few minutes for it to finish Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> (cherry picked from commit e1a55de7a7eafd40a4fab5f29153a1a3c3606818)
* bcm63xx: switch to standard nand_do_upgradeÁlvaro Fernández Rojas2023-06-151-37/+2
| | | | | | | | Now that JFFS2 cleanmarkers are supported on the standard nand_do_upgrade function we can start using it on bcm63xx. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from 60fc3bc9487cbda7092e1b926467b07ea041bc60)
* bmips: switch to standard nand_do_upgradeÁlvaro Fernández Rojas2023-06-154-45/+4
| | | | | | | | Now that JFFS2 cleanmarkers are supported on the standard nand_do_upgrade function we can start using it on bmips. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from 464dfac049daecad145184f8c2dd4a46a7fdd37c)
* bcm63xx: fix NETGEAR DGND3700v2 boot loopÁlvaro Fernández Rojas2023-06-151-0/+1
| | | | | | | | | | | | | The DGND3700v2 renames the cferam bootloader from cferam to cfeXXX, where XXX is the number of firmware upgrades performed by the bootloader. Other bcm63xx devices rename cferam.000 to cferam.XXX, but this device is special because the cferam name isn't changed on the first firmware flashing but it's changed on the subsequent ones. Therefore, we need to look for "cfe" instead of "cferam" to properly detect the cferam partition and fix the bootlop. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit cdfcac6e246de9f237d1425e498db3f34ddebbaf)
* bmips: fix NETGEAR DGND3700v2 boot loopÁlvaro Fernández Rojas2023-06-151-0/+1
| | | | | | | | | | | | | The DGND3700v2 renames the cferam bootloader from cferam to cfeXXX, where XXX is the number of firmware upgrades performed by the bootloader. Other bcm63xx devices rename cferam.000 to cferam.XXX, but this device is special because the cferam name isn't changed on the first firmware flashing but it's changed on the subsequent ones. Therefore, we need to look for "cfe" instead of "cferam" to properly detect the cferam partition and fix the bootlop. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 915e914cfaa243ea36f8c7a4f0f045ec890304fa)
* kernel: mtd: bcm-wfi: add cferam name supportÁlvaro Fernández Rojas2023-06-151-2/+14
| | | | | | | | | Some devices rename cferam bootloader using specific patterns and don't follow broadcom standards for renaming cferam files. This requires supporting different cferam file names. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 8813edd8d9695d4e3939fdaa3c530c682f91de11)
* sifiveu: add new target for SiFive U-based boardsZoltan HERPAI2023-06-1417-0/+1289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RISC-V is a new CPU architecture aimed to be fully free and open. This target will add support for it, based on 5.15. Supports running on: - HiFive Unleashed - FU540, first generation - HiFive Unmatched - FU740, current latest generation, PCIe SD-card images are generated, where the partitions are required to have specific type codes. As it is commonplace nowadays, OpenSBI is used as the first stage, with U-boot following as the proper bootloader. Specifications: HiFive Unleashed: - CPU: SiFive FU540 quad-core RISC-V (U54, RV64IMAFDC or RV64GC) - Memory: 8Gb - Ethernet: 1x 10/100/1000 - Console: via microUSB HiFive Unmatched: - CPU: SiFive FU740 quad-core RISC-V (U74, RV64IMAFDCB or RV64GCB) - Memory: 16Gb - Ethernet: 1x 10/100/1000 - USB: 4x USB 3.2 - PCIe: - 1x PCIe Gen3 x8 - 1x M.2 key M (PCIe x4) - 1x M.2 Key E (PCIe x1 / USB2.0) - Console: via microUSB Installation: Standard SD-card installation via dd-ing the generated image to an SD-card of at least 256Mb. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit a3469a90c47edd94daae6a23b810b74cd8389ce3)
* generic: groundwork for RISC-VZoltan HERPAI2023-06-141-0/+5
| | | | | | | Add build infrastructure for RISC-V. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 50c05f6cd721130701cbbc77a75d2e090259c4e5)
* uboot-armsr: add support for QEMU armv7/armv8Petr Štetiar2023-06-132-6/+6
| | | | | | | | | | | | Add new package so we can use self-compiled bootloader during QEMU based testing and development. Backported fix[1] is needed for EFI boot from virtio devices. 1. https://patchwork.ozlabs.org/project/uboot/patch/20230424134946.v10.7.Ia5f5e39c882ac22b5f71c4d576941b34e868eeba@changeid/ Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit b8e3fa2d1205213c71bc356744e9bed6cd8e69f9)
* armsr: rename from armvirtMathew McBride2023-06-1319-34/+38
| | | | | | | | | | | | | | | | | | | Now that the armvirt target supports real hardware, not just VMs, thanks to the addition of EFI, rename it to something more appropriate. 'armsr' (Arm SystemReady) was chosen after the name of the Arm standards program. The 32 and 64 bit targets have also been renamed armv7 and armv8 respectively, to allow future profiles where required (such as armv9). See https://developer.arm.com/documentation/102858/0100/Introduction for more information. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05 version of commit 40b02a230167626def69389452f19b7109aaeac1)
* kernel: kmod-amazon-ena: move to top level netdevicesMathew McBride2023-06-131-17/+0
| | | | | | | | | The Amazon ENA network devices are also used on the AWS Arm (Graviton) instance types, so move it from the x86-only module file to the top level netdevices. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 3a7c8fd15e89237c8c9db62393d057f3a47429d2)
* armvirt: 64: disable CONFIG_SMC91XMathew McBride2023-06-131-1/+1
| | | | | | | | | | The SMC91X family is a ISA-age Ethernet controller. I'm not particularly sure what it's doing in armvirt/64, as it's unlikely there is a QEMU or real hardware configuration that exists with it. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of commit 214e94cddf1bfd4e6141f79a70f532267fe1bea0)
* armvirt: base-files: add tty0 to inittabMathew McBride2023-06-131-0/+1
| | | | | | | tty0 is the default console for devices with screens/framebuffers. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit e41b82f619ca02f427f34ae439d4584ab441e245)
* armvirt: config changes required for framebuffer consoleMathew McBride2023-06-131-0/+13
| | | | | | | | | | These Kconfig options are required to get a screen console working with the VMware Fusion ARM (Apple Silicon) preview. They are likely to be the same for other Arm standard "desktop" hardware that may emerge. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of 83f564f7464c34c7713b20b61007b24b217f0b88)
* armvirt: package and select Rockchip DWMAC Ethernet driverMathew McBride2023-06-132-2/+13
| | | | | | | | | | | | | For devices that implement the "rockchip,*-gmac" compatible controller, including: - RK3328 - RK3399 - RK3568 - RK3588 - PX30 Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit abbffe55ddded36d2a4d0eee6e96c742eaffbbd2)
* armvirt: 64: add Allwinner A3/A83T/A64 (sun8i family) EthernetMathew McBride2023-06-132-1/+12
| | | | | | | | Add support for the dwmac (stmmac) variant used by Allwinner Arm64 boards. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 847467a5729995a98aa34329f6fa0ed4cb79d210)
* armvirt: 64: add Marvell (formerly Cavium) ThunderX series network driverMathew McBride2023-06-132-2/+20
| | | | | | | Based on working configuration supplied by Anton Antonov. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 5d2a5f739840caa6e72b5c907d355f6aaca227d4)
* armvirt: 64: Add storage support for qemu-sbsa platformAnton Antonov2023-06-131-0/+4
| | | | | | | | | | | Enable SATA support, which is used by the Server Base System Architecture reference board[1]. Signed-off-by: Anton Antonov <Anton.Antonov@arm.com> Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://qemu.readthedocs.io/en/latest/system/arm/sbsa.html (23.05/5.15 version of 26905c96124af10a795167509116252e9357baea)
* armvirt: 64: Add NXP i.MX 8M Mini/Nano/Quad/Plus EVK supportAnton Antonov2023-06-134-3/+155
| | | | | | | | | Also includes Advantech RSB-3720 (iMX8 Plus) support. Signed-off-by: Anton Antonov <Anton.Antonov@arm.com> Signed-off-by: Mathew McBride <matt@traverse.com.au> [Re-sort into kernel config, move network into modules] (23.05/5.15 version of commit 3efb3b801bb1393897ff58b9af3753157f28f441)
* armvirt: 64: add support for other SystemReady-compatible vendorsMathew McBride2023-06-134-3/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | These changes are to support other vendors that have SystemReady/EFI support, including: * Marvell Armada ** (This is speculative as I don't have a machine of my own to test) * Amazon Graviton (tested bare-metal and virtualized instances) * VMware (Fusion for ARM Mac preview) * NXP/Freescale (Layerscape series not already selected) * HiSilicon * Allwinner/sunxi * Rockchip (untested, options taken from arm64 defconfig) To give an idea of the hardware certified for SystemReady, see https://www.arm.com/architecture/system-architectures/systemready-certification-program/ir and https://www.arm.com/architecture/system-architectures/systemready-certification-program/es Other vendors that _should_ work include Marvell Octeon 10 and Ampere. I understand these systems should work "out of the box" in ACPI mode but may require other drivers (e.g PCIe NICs and storage controllers). Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of c3151b6f04579a937b7cb166bbeff0d0ee539946)
* armvirt: add options and driver modules for NXP Layerscape DPAA2 platformMathew McBride2023-06-134-5/+157
| | | | | | | Tested with a Traverse Technologies Ten64 (LS1088A) board. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of commit 54bb95f879aaa62c4253d30390e77bc8180f4ed7)
* armvirt: add 5.15 patches for NXP DPAA2 platformMathew McBride2023-06-132-0/+108
| | | | | | | | | | | | This fixes an issue with NXP's DPAA2 platforms (LS1088/2088/LX2160) * A deadlock issue when attempting to detach the SFP management from a PHY interface (e.g when trying to reboot). These issues were fixed in kernel 6.2[1], but it's version does not cleanly apply onto 5.15. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - see patch series "Fix rtnl_mutex deadlock with DPAA2 and SFP modules", https://patchwork.kernel.org/project/netdevbpf/cover/20221129141221.872653-1-vladimir.oltean@nxp.com/
* armvirt: add ACPI supportMathew McBride2023-06-132-1/+140
| | | | | | | | | | | ACPI support is required for Arm 'SystemReady' server and workstation systems (and as an option on embedded platforms). These config changes allow OpenWrt to boot in a QEMU virtual machine with a UEFI/EDKII 'BIOS', but with no other hardware enabled yet. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of cb3bbbf00cfb465de3333e4b84e8da9138985595)
* build: enable vmdk/vmware images for arm64 targetMathew McBride2023-06-131-1/+1
| | | | | | | This is useful for VMware's ARM64 products, e.g Fusion for M1/ARM Macs. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit f899e0e024825861e129b0e8fbfb31c1d614273a)
* armvirt: remove model name overrideMathew McBride2023-06-131-13/+0
| | | | | | | | Now that armvirt has been expanded to boot on more generic ARM machines, remove the board and model name override. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 3d99314569a059a1d5e015086e534b3e04ff2097)
* armvirt: set kernel partition as the EFI system partitionMathew McBride2023-06-131-1/+1
| | | | | | | | U-Boot with EFI boot manager functionality will store EFI boot order data on the ESP in the ubootefi.var file. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 9a76b99c1bd781248c18d69abe570f35932db8a3)
* armvirt: update README with new image namesMathew McBride2023-06-131-8/+40
| | | | | | | | | The introduction of EFI support has changed how armvirt images are generated. The kernel and filesystem binaries can still be used as before with QEMU directly. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 97c5d317f59e071c9f691add5748a74a75665038)
* armvirt: disable LD dead code elimination on ARM32Mathew McBride2023-06-131-0/+23
| | | | | | | | | This interferes with the generation of the EFI stub section for ARM32. As this target is not size constrained, disable the dead code data elimination hack. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05 version of eb0e61285d4da910317e082de559337a305fa1dc)
* armvirt: add EFI supportMathew McBride2023-06-1311-19/+393
| | | | | | | | | | | | | | EFI booting is used on newer machines compatible with the Arm SystemReady specifications. This commit restructures armvirt into a more 'generic' target similar to x86. See https://github.com/openwrt/openwrt/pull/4956 for a history of this port. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05 version of e0f06ddc23b2503a1791ae7e97b02e2647e8a70d)
* ipq807x: image: fix eMMC flashing/recovery from within initramfsPetr Štetiar2023-06-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | Having initramfs image built with same config as on buildbots: CONFIG_TARGET_MULTI_PROFILE=y CONFIG_TARGET_ALL_PROFILES=y CONFIG_TARGET_PER_DEVICE_ROOTFS=y Its currently impossible to flash/recover the device using that image as losetup is missing: root@OpenWrt:/# sysupgrade -v /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin ... /lib/upgrade/do_stage2: line 38: losetup: not found Failed to detach all loop devices. Skip this try. So lets fix it by including the needed utils for sysupgrade in DEFAULT_PACKAGES set. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 07fe8bc62a866e78e131c3f63a08554a94e931f8)
* ipq807x: add initial support for prpl Foundation Haze boardPetr Štetiar2023-06-125-1/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Haze is prpl Foundation's reference board (WNC LVRP). Board info: - IPQ8072A SoC - 2 GiB RAM - 4 GiB eMMC - 8MiB SPI NOR (MX25U6435F) - 3x 1GigE ports (QCA8075) - 1x 10GigE port (AQR113C) - 1x SFP cage - WiFi 6GHz 160MHz (QCN9074) - WiFi 5GHz 80+80MHz (QCN5054) - WiFi 2.4G (QCN5024) - ARM Standard 20-pin 2.54mm/0.1" JTAG (1V8 !!!) - Bluetooth v5.0 + EDR with integrated Class 1 PA (CYW20704) - 1x M.2 B-key socket with PCIe 3.0 - 1x USB 3.0 port - UART marked J6 is 4-pin 2.54mm/0.1" connector 3V3(arrow),RX,TX,GND (115200 8N1) - Reset and WPS buttons Flashing instructions: 1. From U-Boot boot OpenWrt using initramfs image: IPQ807x# tftpboot openwrt-ipq807x-generic-prpl_haze-initramfs-uImage.itb && bootm 2. In OpenWrt running from initramfs execute sysupgrade: root@OpenWrt:/# sysupgrade -n /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin Work in progress/known issues: * SFP feature not implemented/tested * M.2 feature not implemented/tested * Bluetooth feature not implemented/tested * 6GHz wireless should be working, but not tested * MAC address assigments for LAN interfaces Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 2e910039dd7170fd28641e7686c376dba6f0d8a5)
* ipq807x: image: cleanup unused variablesPetr Štetiar2023-06-121-3/+0
| | | | | | | | BLOCKSIZE and PAGESIZE seems to be unused on qnap_301w and zyxel_nbg7815 device which use eMMC storage. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit fdea7cb61776192ddb808a639af0a585d5b01b5b)
* treewide: add ORIG_PATH variableMichael Pratt2023-06-123-0/+4
| | | | | | | | | | | | | | Add a variable that stores the original value of $PATH in the host system's shell, before Make alters it. This can be useful for when it is necessary to ignore symlinks and programs made by the build system. Define this new variable before all instances of 'export PATH:=' or similar. Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit d87a8aa148ddf93b199a759deb088fff73787025)
* ipq807x: image: factor out common eMMC bitsPetr Štetiar2023-06-121-9/+12
| | | | | | | For better maintainability and reusability. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit a9be186466fdb4987c158916781d99329d1c3712)
* realtek: eth: Do not write directly to dev->addrOlliver Schinagl2023-06-121-11/+13
| | | | | | | | | | One is never to write to dev->addr directly. In 6.1 it will be a const and with the newly enabled WERROR, we get a failing grade. Lets fix this ahead of time. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> (cherry picked from commit d881f65da1e6f3bc4237b39cf2373bef51c3828c)