- 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.