Commit Graph

29169 Commits

Author SHA1 Message Date
Mantas Pucka
548c5935bf qualcommax: ipq60xx: set correct PHY mode for port 0-4
[port 8ed390a (qualcommax: set correct PHY mode for port 0-4) to ipq60xx]

Port 0-4 have the mode set to SGMII instead of PSGMII. Now that we use
he upstream qca807x driver, this conflicts with the qca SSDK driver
that expects the mode to be PSGMII as for not integrated driver, it does
refer to the real PHY mode.

Update the entry for port 0-4 to PSGMII to solve warning from qca SSDK
in ipq6018-ess.dtsi.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
2024-02-21 21:42:23 +01:00
Paweł Owoc
568f38a56b qualcommax: ipq807x: skip factory.ubi image for MX4200
Skip building not used factory.ubi image

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
2024-02-21 21:26:57 +01:00
Paweł Owoc
e670a939cd qualcommax: ipq807x: remove duplicated sysupgrade image definitions
Image sysupgrade.bin is defined by default and there is no need to define it.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
2024-02-21 21:26:57 +01:00
Paweł Owoc
2b82c87b1f qualcommax: ipq807x: fix variable definition
Fix variable definition, prevent displaying warnings:
- warning: overriding recipe for target
- warning: ignoring old recipe for target

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
2024-02-21 21:26:57 +01:00
Shiji Yang
01996b785d ramips: clean up useless dts partition labels
The previous NVMEM eeprom conversions[1][2] left a lot of partition
labels that were no longer used. They can be removed now.

[1] https://github.com/openwrt/openwrt/pull/13584
[2] https://github.com/openwrt/openwrt/pull/13587

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2024-02-21 13:31:18 +01:00
Marius Durbaca
c22c63bce3 rockchip: add Radxa CM3 IO board support
Hardware
--------
RockChip RK3566 ARM64 (4 cores)
- up to 8GB LPDDR4X
- 1x HDMI,
- 2x MIPI DSI
- 2x MIPI CSI2
- 1x eDP
- 1x PCIe card
- 2x SATA
- 2x USB 2.0 Host
- 1x USB 3.0
- 1x USB 2.0 OTG
- 10/100/1000 Base-T
- microSD slot
- 40-pin GPIO expansion header
- 12V DC

Radxa CM3 needs to mount on top of this IO board in order to create
complete Radxa CM3 IO board platform.

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Reviewed-by: Tianling Shen <cnsztl@immortalwrt.org>
Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
2024-02-21 13:29:26 +01:00
Christian Marangi
4883e4c04f
generic: replace simple AQR hack patch with upstream version
Simple AQR hack patch has been merged upstream, hence we can drop it from
hack directory and move it to backport.

The patch for 5.15 are correctly reworked to align to outdated API.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-02-21 02:34:32 +01:00
Rafał Miłecki
ae036c26fd mediatek: filogic: fix mt7981 DT nodenames
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-20 12:42:28 +01:00
Rafał Miłecki
6bda7d2090 mediatek: filogic: improve mt7981 DT coding style
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-20 12:42:28 +01:00
Rafał Miłecki
388bc4b365 mediatek: filogic: reorder mt7981 DT properties
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-20 12:42:28 +01:00
Rafał Miłecki
faa7b7dd0a mediatek: filogic: reorder mt7981 DT SoC reg-based nodes
Follow upstream Linux kernel guidelines:
https://www.kernel.org/doc/html/next/devicetree/bindings/dts-coding-style.html#order-of-nodes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-20 12:42:28 +01:00
Rafał Miłecki
c094131c1a mediatek: filogic: reorder mt7981 DT name-based nodes
Follow upstream Linux kernel guidelines:
https://www.kernel.org/doc/html/next/devicetree/bindings/dts-coding-style.html#order-of-nodes

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-20 12:42:28 +01:00
Robert Marko
63f7ced2f0 generic: 6.1: add missing symbol for EN8811H PHY driver
Disable Airoha EN8811H PHY driver by default to avoid individual targets having to
disable it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-02-19 21:40:06 +01:00
Tianling Shen
afca1236f3 rockchip: add NanoPi R4S Enterprise Edition build
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>
2024-02-19 20:52:06 +01:00
Martin Garbe
873b0ed42c ath79: update WA/XC devices UBNT_VERSION to 8.7.4
Ubiquiti WA devices with newer hw version (sold 2023)
require UBNT_VERSION to be at least 8.7.4, otherwise
the image is rejected.

For consistency, also increase version number for XC devices.

Signed-off-by: Martin Garbe <monomartin@opennet-initiative.de>
2024-02-19 16:51:39 +01:00
Tianling Shen
782266473d rockchip: add NanoPi R2C Plus support
The NanoPi R2C Plus is a small variant of NanoPi R2C with a on-board
eMMC flash (8G) included.

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-19 16:23:32 +01:00
Chukun Pan
4108c0c1b6 qualcommax: backport more changes for ipq6018 and ipq8074
- Mark patches as upstream
 - Backport more upstream changes
 - Handle conflicts and refresh patches

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2024-02-19 15:01:12 +01:00
Rafał Miłecki
0ef9274721 mediatek: filogic: move mt7981 on-SoC blocks to "soc" node in DT
It's a standard way of grouping on-SoC hardware blocks and this matches
upstream DTS.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-19 07:02:49 +01:00
Daniel Golle
fba79f39f2 mediatek: filogic: fix nvmem cell names of the GL.iNet MT-2500
Fix style of nvmem cell names in the device tree of the GL.iNet MT-2500.

Fixes: 49ed52b862 ("mediatek: filogic: convert GL.iNet MT-2500 to use NVMEM-on-MMC)"
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-19 03:23:43 +00:00
Koen Vandeputte
a3a33f02ce
imx: remove 5.15 support
Drop all 5.15 files as 6.1 is the default now

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2024-02-18 11:23:19 +00:00
Koen Vandeputte
dc685cf36e
imx: switch to kernel 6.1
I have this kernel running for weeks some
on a lot of boards in multiple scenarios

Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2024-02-18 11:23:11 +00:00
John Audia
5fe80218f9
kernel: bump 6.1 to 6.1.78
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.78

Manually rebased:
	bcm27xx/patches-6.1/950-0865-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
	bcm27xx/patches-6.1/950-0124-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3, logic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3, logic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
2024-02-18 11:20:27 +00:00
Stefan Kalscheuer
df95595b45
mvebu: drop kernel 5.15 config and patches
With default now being at 6.1 we can remove all 5.15 components.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
2024-02-18 11:14:13 +00:00
Stefan Kalscheuer
75f713fcc2
mvebu: switch to kernel 6.1
After a few months of testing it's time to move to 6.1 by default.

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
2024-02-18 11:14:12 +00:00
Bjørn Mork
6da308f4de realtek: fix Netgear GS110TPP OEM install
Recent OEM firmware versions test the version number embedded in the uimage
"name" header field. The exact restricton is unknown, but "7.0.8.4" seems
to be the lowest number accepted on a GS110TPPv1 which already has that
version or higher.

A "9.9.9.9" version is accepted as valid by the GS110TPPv1 OEM firmware,
and considered both unique enough to identify an OpenWrt image and
moderately future proof against OEM version bumps.

This change is also boot tested on a GS108Tv3 with

 "BOOT Loader Version 1.0.0.2 (2018-08-31 17:05:26 UTC)"

to verify that it doesn't break boot on older hardware.

Link: https://forum.openwrt.org/t/72510/58
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2024-02-18 09:56:45 +01:00
Daniel Golle
49ed52b862 mediatek: filogic: convert GL.iNet MT-2500 to use NVMEM-on-MMC
Use nvmem-layout in device tree instead of extracting MAC addresses
in userspace.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-18 03:36:06 +00:00
Daniel Golle
6077fa2f61 mediatek: mt7981: remove inaccurate compatible strings
Remove more inaccurate compatible strings from various clock controllers
of the MT7981 SoC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-18 03:36:06 +00:00
Daniel Golle
7af3b202d4 mediatek: mt7981: prevent system freezes on boot
Import patch to make sure SGM_REG_SEL clock is always enabled as it
seems that more registers than just SGMIISYS0 and SGMIISYS1 are
depending on that clock being enabled.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-18 03:35:28 +00:00
Daniel Golle
bf20585412 mediatek: filogic: convert GL.iNet MT-6000 to NVMEM-on-MMC
Now that we can reference MMC partitions in device tree, use that
to get rid of Wi-Fi EEPROM and MAC address setup in userspace.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-18 03:26:15 +00:00
Daniel Golle
3c34a5bf99 kernel: nvmem: correctly assign fwnode to MMC block device
Use device_set_node to make sure OF node gets assigned on block
devices to be used as NVMEM providers. While block partitions were
already working fine as NVMEM providers, bare block devices such as
mmcblk0boot1 will not work without this change.

Fixes: fc153aa8d9 ("kernel: import pending patches adding support for NVMEM on UBI and MMC")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-18 03:25:39 +00:00
Robert Marko
3eb8782b49 qualcommax: ipq807x: wax630: correct UNIPHY2 MAC mode
UNIPHY2 on the WAX630 is connected to a QCA8081 PHY which is only 2.5G and
it does not support using USXGMII at all but rather only SGMII or SGMII+.

Tested-by: Kristian Skramstad <kristian+github@83.no>
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-02-17 22:14:17 +01:00
Daniel Golle
8955cadfb5 mediatek: dts: mt7981: fix ethsys clock compatible
Remove inaccurate compatible string 'mediatek,mt7986-ethsys' which
results in the wrong clock driver probing on MT7981 with Linux 6.1 and
ends up freezing the system once WED is used.

Fixes: da970d63fb ("mediatek: switch to Linux version 6.1")
Reported-by: Chen Minqiang <ptpt52@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-17 18:54:37 +00:00
Rafał Miłecki
3bd79e6136 mediatek: filogic: replace built-in Aquantia driver with module
Some Aquantia PHYs (e.g. AQR113C) require firmware to be uploaded by
host system. With built-in drivers this doesn't work in OpenWrt /
embeddded as filesystem isn't available during PHY probe. That results
in delays like:
[    1.588068] Aquantia AQR113C mdio-bus:00: Falling back to sysfs fallback for: Rhe-05.06-Candidate9-AQR_Mediatek_23B_P5_ID45824_LCLVER1.cld
[   64.526387] Aquantia AQR113C mdio-bus:00: failed to find FW file Rhe-05.06-Candidate9-AQR_Mediatek_23B_P5_ID45824_LCLVER1.cld (-110)

Switch to module to postpone PHY probe to init state.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-02-17 17:54:07 +01:00
Robert Marko
70498cb386 qualcommax: ipq807x: correct PHY mode for AQR
Interfaces that have AQR-s attached to them are using USXGMII and not just
the default SGMII.
This was fine until SSDK added some sanity checking and now on Qnap 301W it
would fail with:
[   24.740197] nss-dp 3a001800.dp5 10g-1 (uninitialized): failed to connect to phy device
[   24.740264] nss-dp: probe of 3a001800.dp5 failed with error -14

Since this is not Qnap 301W specific lets fix it subtarget wide by
declaring the correct PHY mode for 10G AQR-s.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-02-17 17:39:22 +01:00
Robert Marko
b38a1d6c65 qualcommax: ipq807x: 301w: correct PHY mode for AQR
Interfaces that have AQR-s attached to them are using USXGMII and not just
the default SGMII.
This was fine until SSDK added some sanity checking and now on Qnap 301W it
would fail with:
[   24.740197] nss-dp 3a001800.dp5 10g-1 (uninitialized): failed to connect to phy device
[   24.740264] nss-dp: probe of 3a001800.dp5 failed with error -14

So, lets fix 10G AQR ports by declaring the correct PHY mode.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-02-17 17:32:13 +01:00
Daniel Golle
dadad6bb73 mediatek: mt7622: skip build also for Xiaomi AX6S
Also here build fails due to increased kernel size.

Fixes: da970d63fb ("mediatek: switch to Linux version 6.1")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-17 14:23:43 +00:00
Daniel Golle
6e2962d4c5 mediatek: mt7622: skip build for MT7622 rfb1 (UBI)
Due to increased kernel size the build currently fails if including
the MT7622 rfb1 (UBI). Skip it for now until there is a better
solution (such as replacing the bootloader and changing the flash
layout).

Fixes: da970d63fb ("mediatek: switch to Linux version 6.1")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-17 04:28:52 +00:00
Daniel Golle
016ce30976 mediatek: filogic: bpi-r3-mini: include kmod-phy-airoha-en8811h
Include the needed Ethernet PHY driver module for the BananaPi R3 mini.

Fixes: b03d3644cf ("mediatek: filogic: add BananaPi BPi-R3 mini")
Reported-by: BPI forum user nezar_taima
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-17 01:30:25 +00:00
Tianling Shen
667d109d0f mediatek: filogic: bpi-r3-mini: fix power on M.2 slot
One of the pins requiered by M.2 slot is conflict with spi1,
however, spi1 seems unused so simply disable it for now, this
matches the factory behavior [1].

1. 9bd78779f2

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-16 13:56:01 +00:00
Tianling Shen
eebf865557 mediatek: filogic: bpi-r3-mini: bind WLAN LED-s to phy*-ap0
For showing wlan status.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-16 13:56:01 +00:00
Tianling Shen
8798f84cd6 mediatek: filogic: bpi-r3-mini: convert to new LED color/function format
Conversion to new LED color/function format and drop label format.

This was needed previously when the new format wasn't supported by
leds.sh functions script. Now that is supported this property can be
removed in favor of the new format.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-16 13:56:01 +00:00
Foica David
b0b8fd436f ath79: generic: fix the alphabetical order in 02_network
This commit fixes the alphabetical order in 02_network.
The 2 deco devices in ath79_setup_interfaces() were in the wrong place.

Signed-off-by: Foica David <superh552@gmail.com>
2024-02-16 14:10:11 +01:00
Chukun Pan
ee047edd2a qualcommax: AW1000: add qca8081 PHY LED configuration
Since we can configure the PHY LED of the qca8081,
add a configuration for this device.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2024-02-16 13:50:19 +01:00
Chukun Pan
c38ffd45b9 qualcommax: AW1000: sync qca807x PHY dts changes
The dts of Arcadyan AW1000 forgot to convert qca807x PHY
to PHY package implementation. This commit fix it.

Fixes: 0ab4b92 ("qualcommax: convert qca807x PHY to PHY package implementation")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Robert Marko <robimarko@gmail.com>
2024-02-16 13:50:19 +01:00
Daniel Golle
d5e2177a6b mediatek: filogic: bpi-r3-mini: fix generating ubinized image
Generate ubinized image as ARTIFACT and make use of now available
generic 'ubinize-image' build step intended for that purpose.

Fixes: b03d3644cf ("mediatek: filogic: add BananaPi BPi-R3 mini")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-16 05:40:17 +00:00
Daniel Golle
ae1c0f1b15 mediatek: filogic: bpi-r3-mini: fix NAND flash layout
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>
2024-02-16 05:40:14 +00:00
Daniel Golle
dc0cf0fc50 ramips: mt76x8: fix build due to renamed U-Boot binary
The U-Boot binary for the RAVPower RP-WD009 has been renamed.
In order to be uniform with all other U-Boot binaries generated the SoC type has been prepended.
Set that new name also in the image build recipe for that device in order to fix build.

Fixes: 927334a8f7 ("uboot-mediatek: add basic build for ZBT-WG3526 (MT7621, 16M SPI-NOR)")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-02-16 05:18:47 +00:00
Tim Harvey
4d3f6e1b43 imx: update default network config for ventana
update the default network configuration for Gateworks Ventana boards
such that the left-most front-panel NIC is WAN and any additional are in
LAN bridge

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-02-15 21:21:11 +01:00
Tim Harvey
2a21a69185 imx: add gpio-button-hotplug to ventana images
Add the gpio-button-hotplug to Gateworks ventana images to support
the on-board user pushbutton.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-02-15 21:21:11 +01:00
Daniel Golle
b03d3644cf mediatek: filogic: add BananaPi BPi-R3 mini
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>
2024-02-15 19:30:08 +00:00