aboutsummaryrefslogtreecommitdiff
path: root/package/boot
Commit message (Collapse)AuthorAge
* ath79: add support for Huawei AP5030DNMarco von Rosenberg2024-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Huawei AP5030DN is a dual-band, dual-radio 802.11ac Wave 1 3x3 MIMO enterprise access point with two Gigabit Ethernet ports and PoE support. Hardware highlights: - CPU: QCA9550 SoC at 720MHz - RAM: 256MB DDR2 - Flash: 32MB SPI-NOR - Wi-Fi 2.4GHz: QCA9550-internal radio - Wi-Fi 5GHz: QCA9880 PCIe WLAN SoC - Ethernet 1: 10/100/1000 Mbps Ethernet through Broadcom B50612E PHY - Ethernet 2: 10/100/1000 Mbps Ethernet through Marvell 88E1510 PHY - PoE: input through Ethernet 1 port - Standalone 12V/2A power input - Serial console externally available through RJ45 port - External watchdog: SGM706 (1.6s timeout) Serial console: 9600n8 (9600 baud, no stop bits, no parity, 8 data bits) MAC addresses: Each device has 32 consecutive MAC addresses allocated by the vendor, which don't overlap between devices. This was confirmed with multiple devices with consecutive serial numbers. The MAC address range starts with the address on the label. To be able to distinguish between the interfaces, the following MAC address scheme is used: - eth0 = label MAC - eth1 = label MAC + 1 - radio0 (Wi-Fi 5GHz) = label MAC + 2 - radio1 (Wi-Fi 2.4GHz) = label MAC + 3 Installation: 0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP 1. Power up the AP 2. At prompt "Press f or F to stop Auto-Boot in 3 seconds", do what they say. Log in with default admin password "admin@huawei.com". 3. Boot the OpenWrt initramfs from TFTP using the hidden script "run ramboot". Replace IP address as needed: > setenv serverip 192.168.1.10 > setenv ipaddr 192.168.1.1 > setenv rambootfile openwrt-ath79-generic-huawei_ap5030dn-initramfs-kernel.bin > saveenv > run ramboot 4. Optional but recommended as the factory firmware cannot be downloaded publicly: Back up contents of "firmware" partition using the web interface or ssh: $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap5030dn_fw_backup.bin 5. Run sysupgrade using sysupgrade image. OpenWrt shall boot from flash afterwards. Return to factory firmware (using firmware upgrade package downloaded from non-public Huawei website): 1. Start a TFTP server in the directory where the firmware upgrade package is located 2. Boot to u-boot as described above 3. Install firmware upgrade package and format the config partitions: > update system FatAP5X30XN_SOMEVERSION.bin > format_fs Return to factory firmware (from previously created backup): 1. Copy over the firmware partition backup to /tmp, for example using scp 2. Use sysupgrade with force to restore the backup: sysupgrade -F huawei_ap5030dn_fw_backup.bin 3. Boot AP to U-Boot as described above Quirks and known issues ----------------------- - On initial power-up, the Huawei-modified bootloader suspends both ethernet PHYs (it sets the "Power Down" bit in the MII control register). Unfortunately, at the time of the initial port, the kernel driver for the B50612E/BCM54612E PHY behind eth0 doesn't have a resume callback defined which would clear this bit. This makes the PHY unusable since it remains suspended forever. This is why the backported kernel patches in this commit are required which add this callback and for completeness also a suspend callback. - The stock firmware has a semi dual boot concept where the primary kernel uses a squashfs as root partition and the secondary kernel uses an initramfs. This dual boot concept is circumvented on purpose to gain more flash space and since the stock firmware's flash layout isn't compatible with mtdsplit. - The external watchdog's timeout of 1.6s is very hard to satisfy during bootup. This is why the GPIO15 pin connected to the watchdog input is configured directly in the LZMA loader to output the CPU_CLK/4 signal which keeps the watchdog happy until the wdt-gpio kernel driver takes over. Because it would also take too long to read the whole kernel image from flash, the uImage header only includes the loader which then reads the kernel image from flash after GPIO15 is configured. Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de> [fixed 6.6 backport patch naming] Signed-off-by: David Bauer <mail@david-bauer.net>
* uboot-envtools: ath79: remove D-Link DIR-8x9 and DAP-1720 env configShiji Yang2024-03-30
| | | | | | | The uboot-envtools can automatically parse the dts 'u-boot,env' compatible string. So the env config file is now useless. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* uboot-mediatek: add Netcore N60 supportChukun Pan2024-03-29
| | | | | | | The vendor uboot requires special fit verification. So add a custom uboot build for this device. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* sunxi: add support for Orange Pi Zero 3Chukun Pan2024-03-26
| | | | | | | | | | | | | | | | Key features: Allwinner H618 SoC (Quad core Cortex-A53) 1/1.5/2/4 GiB LPDDR4 DRAM 1 USB 2.0 type C port (Power + OTG) 1 USB 2.0 host port 1Gbps Ethernet port Micro-HDMI port MicroSD slot Installation: Write the image to SD Card with dd. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* uboot-sunxi: bump to 2024.01Chukun Pan2024-03-26
| | | | | | | | | | | | This version supports LPDDR4 DRAM of H618 SoC. Runtime-tested: Olimex Olinuxino Micro (A20) Orange Pi Zero 3 (H618) Pine64 SoPine (A64) Tested-by: Zoltan HERPAI <wigyori@uid0.hu> Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* treewide: update PKG_MIRROR_HASH after APK version schemaPaul Spooren2024-03-25
| | | | | | | | | | With the change in version schema the downloaded files changed, too, mostly the hash is now prefixed with a tilde `~` instead of a dash `-`. Since each downloaded archive contains folder with the same name as the archive, the checksum changed. Signed-off-by: Paul Spooren <mail@aparcar.org>
* kirkwood: add ix4-200d support to uboot-envtoolsSander van Deijck2024-03-23
| | | | | | This adds support for the Iomega ix4-200d device in uboot-envtools. Signed-off-by: Sander van Deijck <sander@vandeijck.com>
* uboot-rockchip: add Radxa E25 board supportMarius Durbaca2024-03-23
| | | | | | | add Radxa E25 board support in uboot-rockchip Signed-off-by: Marius Durbaca <mariusd84@gmail.com> Reviewed-by: Tianling Shen <cnsztl@immortalwrt.org>
* uboot-mediatek: add support for GD5F1GQ5UEChuanhong Guo2024-03-21
| | | | | | | This patch adds support for GigaDevice GD5F1GQ5UExxG to the mtk-snfi driver in u-boot. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* uboot-mediatek: add Redmi AX6S as UBI loaderChuanhong Guo2024-03-21
| | | | | | | | | Add support for Xiaomi Redmi AX6S to be used as a second-stage UBI loader. The defconfig/env is minimal: Boot fit from UBI. If that failed, load and boot initramfs image from TFTP. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* kirkwood: add support for Netgear Stora (MS2000/2110) NASZoltan HERPAI2024-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dual-slot NAS based on Marvell Kirkwood. Specifications: - Marvell 88F6281 @1GHz - 128Mb RAM - 256Mb NAND - 1x GbE LAN (Marvell 88E1116) - 1x USB 2.0 - 2x SATA - PCF8563 RTC - LM75 sensor - TC654 PWM fan controller - Serial on J2 (115200,8n1) - Newer bootROM so kwboot-ing via serial is possible Installation: 1. Serial console - Connect your levelshifter to the serial console on J2 (refer to the wiki page for pinout) 2. Update u-boot - Download the u-boot.kwb image for the device - Powercycle the NAS - Run "kwboot -b ./u-boot.kwb /dev/ttyUSB0 -p" - Connect to the serial console with minicom - tftp 0x0800000 netgear_stora-u-boot.kwb - nand erase 0x0 100000 - nand write 0x0800000 0x0 0x100000 - reset 3. Install OpenWrt - Boot up the initramfs image - tftpboot 0x800000 openwrt-kirkwood-netgear_stora-initramfs-uImage; bootm 0x800000 - Download the sysupgrade image and perform sysupgrade The fan is controlled in 3 stages by a script running every minute from cron, measuring the CPU temperature. Snippets taken from bodhi <mibodhi@gmail.com> Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* uboot-mediatek: fix typo patch filenameDaniel Golle2024-03-11
| | | | | | 311-mt7986-select-roodisk.patch -> 311-mt7986-select-rootdisk.patch Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: fix patch orderDaniel Golle2024-03-11
| | | | | | | Make sure patch sequence number is unique by moving patch 440-add-jdcloud_re-cp-03.patch -> 441-add-jdcloud_re-cp-03.patch Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: rename mtd partition of ipTIME NAND devicesSungbo Eo2024-03-10
| | | | | | | | | | | | Contrary to common ipTIME NOR devices, the "Config" partition of T5004 and AX2004M contain normal U-Boot environment variables. Renaming the partition into "u-boot-env" serves for better description, and it also conforms to common naming practice in OpenWrt. This patch might also be extended to A3004T, but its u-boot-env partition layout has not been confirmed yet. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* uboot-mediatek: add 'rootwait' to bootargs where neededDaniel Golle2024-03-09
| | | | | | | | Probing of the fitblk driver in some situations happens after Linux attempts to mount rootfs, which then fails. Always use 'rootwait' kernel parameter when using fitblk for rootfs. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* qualcommax: ipq60xx: add support for netgear wax214Dirk Buchwalder2024-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WAX214 is a 802.11 ax dual-band AP with PoE. (similar to Engenius EWS357APV3) Specifications: • CPU: Qualcomm IPQ6010 Quad core Cortex-A53 • RAM: 512MB of DDR3 • Storage: 128MB NAND (Macronix MX30UF1G18AC) • Ethernet: 1x 1G RJ45 port (QCA8072) PoE • WIFI: 2.4GHz: Qualcomm QCN5022 2x2 802.11b/g/n/ax 574 Mbps PHY rate 5GHz: Qualcomm QCN5052 2x2 802.11a/b/g/n/ac/ax 1201 PHY rate • LEDs: 4 x GPIO-controlled LEDs - 1 Power LED (orange) - 1 LAN LED (blue) - 1 WIFI 5g LED (blue) - 1 WIFI 2g LED (blue) black_small_square Buttons: 1x soft reset black_small_square Power: 12V DC jack or PoE (802.3af ) An populated serial header is onboard, format is 1.25mm 4p (DF13A-4P-1.25H) RX/TX is working, bootwait is active, secure boot is not enabled. The root password of the stock firmware is unknown, but failsafe mode can be entered to reset the password. Installation Instructions: - obtain serial access - stop auto boot (press "4", Entr boot command line interface) - setenv active_fw 0 (to boot from the primary rootfs, or set to 1 to boot from the secondary rootfs partition) - saveenv - tftpboot the initramfs image - bootm - copy openwrt-qualcommax-ipq60xx-netgear_wax214-squashfs-factory.ubi to the device - write the image to the NAND: - cat /proc/mtd and look for rootfs partition (should be mtd11, or mtd12 if you choose active_fw 1) - ubiformat /dev/mtd11 -f -y openwrt-qualcommax-ipq60xx-netgear_wax214-squashfs-factory.ubi - reboot Note: the firmware is senao-based. But I was unable to build a valid senao-header into the image. Maybe they changed the header format and senaoFW isn't working any more. Signed-off-by: Dirk Buchwalder <buchwalder@posteo.de>
* u-boot.mk: override default PATH to avoid pick hostpkg pythonTianling Shen2024-03-02
| | | | | | | | | | | hostpkg python from packages feed can be picked when do a incremental build because hostpkg has higher priority in PATH. It may lead build faliure as it's heavily trimmed (e.g. lacks necessary modules). For uboot which uses binman and intree dtc, this is forced as hostpkg python will never provide those modules by default. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* uboot-mediatek: remove rootfs_data before attempting to replace fipDaniel Golle2024-03-01
| | | | | | | Make sure there is enough space to replace 'fip' volume and always remove rootfs_data before. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-d1: cleanup MakefileZoltan HERPAI2024-02-29
| | | | | | Clean up leftover PKG_HASH. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* uboot-d1: add bootloader for upcoming d1 targetZoltan HERPAI2024-02-29
| | | | | | | | | | | Add u-boot bootloader based on 2023.01 to support D1-based boards, currently: - Dongshan Nezha STU - LicheePi RV Dock - MangoPi MQ-Pro - Nezha D1 Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* opensbi: allow building on upcoming d1 targetZoltan HERPAI2024-02-29
| | | | | | | | U-boot on D1 also uses OpenSBI as its payload. As the current version of OpenSBI already supports D1 with no further patches required, allow building it on the upcoming TARGET_d1 too. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* uboot-mediatek: correct board name for BananaPi BPi-R3 MiniTianling Shen2024-02-28
| | | | | | | It should be "BananaPi BPi-R3 Mini" instead of just "BananaPi BPi-R3". Fixes: bc25519f98cd ("uboot-mediatek: add builds for BananaPi BPi-R3 mini") Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* uboot-envtools: replace use of platform_get_bootdevDaniel Golle2024-02-26
| | | | | | Use new function fitblk_get_bootdev in /lib/upgrade/common.sh instead. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7623: phase out uImage.FIT partition parserDaniel Golle2024-02-24
| | | | | | | | Use the new fitblk driver on the BananaPi R2 as well as UniElec U7623. Introduce boot device selection for fitblk's /chosen/rootdisk handle, similar to how it is already done on MT7622, MT7986 and MT7988. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: fix truncated patchDaniel Golle2024-02-24
| | | | | | | | | | The default environment for the Linksys E8450 and Belkin RT3200 got truncated by one line due to a broken patch. While the impact was luckily only cosmetic, fix it so bootmenu title also shows U-Boot version again. Fixes: 6aec3c7b5b ("mediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI build") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: Add support Netgear LBR20Marcin Gajda2024-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Netgear LBR20** is a router with two gigabit ethernets , three wifi radios and integrated LTE cat.18 modem. SoC Type: Qualcomm IPQ4019 RAM: 512 MiB Flash: 256 MiB , SLC NAND, 2 Gbit (Macronix MX30LF2G18AC) Bootloader: U-Boot Modem: LTE CAT.18 Quectel EG-18EA , Max. 1.2Gbps downlink / 150Mbps uplink WiFi class AC2200: - radio0 : 5G on QCA9888 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps , 80MHz - limited for low channels - radio1: 2,4G on IPQ4019 ,WiFi4- 802.11b/g/n MIMO2x2 300Mbps 40Mhz - radio2: 5G on IPQ4019 , WiFi5- 802.11a/n/ac MU-MIMO 2x2 , 887Mbps ,80Mhz - limited for high channels (from 100 up to 165) . Becouse of DFS remember to set country before turning on. Ethernet: 2x1GbE (WAN/LAN1, LAN2) LEDs: section power : green and red , section on top (orbi) drived by TLC59208F: red, green ,blue and white USB ports: No Buttons: 2 Reset and SYNC(WPS) Power: 12 VDC, 2,5 A Connector type: Barrel OpenWRT Installation 1. Simplest way is just do upgrade from webpage with *factory.img 2. You can also do it with standard tool for Netgear's debricking - NMPRFlash 3. Most advanced way is to open device , connect to UART console and : - Prepare OpenWrt initramfs image in TFTP server root (server IP 192.168.1.10) - Connect serial console (115200,8n1) to UART connector - Connect TFTP server to RJ-45 port - Stop in u-Boot and run u-Boot command: > setenv serverip 192.168.1.10 > set fdt_high 0x85000000 > tftpboot 0x83000000 openwrt-ipq40xx-generic-netgear_lbr20-initramfs-zImage.itb > bootm 0x83000000 - Login via ssh - upload or download *sysupgrade.bin ( like wget ... or scp transfer) - Install image via "sysupgrade -n" (like “sysupgrade -n /tmp/openwrt-ipq40xx-generic-netgear_lbr20-squashfs-sysupgrade.bin”) Back to Stock - Download firmware from official Netgear's webpage , it will be *.img file after decompressing. - Use NMRPFlash tool ( detailed insructions on project page https://github.com/jclehner/nmrpflash ) Open the case - Unscrew nuts and remove washers from antenna's conectors. - There are two Torx T10 screws under the label next to antenna conectors. You have to unglue this label from left and right corner to get it - Two parts of shell covers will slide out from eachother , you have to unglue two small rubber pads and namplate sticker on bottom to do that. - PCB is screwed with 4Pcs of Torx T10 screws - Before lifting up PCB remove pigtiles for LTE antennas and release them from PCB and radiator (black and white wires) - On other side of PCB ,in left bottom corner there is already soldered with 4 pins UART connector for console. Counting from left it is +3,3V , TX , RX ,GND (reffer to this picture: https://i.ibb.co/Pmrf9KB/20240116-103524.jpg ) BDF's files are in firmware_qca-wireless https://github.com/openwrt/firmware_qca-wireless/ and in parallel sent to ath10k@lists.infradead.org. Signed-off-by: Marcin Gajda <mgajda@o2.pl>
* qualcommax: ipq807x: add support for Linksys MX5300Paweł Owoc2024-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: ======== SoC: Qualcomm IPQ8072A Flash: 512MB (Winbond W29N04GZBIBA) RAM: 1GB (2x Nanya DDR3L NT5CC256M16ER-EK) Ethernet: 5x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 5GHz ac 4x4 (Qualcomm QCA9984 + Skyworks SKY85746-11) - channels 100-169 WiFi2: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 WiFi3: 2.4GHz ax 4x4 (Qualcomm QCN5024 + Skyworks SKY8340-11) IoT: Bluetooth 5, Zigbee and Thread (Qualcomm QCA4024 + Skyworks SE2433T-R) IoT Flash: 4MB (Macronix MX25R3235F) RTC: ST M41T00S LED: 1x RGB status (NXP PCA9633) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions: ======== 1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin image. More details can be found here: https://www.linksys.com/hk/support-article?articleNum=274497 After first boot check actual partition: - fw_printenv -n boot_part and install firmware on second partition using command in case of 2: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 2. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd21 0 0 nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB FAT32 formatted drive: Stop u-boot and run: - usb start && fatload usb 0:1 $loadaddr openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx5300-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX5300_1.1.9.200251_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX5300_1.1.9.200251_prod.img alt_kernel 5. USB recovery: - fw_setenv usbimage 'openwrt-qualcommax-ipq807x-linksys_mx5300-initramfs-uImage.itb' fw_setenv bootusb 'usb start && fatload usb 0:1 $loadaddr $usbimage && bootm $loadaddr' fw_setenv bootcmd 'run bootusb; aq_load_fw && if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' Notes: ======== IoT device is accesible over spi. Not yet supported. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Reviewed-by: Robert Marko <robimarko@gmail.com>
* qualcommax: ipq60xx: Add 8devices Mango DVKMantas Pucka2024-02-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8devices Mango DVK is a single board computer / devkit for 8devices Mango system-on-module (SoM). Specifications: * CPU: Qualcomm IPQ6010 Quad core Cortex-A53 1.8GHz * RAM: 512 MB * Storage: * 32 MB serial NOR flash (on SoM) * 256 MB parallel NAND flash (on DVK) * Ethernet: * 2x1G RJ45 ports(QCA8072 or QCA8075) * 1x2.5G RJ45 port (QCA8081) * 1xSFP (shares SGMII with QCA8081) * Switch: Qualcomm Atheros IPQ6010 * WLAN: * 2.4GHz: QCN5121 2x2 802.11b/g/n/ax 574 Mbps PHY rate * 5GHz: QCN5152 2x2 802.11a/n/ac/ax 1201 Mbps PHY rate * USB: * 1x USB3.0 Type-A port * 1x USB2.0 available at mini PCIe slot * PCIe: 1x mini PCIe slot 1xLane Gen3 (8GT/s) * SD/eMMC (on a single shared bus - only one can be active): * micro SD slot * eMMC module connector * LEDs: * Green power led (not controllable) * Green 2.4GHz radio led (GPIO 67) * Green 5GHz radio led (GPIO 66) * Buttons: * 1x (WPS GPIO79) button * GPIOs: 2.54mm header brings out 18 GPIOs (1.8V level) * UART: 4-pin UART header (3.3V level) * 115200 8N1, 3.3V-Tx-Rx-GND (3.3V is pin 1 close to boot-switch SW2) * Power: * PoE IN on 2.5G port (passive 24-48V) * DC power terminal (12-58V) Installation instructions: Vendor image format is compatible with squashfs-sysupgrade image. Run: sysupgrade -n -F openwrt-qualcommax-ipq60xx-8devices_mango-dvk-squashfs-sysupgrade.bin Signed-off-by: Mantas Pucka <mantas@8devices.com>
* uboot-rockchip: add Radxa CM3 IO board supportMarius Durbaca2024-02-21
| | | | | | | Add support for the Radxa CM3 IO board. Reviewed-by: Tianling Shen <cnsztl@immortalwrt.org> Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
* rkbin: add rk3566 atf/tpl blobsMarius Durbaca2024-02-21
| | | | | | | Currently there are no atf/tpl blobs for rk3566 SoCs so this commit adds the prebuilt firmware from the vendor. Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
* rockchip: add NanoPi R4S Enterprise Edition buildTianling Shen2024-02-19
| | | | | | | | | | | FriendlyElec renamed the NanoPi R4S board with EEPROM (mac address) to "enterprise" edition, and it was added as a "new" board in upstream kernel. This patch switched to use that upstreamed dts and removed local EEPROM patch. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* uboot-rockchip: add NanoPi R2C Plus supportTianling Shen2024-02-19
| | | | | | Add support for the FriendlyARM NanoPi R2C Plus. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* uboot-mediatek: bpi-r3-mini: fix typo in bootmenuDaniel Golle2024-02-16
| | | | | | | Fix typo in eMMC bootmenu. Fixes: bc25519f98 ("uboot-mediatek: add builds for BananaPi BPi-R3 mini") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: bpi-r3-mini: fix NAND flash layoutDaniel Golle2024-02-16
| | | | | | | | Fix NAND flash layout which was out-of-sync with the definition in ARM TrustedFirmware-A which expects UBI to start at 0x200000. Fixes: b03d3644cf ("mediatek: filogic: add BananaPi BPi-R3 mini") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: add BananaPi BPi-R3 miniDaniel Golle2024-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- SoC: MediaTek MT7986A 4x A53 Flash: 128MB SPI-NAND, 8GB eMMC RAM: 2GB DDR4 Ethernet: 2x 2.5GbE (Airoha EN8811H) WiFi: MediaTek MT7976C 2x2 2.4G + 3x3 5G Interfaces: * M.2 Key-M: PCIe 2.0 x2 for NVMe SSD * M.2 Key-B: USB 3.0 with SIM slot * front USB 2.0 port LED: Power, Status, WLAN2G, WLAN5G, LTE, SSD Button: Reset, internal boot switch Fan: PWM-controlled 5V fan Power: 12V Type-C PD Installation instructions for eMMC ---------------------------------- 0. Set boot switch to boot from SPI-NAND (assuming stock rom or immortalwrt running there). 1. Write GPT partition table to eMMC Move openwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-gpt.bin to the device /tmp using scp and write it to /dev/mmcblk0: dd if=/tmp/openwrt-*-r3-mini-emmc-gpt.bin of=/dev/mmcblk0 2. Reboot (to reload partition table) 3. Write bootloader and OpenWrt images Move files to the device /tmp using scp: - openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin - openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb Write them to the appropriate partitions: echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin of=/dev/mmcblk0boot0 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb of=/dev/mmcblk0p4 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb of=/dev/mmcblk0p5 sync 4. Remove the device from power, set boot switch to eMMC and boot into OpenWrt. The device will come up with IP 192.168.1.1 and assume the Ethernet port closer to the USB-C power connector as LAN port. 5. If you like to have Ethernet support inside U-Boot (eg. to boot via TFTP) you also need to write the PHY firmware to /dev/mmcblk0boot1: echo 0 > /sys/block/mmcblk0boot1/force_ro dd if=/lib/firmware/airoha/EthMD32.dm.bin of=/dev/mmcblk0boot1 dd if=/lib/firmware/airoha/EthMD32.DSP.bin bs=16384 seek=1 of=/dev/mmcblk0boot1 Installation instructions for NAND ---------------------------------- 0. Set boot switch to boot from eMMC (assuming OpenWrt is installed there by instructions above. Using stock rom or immortalwrt does NOT work!) 1. Write things to NAND Move files to the device /tmp using scp: - openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin - openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb Write them to the appropriate locations: mtd write /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin /dev/mtd0 ubidetach -m 1 ubiformat /dev/mtd1 ubiattach -m 1 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip) ubimkvol /dev/ubi0 -N fip -n 0 -s $volsize -t static ubiupdatevol /dev/ubi0_0 /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip cd /lib/firmware/airoha cat EthMD32.dm.bin EthMD32.DSP.bin > /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -N en8811h-firmware -n 1 -s 147456 -t static ubiupdatevol /dev/ubi0_1 /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -n 2 -N ubootenv -s 126976 ubimkvol /dev/ubi0 -n 3 -N ubootenv2 -s 126976 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb) ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb) ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb 3. Remove the device from power, set boot switch to NAND, power up and boot into OpenWrt. Partially based on immortalwrt support for the R3 mini, big thanks for doing the ground work! Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add builds for BananaPi BPi-R3 miniDaniel Golle2024-02-15
| | | | | | | | The R3 mini comes with two Airoha EN8811H PHYs for 2.5G Ethernet. The driver added to U-Boot expects the firmware for the PHY to be stored inside UBI volume en8811h-fw or MMC boot1 hardware partition. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI buildDaniel Golle2024-02-15
| | | | | | | | | | | | | | | | | Move fip and factory into UBI static volumes. Use fitblk instead of partition parser. !! RUN INSTALLER FIRST !! Existing users of previous OpenWrt releases or snapshot builds will have to **re-run the updated installer** before upgrading to firmware after this commit. DO NOT flash or run even just the initramfs image unless you have run the updated installer which moves the content of the 'factory' partition into a UBI volume. tl;dr: DON'T USE YET! Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: convert unifi6lr-v{1,2,3}-ubootmod to fitblkDaniel Golle2024-02-15
| | | | | | No bootloader changes needed in this case, smooth transition. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: convert BPi-R64 to all-UBI layout and fitblkDaniel Golle2024-02-15
| | | | | | | Modernize bootloader and flash memory layout of the BPi-R64 similar to how it has also been done for the BPi-R3. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: add UBI-enabled builds for MT7622Daniel Golle2024-02-15
| | | | | | | Use custom UBI start address 0x80000 on MT7622 which is more than enough for a single bl2 (MT7622 BootROM doesn't support redundant bl2). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-envtools: mediatek_filogic: update bpi-r3Daniel Golle2024-02-15
| | | | | | Unify env configuration now that BPi-R4 and BPi-R3 both use fitblk. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: bpi-r3: all-UBI NAND layout, use fitblkDaniel Golle2024-02-15
| | | | | | | | | | Modernize U-Boot to provide a better reference: * store fip image in UBI now that TF-A supports that * switch from uImage.FIT partition parser to new fitblk virtual firmware block driver (root=/dev/fit0) * automatically set root device according to boot_mode register Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: add mt7986-spim-nand-ubi-ddr4Daniel Golle2024-02-15
| | | | | | | Add UBI-enabled build for MT7986 with SPIM-NAND and DDR4 for use with the BananaPi R3 board. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-envtools: filogic: add support for BananaPi R4Daniel Golle2024-02-15
| | | | | | | | Add environment settings for the BananaPi BPI-R4 router board which can boot from (and store its bootloader environment on) micro SD card, SPI-NAND and eMMC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-envtools: filogic: de-duplicate UBI env settingsDaniel Golle2024-02-15
| | | | | | | Use function instead of duplicating the env settings on UBI for OpenWrt-built U-Boot over and over. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: update to U-Boot 2024.01 releaseDaniel Golle2024-02-15
| | | | | | | | Rebase local patches on top of quarterly timed release, allowing to drop numerous patches which have been accepted upstream since the release of U-Boot 2023.07.02. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add build for BPi-R4Daniel Golle2024-02-15
| | | | | | | Add build for the BananaPi R4 board which can boot from micro SD, SPI-NAND or eMMC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: mt7988: set rootdisk according to boot deviceDaniel Golle2024-02-15
| | | | | | | If nodes /chosen/rootdisk-${bootdevice} exists, set /chosen/rootdisk phandle according to boot device selected by the bootstrap pins. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: fix MMC erase timeoutDaniel Golle2024-02-15
| | | | | | | | When erasing large amounts of blocks at once this can take a long time on slow cards. Instead of a fixed timeout, wait longer if more blocks are being erased. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)Daniel Golle2024-02-15
| | | | | | | | | Add basic U-Boot drop-in replacement compatible with the flash layout of the vendor loader of the Zbtlink WG3526 (16M) MT7621 router board. The idea here is a to have a reference build of uboot-mediatek also for a simple MIPS boards more popular than MT7621 RFB. Signed-off-by: Daniel Golle <daniel@makrotopia.org>