> Based on AmazingFate's kernel DT and Kwiboo's `rk3568-2023.10`
Tested with a OrangePi 3B 4GB v1.1:
- SD-card boot
- eMMC boot
- SPI Flash boot
- chip is XMC `XM25QU128CWIQ`, not `W25Q256JWEIQ` listed in schematics
- PCIe/NVMe
- Ethernet has stable MAC
- can boot both edge (mainline) and legacy (vendor rk 5.10) kernels
- USB in uboot is untested
- UMS untested (I lost my A-to-A otg cable)
After we bumped u-boot to version v2022.10, a couple of boards
stopped booting because the CONFIG_SPL_STACK value used in our
u-boot config was too low for that SOC. This change drops explicit
CONFIG_SPL_STACK defination from the affected boards.
The boards confirmed to have the issues were Orange Pi 3 LTS and
NanoPi Neo Black2 but I suspect that NanoPi K1 plus is also affected
hence similar change is done for that as well
- using Kwiboo's `rk3568-2023.10` branch with BINMAN-handled blobs
- patches (defconfig unless indicated):
- boot usb first (rockchip-common)
- blink leds & keep red one one on preboot; reset SPI env once after deinfesting from Petitboot
- change usb_host0_xhci to otg (u-boot dtsi)
- enable DM_GADGET, UMS 🔥 and RockUSB
- **usage instructions**:
- build & burn image to SD card
- insert SD card into board
- **hold the recovery (RCY) button** and power on the board
- watch board boot
- **de-infest Petitboot**: use `armbian-install` to install bootloader to MTD
- if you don't, you'll need to hold the recovery button every boot
- optionally: use `armbian-install` to install OS to eMMC/NVMe/USB
- power-off board
- remove SD card (new u-boot always boots SD first!)
- boot into your newly de-infested machine
- boot order: USB, SD, MMC, NVME, SCSI
- de-infested machine can now boot (directly) from USB/SATA/NVMe, possibly via EFI:
- Armbian UEFI-arm64
- Fedora 38 aarch64
- HASSOS for ODROID-M1
- Talos arm64
- others...
- extra: new u-boot by Kwiboo (with GMAC patches) gives us stable MAC address
- although it is based on cpuid#, doesn't match the HK sticker on the board
- run `fw_setenv ethaddr XX:XX:XX:XX:XX:XX` to change eth addr in SPI flash environment if needed
- `odroidm1`: update DDR/BL31 blobs (this depends on https://github.com/armbian/rkbin/pull/20)
Backport DTS/DTSI changes from linux-6.4.y to 6.1.y
Add meson64-reboot driver to all boards
Add board: ODROID N2L
Add uart_A uart_AO_B uart_B uart_C where appropriate
U-Boot v2023.07.02: ODROID N2/N2L/N2Plus/C4
Meson64-reboot driver: (source: tobetter)
While the current meson64-reboot driver is cleaner and doesn't
depend on modding other kernel sources, its functionality leaves
much to be desired. One example can be found in the ODROID C4.
Using the current driver, the board will not properly power off,
leaving the POWER LED still on. The new driver powers off the unit
completely.
Fan control: (ODROID N2L/N2PLus)
Added service and script for controlling the trip point.
fanctrl: arguments: 65 55 45 35 25 menu run
┌──┤ Fan Control ├──┐
│ │
│ 6) 65°C │
│ 5) 55°C │
│ 4) 45°C │
│ 3) 35°C │
│ 2) 25°C │
│ E) Exit .. │
│ │
│ │
│ <Ok> │
│ │
└───────────────────┘
NOTES: (N2L/HC4): I do not own the units so I can't run tests.
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
Removed WIP status
Added CONFIG_R8169=m to defconfig(s) (eth support)
Modified and added additional patches (linux 6.1 / 6.4)
U-Boot v2023.07.2 (dropped v2022.10)
Upstream BT FW (rtl8822cs) is now shared between CM4IO and M2s
Signed-off-by: Patrick Yavitz <pyavitz@xxxxx.com>
- `2023.04` fails during USB init, thus using 23.01 (23.07 untested)
- `blobless` with newer 2.8.5 ATF
- the previous problems with PCIe are _not_ totally solved by this
- meko: don't use Radxa's Rock-5A u-boot anymore, switch to rockchip vendor next-dev branch
- meko: my own (horrible) patches for MAC address stability / defconfig
- meko: cherry picked a few patches for getting rid of BL32/read Bl31 from env and other fixes from Radxa
- meko: add OTP node to 3588 dtsi (so we don't need kern-dtb in ITS for working OTP)
- meko: refactor common code across 3 (soon to be 4) board files into vendor conf and hooks
- meko: bump DDR/BL31 blobs for all Meko boards
* Add support for Recore
Signed-off-by: Elias Bakken <elias@iagent.no>
* Add board maintainter to boad config
Signed-off-by: Elias Bakken <elias@iagent.no>
---------
Signed-off-by: Elias Bakken <elias@iagent.no>
- those were clearly/unfortunately meant to be applied "after" the common patches, so add a `zzz-` prefix
- how did this _ever_ work before? unclear...
- `sunxi_common`: don't overwrite `BOOTPATCHDIR` if it is set by the board (default, but do not overwrite)
- hammer `allwinner-h616-GPU-enable-hack.patch`
- symptoms:
- no video display in u-boot
- can't boot from SD (but does from eMMC)
- this has proven to solve nothing, but is still neat
- real problem is probably the FIP?
- have absolutely no idea if this works. there's also some other `armv5` variants to try if this does not.
- XU4's CPU is Exynos5422 ARM Cortex-A15 which should be armv7-a indeed, so why not?
- i.MX 6 series is ARM Cortex-A9 or Cortex-A7, which should be armv7-a indeed, so why not?
- ARMADA A388 is 32-bit Cortex A9, which should be armv7-a indeed, so why not?
- sharing most UEFI code, will replace the `virtual` one soon
- x86: patch uboot defconfig to use the `q35` machine type, not `i440fx`
- separate x86 bootscript, due to non-uInitrd-ness of it
- hack ramdisk load address both in u-boot source and bootscript
- use 32-bit u-boot, not 64-bit
- grub: introduce `UEFI_GRUB=skip`, does not deploy GRUB (but does the kernel packages, etc)
- auto-enable qcow2 output for these
- works with both distro's and Armbian's kernels
U-boot-rockchip64. No code changes. Original patch applied and new patch generated then mbox tweaked to retain relevant details. Prevents patching errors in armbian-next.
* Fixed u-boot v2022.07 compilation for Helios64
* Move Helios64 back from EOS to community supported as images can be assembled
Co-authored-by: Igor <igor@armbian.com>
- notes in the board file about the RAM issues (tested, confirmed working blob change of #4383 by @pinhaozhang working with u-boot 21.07; `blobless` also works with ATF v2.7 on my known-good-RAM boards)
- tinkerboard-2: add full firmware, for the rtl8822ce PCIe Wifi default card in the tb2 as shipped by ASUS
- tinkerboard-2: uboot: rename `TARGET_TINKER-2_RK3399` to `TARGET_TINKER2_RK3399` to avoid warnings all over
- tinkerboard-2: slower but working Tinkerboard 2S eMMC (HS400+ES to HS200)
- both for u-boot and kernel.
- should not affect 2, only 2S
* `meson64`: `6.0`: g12a and g12b pinmux patches from Radxa
* u-boot: `radxa-zero2`: Radxa's patches for the Zero2 on `v2022.10`
* u-boot: `radxa-zero2`: use `v2022.10` plus Radxa's patches
* `meson64` u-boot v2022.10: change `BOOT_TARGET_DEVICES` to try to boot USB, NVME and SCSI before SD, MMC, PXE, DHCP
* `radxa-zero`: include v2022.10 standard patches (eg: boot from USB first)
* Move all legacy u-boot patches under one general legacy folder
* Move 32b Rockchip under 2022.04 and legacy for Miqi
Tested
* Move Rock 3A patch dir under legacy
* Move / merge meson64 patch folder into v2022.07
Merge 2022.04 (mainly Rockchip 32) into 2022.07, tested
* Remove not needed patch
* Add last kernel version to config
* `odroidm1`.wip: hk's `legacy`= 4.19 and `edge`= mainline+tobetter's 5.19 rebased; *requires* `skip_spiboot=true`
- @TODO: family/etc naming is terrible with vendor kernels. Sorry. Fight over it and let me know?
- @TODO: config is very probably incomplete.
- new `boot-rockchip64-vendor.cmd`:
- does not use fixed load_addr, instead use ramdisk_addr_r for everything
- load kernel and initrd as late as possible
- look for overlays twice:
- once: with prefix and folder
- twice: without prefix, nor folder; helps with vendor provided overlays like hk's and tobetter's
- wip: edge: tobetter's patchset rebased against 5.19.3
- wip: edge: bump to tobetter's 5.19
- legacy: .config `CONFIG_ARM64_VA_BITS_48=y`
- wip m1: update legacy config from odroid
- odroidm1: container/bpf stuff in legacy config
* Update configs and enable beta build target
* Adjust current kernel
* Update targets
* Remove everything but EDGE kernel
* Cleanup
* Fix
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
* rock-5b: add initial raxda rock-5b .wip (by @amazingfate); vendor u-boot & kernel
- .wip board
- using BOARDFAMILY `rk35xx`, which was for rock-3a
- patch by @piter75 uboot for working 'source' command so boot.scr can be used, and not extlinux
- .config: hammer CONFIG_JOYSTICK_XPAD & CONFIG_JOYSTICK_PSXPAD_SPI
- rock5 add kernel optiions by @lanefu
- disable CONFIG_LOCALVERSION_AUTO otherwise packaging goes insane
- make its kernel is own LINUXFAMILY to as to not mess up rock-3a
- CONFIG_VT=y & SKIP_BOOTSPLASH="yes"
* Add separate family for rock 5b - rockchip-rk3588
Co-authored-by: amazingfate <liujianfeng1994@gmail.com>
Co-authored-by: root <catalinii@yahoo.com>