
On Tue, Jan 8, 2019 at 11:24 PM Lukasz Majewski lukma@denx.de wrote:
Hi Alex,
On Tue, Jan 8, 2019 at 10:52 PM Lukasz Majewski lukma@denx.de wrote:
Hi Alex,
On Thu, Dec 27, 2018 at 3:49 PM Tom Rini trini@konsulko.com wrote:
On Tue, Dec 18, 2018 at 12:30:50PM +0100, Lukasz Majewski wrote:
This commit prevents from re-configuring pins if those were configured before relocation.
Some pins - like UART or DDR must be setup before relocation (as they have 'u-boot,dm-pre-reloc' property set in DTS). Without this change, those pins are re-configured after relocation (pre_reloc_only = 0, so we do not "continue"). Such behavior may be a problem for DDR PAD configuration, as they might be already leveled/tuned with original setup).
Signed-off-by: Lukasz Majewski lukma@denx.de
Applied to u-boot/master, thanks!
I've bisected out to this commit and it's slightly broken things for me on an AM3352. It all works fine so long as I boot MLO from MMC (so the MMC is probed, pinctrl setup), but if I boot from UART then I get to full U-Boot, MMC hasn't been probed and the pinmuxing isn't set up for the MMC.
I suppose that the pinmux node have set "u-boot,dm-pre-reloc" property?
Yeah, well "u-boot,dm-spl", though now I re-read the docs I guess that's equivalent to "u-boot,dm-pre-reloc" as I've no TPL.
I do need to check this -> as in my case I do have "u-boot,dm-pre-reloc" property. And yes, in my case I do not have TPL too (just SPL).
The problem is not with lack of eMMC probing - it is with pinctrl nodes having "u-boot,dm-pre-reloc" set in DTS and the eMMC is probed after MLO/SPL. It looks like your use case implicitly depends on pinmux being reconfigured no matter if we are pre-relocated (MLO) or afterwards.
Yes, that's a much clearer description...
Frankly, your mail opened my eyes to a use case which was handled (I assume on purpose) with the old code - the "cross" boot with pinmux and devices.
For example boot from UART (MLO/SPL) and then continue with eMMC (which require pinmux).
So I guess this needs something like a bloblist to communicate the initialisation state between MLO/SPL and u-boot, which I've not the faintest idea where to start on.
Horrible as they are, is a CONFIG symbol a possibility whilst we figure out how to solve this properly?
I guess another option would be an additional two properties that give the two behaviours, but that feels like something we don't want long term.
-- Alex Kiernan