
On 2023-07-06 01:27, Stefan Agner wrote:
On 2023-07-02 22:47, Jonas Karlman wrote:
Hardkernel ODROID-M1 is a single board computer with a RK3568B2 SoC, a slightly modified version of the RK3568 SoC.
Features tested on a ODROID-M1 8GB v1.0 2022-06-13:
- SD-card boot
- eMMC boot
- SPI Flash boot
- PCIe/NVMe/AHCI
- SATA port
- USB host
Device tree is imported from linux v6.4.
Signed-off-by: Jonas Karlman jonas@kwiboo.se
Thanks for you patch! I've compared it to my version, and did not notice any downside/anything missing. If anything, your version is more feature complete. I've also tested it on an ODORID-M1 with 8GB of memory, it boots fine from SD card.
Reviewed-by: Stefan Agner stefan@agner.ch Tested-by: Stefan Agner stefan@agner.ch
Thanks for review and testing!
One thing I've noticed is that USB isn't working when I use the stock SPL (2017.09) running from the SPI RAM and upstream U-Boot (by writing u-boot.itb to a raw GPT partition named "uboot" to the SD-card). That is the same in my patchset. If the upstream SPL is used, things work. It seems that something is not (re)initialized in U-Boot. Not sure if we typically rely on the state the SPL leaves the HW at, but it would be nice if we are able to make that combination work. This allows to boot an upstream U-Boot from an SD-card without having to reflash the onboard SPI.
Trying to use a combo of vendor u-boot SPL and mainline U-Boot proper is not something I have tested or something I would recommend anyone to use. To make use of all features one should press the "SPI recovery switch" during boot or erase/replace U-Boot in SPI flash.
Does this USB issue only affect U-Boot proper or also leave USB unusable in linux? Booting OS from USB3 have been a little bit random when I have tested, some of my USB3 devices work if plugged in from cold start others needs to be removed and plugged in again for U-Boot to recognize them. USB2 ports have been much more stable during my testing.
On a different note: Do you know if PCIe/NVMe support in SPL is something which is in the cards for this board?
As mentioned in the cover-letter this series has some dependencies for all features enabled in defconfig to work, most notably PCIe/NVMe.
You can use my rk3568-2023.07-rc6 branch at [1] that have all dependencies included or test with an artifact from my github actions test build workflow at [2].
Or do you mean SPL to load FIT (U-Boot proper and TF-A) from NVMe?
[1] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3568-2023.07-rc6 [2] https://github.com/Kwiboo/u-boot-build/actions/runs/5448465108
Regards, Jonas
-- Stefan
arch/arm/dts/Makefile | 1 + arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi | 46 ++ arch/arm/dts/rk3568-odroid-m1.dts | 744 ++++++++++++++++++++++ board/rockchip/evb_rk3568/MAINTAINERS | 7 + configs/odroid-m1-rk3568_defconfig | 103 +++ doc/board/rockchip/rockchip.rst | 1 + 6 files changed, 902 insertions(+) create mode 100644 arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi create mode 100644 arch/arm/dts/rk3568-odroid-m1.dts create mode 100644 configs/odroid-m1-rk3568_defconfig [...]