aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bmips: add support for Arcadyan AR7516Daniel González Cabanelas2023-06-225-0/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Arcadyan AR7516, AKA Orange Bright Box or EE Bright Box 1, is a wifi fast ethernet router, 2.4 GHz single band with two internal antennas. It comes with a horizontal stand black shiny casing. Newer Bright Box 1 model stands vertically, and comes with a totally different board inside, not compatible with this firmware. Hardware: - SoC: Broadcom BCM6328 - CPU: single core BMIPS4350 V7.5 @ 320Mhz - RAM: 64 MB DDR2 - Flash: 8 MB SPI NOR - Ethernet LAN: 4x 100Mbit - Wifi 2.4 GHz: Broadcom BCM43227 802.11bgn (onboard) - USB: 1x 2.0 - ADSL: yes, unsupported - Buttons: 2x - LEDs: 9x, power LED is hardware controlled - UART: yes Installation in two steps, new CFE bootloader and firmware: Install new CFE: 1. Power off the router and press the RESET button 2. Power on the router and wait some seconds 3. Release the RESET button 3. Browse to http://192.168.1.1, this web interface will offer both firmware (“Software”) upgrade and bootloader upgrade; be sure to use the bootloader section of the upload form. 4. Upload the new CFE (availabe at the wiki page) 5. Wait about a minute for flashing to finish and reboot into the new bootloader. Install OpenWrt via new CFE web UI: 1. After installing the new CFE, visit http://192.168.1.1 2. 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 df8e4b6c2e6440bc9a31467de1739c69c328e391)
* kernel: remove bridge offload hackEtienne Champetier2023-06-201-846/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch initially introduced in 94b4da9b4aaded6ed8a5bd93bf38a7c92753fe68 breaks mvebu devices when using vlan filtering with kernel 5.15 or 6.1, it was working ok in 5.10. With this patch, frame that should exit untagged from the switch exit tagged. Running 'tcpdump -Q out -evnnli eth1' (eth1 being the dsa interface) - with the hack, frame is sent directly to the destination port 4 with VID 2, so the switch leave the tag as instructed: 11:22:33:44:55:66 > 77:88:99:aa:bb:cc, Marvell EDSA ethertype 0xdada (Unknown), rsvd 0 0, mode From CPU, target dev 0, port 4, tagged, VID 2, FPri 0, ethertype ARP (0x0806), length 50: Ethernet (len 6), IPv4 (len 4), Request who-has 5.6.7.8 tell 1.2.3.4, length 28 - without the hack, frame is sent to the switch that performs the forwarding decision and untagging: 11:22:33:44:55:66 > 77:88:99:aa:bb:cc, Marvell EDSA ethertype 0xdada (Unknown), rsvd 0 0, mode Forward, dev 1, port 0, tagged, VID 2, FPri 0, ethertype ARP (0x0806), length 50: Ethernet (len 6), IPv4 (len 4), Request who-has 5.6.7.8 tell 1.2.3.4, length 28 Removing this patch makes my Turris Omnia usable with vlan filtering, ie wifi device can talk to wired device again. Using kernel 5.15 some broadcast/multicast traffic is still leaked (on a VLAN 2 access port I see tagged VLAN 3 frame), using kernel 6.1 fixes that. People needing the extra performance should try the bridger package. Acked-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com> (cherry picked from commit 244328b19c3943bb145b72f0d85062f535e56fbd)
* bmips: add support for NuCom R5010UNv2Daniel González Cabanelas2023-06-195-2/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The NuCom R5010UNv2 is a wifi fast ethernet router, 2.4 GHz single band with two external antennas. Hardware: - SoC: Broadcom BCM6328 - CPU: single core BMIPS4350 V7.5 @ 320Mhz - RAM: 64 MB DDR2 - Flash: 16 MB SPI NOR - Ethernet LAN: 4x 100Mbit - Wifi 2.4 GHz: Broadcom BCM43217 802.11bgn (onboard) - USB: 1x 2.0 - Buttons: 2x - ADSL: yes, unsupported - LEDs: 7x - UART: yes Installation via CFE web UI: 1. Power off the router and press the RESET button 2. Power on the router and wait 12 or more seconds 3. Release the RESET button 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 6cb3328b4fd4939f3800d4be9d52744b753de1b6)
* 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-177-9/+320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* scripts: sercomm-kernel-header.py: improve compatibilityMikhail Zhilkin2023-06-171-3/+3
| | | | | | | | | | | | | | This improves compatibility with the elder stock firmwares of the following devices, which have not yet been merged into OpenWrt: - Beeline SmartBox Pro - Beeline SmartBox Turbo+ - WiFire S1500.NBN Without this, OpenWrt factory image installation may fail. Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> Signed-off-by: Maximilian Weinmann <x1@disroot.org> (cherry picked from commit 35a4418d3966ccf6229916b0021bd18871ef22dd)
* openssl: passing cflags to configureJitao Lu2023-06-171-1/+2
| | | | | | | | | openssl sets additional cflags in its configuration script. We need to make it aware of our custom cflags to avoid adding conflicting cflags. Fixes: #12866 Signed-off-by: Jitao Lu <dianlujitao@gmail.com> (cherry picked from commit 51f57e7c2dd2799e34036ec74b3436bf490fade0)
* 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-1711-384/+36
| | | | | | | | | | | | | | | | | 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-1712-18/+18
| | | | | | | | | | | 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-1736-473/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* CI: labeler: add sifiveu targetPiotr Dymacz2023-06-161-0/+4
| | | | | | | Add support for 'sifiveu' target and its specific packages in labeler. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (cherry picked from commit 92b8b18c2685e9e509d2b8b797de7e03424d17d1)
* toolchain: gcc: backport inline subword atomic support for riscvTianling Shen2023-06-169-3/+6174
| | | | | | | | | | | RISC-V has no support for subword atomic operations; code currently generates libatomic library calls. This patch changes the default behavior to fast inline subword atomic calls that do not require libatomic. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit 7b4a966de88aa0e1f9b7faa62a4d6cb7b01e9f8f)
* 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)
* base-files: upgrade: nand: add JFFS2 cleanmarkers supportÁlvaro Fernández Rojas2023-06-151-2/+10
| | | | | | | | | Some Broadcom MIPS devices require JFFS2 cleanmarkers to be present on the kernel partition or the bootloader will identify the partition as corrupt and won't boot the kernel. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> (cherry picked from commit 434df8df549a4d709be9eb19c0d2bd8abb4d4881)
* 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)
* uboot-sifiveu: add bootloader package for SiFive Ux40 boardsZoltan HERPAI2023-06-1412-0/+566
| | | | | | | | Add new package for building bootloader for the SiFive U-series boards. Supported boards at this stage are the HiFive Unleashed and HiFive Unmatched. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 91406797f9d06c0008f0a8c2c8455abfb37bf28c)
* firmware-utils: ptgen: add SiFive-related GUID typesZoltan HERPAI2023-06-141-0/+38
| | | | | | | | | | | | | | | | | | | Add patch until it gets accepted in firmware-utils upstream. The SiFive RISC-V SoCs use two special partition types in the boot process. As a first step, the ZSBL (zero-stage bootloader) in the CPU looks for a partition with a GUID of 5B193300-FC78-40CD-8002-E86C45580B47 to load the first-stage bootloader - which in OpenWrt's case is an SPL image. The FSBL (SPL) then looks for a partition with a GUID of 2E54B353-1271-4842-806F-E436D6AF6985 to load the SSBL which is usually an u-boot. With ptgen already supporting GPT partition creation, add the required GUID types and name them accordingly to be invoked with the '-T <GPT partition type>' parameter. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 18238c442866a6ae93533e2421a6f44bc9e57ac6)
* openssl: add linux-riscv64 into the targets listZoltan HERPAI2023-06-141-1/+5
| | | | | | | | Add "linux-riscv64-openwrt" into openssl configurations to enable building on riscv64. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit a0840ecd5309921b62fcf5f563180ef8f955509e)
* opensbi: add package for RISC-VZoltan HERPAI2023-06-141-0/+63
| | | | | | | | | | | | | | | OpenSBI is a form of a first-stage bootloader, which initializes certain parts of an SoC and then passes on control to the second stage bootloader i.e. an u-boot image. We're introducing the package with release v1.2, which provides SBI v0.3 and the SBI SRST extensions which helps to gracefully reboot/shutdown various HiFive-U SoCs. Tested on SiFive Unleashed and Unmatched boards. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 944b13b3ee1d89e11a0121fbeeaa465ab1e25c3c)
* generic: groundwork for RISC-VZoltan HERPAI2023-06-144-0/+41
| | | | | | | 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-134-6/+104
| | | | | | | | | | | | 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)
* u-boot.mk: add support for config customizationPetr Štetiar2023-06-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | Make it possible to easily customize U-Boot config options via new `UBOOT_CUSTOMIZE_CONFIG` variable, so we don't need to patch config files or override config step with shell hackery. This generic approach uses `config` CLI to tweak the .config as needed, for example: UBOOT_CUSTOMIZE_CONFIG := \ --enable CMD_EFIDEBUG \ --enable CMD_BOOTMENU \ --enable AUTOBOOT \ --enable AUTOBOOT_MENU_SHOW \ --disable AUTOBOOT_KEYED \ --disable AUTOBOOT_USE_MENUKEY \ --disable BOOTMENU_DISABLE_UBOOT_CONSOLE \ --set-val BOOTDELAY 2 Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 186b97590b9b2f47abc535c9df0687e00e60f78e)
* CI: change armvirt reference to armsrMathew McBride2023-06-131-2/+2
| | | | | | | The armvirt target has been renamed to armsr. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 3df01b1aa40a8e783dbbebdbe6088a49aed186f8)
* scripts: qemustart: change armvirt references to armsrMathew McBride2023-06-131-9/+9
| | | | | | | | | The armvirt target has been renamed to 'armsr' (Arm SystemReady) after inclusion of EFI support. Change references (including subtargets) accordingly. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 36bf9d861082d30fdb1cf1d00f819e60b8bb84a7)
* wolfssl: change armvirt reference to armsrMathew McBride2023-06-131-2/+2
| | | | | | | armvirt target has been renamed to armsr (Arm SystemReady). Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 203deef82cdcb2c4deb01e2a4cee62a600723320)
* kernel: netdevices: change armvirt references to armsrMathew McBride2023-06-131-4/+4
| | | | | | | armvirt target has been renamed to armsr (Arm SystemReady) Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit c0bcfde58e751d674adfac51944df9e20ab978e4)
* grub2: change armvirt reference to armsrMathew McBride2023-06-131-1/+1
| | | | | | | | The armvirt target has been renamed to armsr (Arm SystemReady), so the GRUB configuration also needs to change. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 4ce7d6c8885a0e1873011f8f48b67e2ecd18e43d)
* config: change references from armvirt to armsrMathew McBride2023-06-131-5/+5
| | | | | | | | armvirt target has been renamed to armsr (Arm SystemReady), so the config defaults need to be changed as well. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 40ce6a7920a8f56d07228795a526576a8762aead)
* 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-132-18/+15
| | | | | | | | | 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)