ROCK 4D: Support booting from UFS
There are two parts to this issue, both of which we should probably solve both in our branch and in upstream.
1. TPL ddr init from UFS
Currently, writing our image directly onto UFS does not allow one to boot it. There is no output from the board, it drops straight into maskrom. rkbin uses a little helper binary loaded before TPL? to adjust something relating to UFS. This is probably also related to Kwiboo's "boost" thing I threw in this branch some time ago. Basically, pre-reloc, some registers need massaging.
2. UFS support in U-Boot
Additionally, at least our branch doesn't have support for Rockchip's UFS controller in our U-Boot as it currently stands. Someone needs to investigate whether that has landed upstream, and if so, try it and see if it works. If it does, then we can tell people to write our u-boot to SPI flash (after doing a rkdeveloptool cs 9
to select SPI flash) and write our image to UFS and it'll work.
TODO
-
TPL from UFS -
Investigate why TPL won't load from UFS -
Develop a solution to make it load from UFS, like how rkbin is able to
-
-
Enable UFS support on RK3576 in mainline U-Boot
The ROCK 4D and its UFS modules seem to be out of stock frequently, though at the time of writing there's 64 UFS modules still in stock. @fratti has a production ROCK 4D and a production 128GB UFS module.