On Tue, 2022-03-29 at 11:01 +0200, Marek Vasut wrote: > Caution: EXT Email > > On 3/29/22 04:49, Ye Li wrote: > > Hi, > > > > > > > > > > > > > > If you change the ROM API driver, that will break our design. > > > > You > > > > can > > > > try to overwrite spl_romapi_get_uboot_base for your board only. > > > Since there are no users which boot from flexspi upstream, this > > > design > > > can still be fixed such that it does not require different > > > flash.bin > > > for > > > different boot media, but rather one flash.bin works on all boot > > > media. > > > I think that is much better. > > Your flash.bin can work on flexspi because you manually program the > > flexspi configurations header. > Sure, the header content is described in the MX8MP RM Rev. 1 06/2021 > "6.1.5.3.1 FlexSPI Configuration Block", this has nothing to do with > this patch. > > > > > But once you want to upgrade the > > flash.bin, flexspi configurations will also be erased due to the > > block > > size. Then you have to reprogram the configurations with flash.bin. > > So most of our customers add the flexspi configurations to > > flash.bin > > head. They don't use so called one image for both SD and flexspi. > There are no upstream users of flexspi right now, see above. > > > > > As the spl_romapi_get_uboot_base is defined to weak. It is better > > to > > overwrite this function for your particular usage. > I would much rather prefer to have one flash.bin which works on both > SD > card and FlexSPI, on all iMX8M, that is far less confusing. And since > there are no upstream users of flexspi boot so far, this is how it > can > still be implemented, consistently.
I can think out 3 drawbacks using this one flash.bin for flexspi: 1. The flexspi configuration header will be erased when you update the flash.bin to flexspi device. In a common usage, this header will combine with flash.bin to a final boot image which is not same with SD. 2. How can users update u-boot.itb only if using this one flash.bin? With the same offset of SD, it causes the u-boot.itb locates at a offset not block aligned. 3. Not all iMX8M can support this one flash.bin. 8MM and 8MQ have different IVT. Their flexspi IVT can't work for SD/eMMC. Best regards, Ye Li > > If downstream wants to have multiple flash.bin, one for each boot > media, > that's up to downstream. > > [...]