- Add mainline device tree for YY3588 board
- Enable all peripherals: USB 3.0, Ethernet, PCIe, HDMI
- Add RK8602 PMIC regulators for CPU/NPU power
- Enable I2C buses for PMIC and RTC
- Fix pinctrl conflicts (I2C1 M2, disable SFC for UART7)
- Configure USB-C and USB 3.0 host ports
- Add HDMI0 output with HDPTX PHY
- Enable thermal management with PWM fan
- Add SD card and eMMC storage support
- Configure all UARTs, I2S audio, and SPI buses
- ES8323 audio codec currently disabled for further debugging
- no need for vendor u-boot, as mainline can boot vendor kernel fine
- update comments with hardware pin references
- mainline boot order: NVMe -> USB -> eMMC
- boot order: NVMe -> MMC
- GMAC works
- nvme works
- `ums` et al working
- usb3 ports (on carrier board) work
- DT is copy (not symlink) from kernel DT due to NPU nodes
- vendor:
- kernel: armbian/linux-rockchip already had a DTS from jriek
- u-boot: taken from jriek (reorg'ed the defconfig)
- edge:
- kernel: taken from jriek's 6.11 wip branch
- u-boot: generic (can only boot SD/eMMC)
Switch to NO_HZ_IDLE for energy saving. Also enable Menu cpuidle
governor for tickless systems.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Igor Pecovnik <igor@armbian.com>
> merry everything and a happy always
- mainline:
- enable "edge" branch, with custom DT
- works: almost everything
- does NOT work:
- USB-C port is only for OTG/UMS (NOT USB3-host) - didn't describe fusb302 et al in DT
- any of the 3x HDMI -> MIPI (or whatever) HDMI-In's (thus this is a 1x1, not 4x1)
- front USB3 blue ports are actually USB2 (also in vendor kernel)
- front USB2 black ports don't work (but are powered)
- Analog audio - didn't describe, could be, but I've no way to test
- use mainline u-boot v2026.01-rc5 (with custom DT/defconfig/etc) with mainline ATF
- boot order: SD -> NVMe -> USB -> eMMC -> ETH
- adapt usage of shared "mekotronics" vendor include only for vendor/legacy
- also fix DTB: `rockchip/rk3588-blueberry-r58-4x4.dtb` for vendor
- same across vendor and mainline
- mainline u-boot kinda-boots vendor kernel, but TF-A mismatch ref HDMI-rx
- so use vendor u-boot and rk blob for vendor branch/kernel
- also enable CONFIG_ROCKCHIP_MASKROM_IMAGE for quick development
- fix conflicting vendor hook
- only hack the vendor u-boot down to next-dev-v2024.03 for vendor/legacy
- works pretty nice (albeit no USB support in kernel, only u-boot)
- this is still `WiP`: once Kwiboo lands his rk3528 patchset,
most of this will change / be much simpler. Just be patient!
- Important: the Realtek DSA switch chip is not really understood
by the likes of NetworkManager and systemd-networkd; they'll think
the board has 4 ethernet interfaces, which is not really true.
Only one real MAC address (the SoC's GMAC) exists; in front of it
is a programmable switch; to make it work one needs custom setup
to bridge the LANx ports and keep WAN separate. Even then, the
WAN port will have the same MAC as LANx and needs to be really
used on a separate physical network, otherwise chaos/conflicts.
For simple usage/testing, I recommend to connect only LAN1 and
disable the other ports in NetworkManager after the first boot.
- Note: `edge` u-boot can be written to MTD/SPI-FLASH and works.
But keep in mind it _cannot_ boot the vendor kernel (it hangs
during pcie init); might work when booting from SD, if pcie is
not enumerated by u-boot.
* sunxi-6.18: make the mess even worse
* fixing one of megis patches and add sunxi 32bit to the mess
* rewrite against 6.18
* fix media-ov5640-Don-t-powerup-the-sensor-during-driver-probe.patch
* fix media-sun6i-csi-implement-vidioc_enum_framesizes.patch
* fix misc-modem-power-Power-manager-for-modems.patch
* Fix usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch, include rewrite
* fix mmc-sunxi-mmc-Remove-runtime-PM.patch, two hunks no longer apply
* re-extract all of megis patches
* remove unneeded branch
* add note to disabled patch
* auto-generated, out of date
* drop megous drm patches in favor of Jernej's work. disable broken patches
* disable patch which breaks compilation for armhf
* disable breaking patch, rewrite everything
* remove patches unrelated to sunxi family
* fix spi dev compatible patch
* fix tsc2007 patch
* drop mainlined patch, adjust x96 mate T95 eth sd card hack
* remove upstreamed patch
* re-enable no longer broken
* another rewrite to align stuff properly
* adjust various comments in series.conf
* recover lost overlays
* uew5622: fix compilation against Linux 6.18
* fix Add-sunxi-addr-driver-Used-to-fix-uwe5622-bluetooth-MAC-address.patch
* adjust patch subject to make sense
* restore fixup creation
restore overlay prefix on opiz2
this needs to be properly sorted at some point
* bump to 6.18.1
sunxi and sunxi64 build just fine
* fix and re-enable drv-mfd-axp20x-add-sysfs-interface.patch
* rewrite patches
* Add BOARD_VENDOR to board configs
* Add BOARD_VENDOR to all board configuration files
- Added BOARD_VENDOR variable to board configuration files
- Using lowercase vendor slugs (e.g., friendlyelec, radxa, xunlong)
- Set 'generic' for boards without clear vendor match
- TV box files (.tvb) excluded as they have no clear vendor
- Enables better board categorization and vendor-specific handling
* Manual adjustements on top of AI matching
* Drop doubled definition and add retroid vendor
- vendor stuff boots, mostly works
- edge started, using Kwiboo's tree, but not enabled
- u-boot mostly works, but needs rework against v2026.01
- revisit after 6.19
- rk3528 pcie already landed
- the RTL8367RB switch vs the GMAC might need more work
This is a rk3566 tv box evaluation demo board.
Specification:
- Rockchip RK3566
- DDR4 4GB
- TF sd scard slot
- eMMC
- AP6398S for WiFi + BT
- Gigabit ethernet
- HDMI out
- USB HOST 2.0 x 2
- USB 3.0 x 1
- USB OTG 2.0 x 1
- 12V DC Power supply
Signed-off-by: Andy Yan <andyshrk@gmail.com>
Add asound.state configuration for NanoPC T6 and T6 LTS to properly
configure audio devices and mixer settings.
- Set ASOUND_STATE variable in board config
- Add asound.state.nanopct6 blob with preconfigured mixer settings
This ensures audio devices are properly initialized on first boot.
- having CONFIG_DUMMY=y causes a fake/dummy interface `dummy0` to be
_always_ present
- that in turn can confuse things like cloud-init in nocloud-net mode
- changing it to module, it can still be used (just modprobe)
- I found this using `linux-rk35xx-vendor`, but I reason it applies to
all kernels; most other kernels already have it `=m`
A couple of these configs have gotten out of sync with is making it
difficult for the automation scripting to properly re-write these
configs correctly. Mostly due to the "edge" kernel being updated
to the latest v6.18 kernel, but also due to the RT config not being
updated in some time. Manually update these configs and check for
correctness.
Signed-off-by: Andrew Davis <afd@ti.com>
The device tree aliases show:
- mmc0 = sdhci (eMMC, 8-bit, non-removable)
- mmc1 = sdmmc (SD card, 4-bit, removable)
Previous boot order (mmc0, nvme, mmc1) caused the system to always
boot from eMMC when multiple storage devices were present, ignoring
bootable SD cards.
New boot order (mmc1, nvme, mmc0) now correctly prioritizes:
1. SD card
2. NVMe
3. eMMC
This ensures consistent boot behavior when using SD card as primary
boot device.
- Add mainline U-Boot support for edge branch (v2026.01-rc2)
- Add U-Boot defconfig patch for nanopi-r76s
- Fix USB3.0 Type-A host port configuration in DTS
- Enable USB OTG0 controller in host mode with power GPIO control
- Set KERNEL_TEST_TARGET to edge