[PATCH 009/108] x86: apl: Move p2sb ofdata reading to the correct method

Bin Meng bmeng.cn at gmail.com
Sat Feb 8 16:15:42 CET 2020


+Wolfgang Wallner

On Mon, Jan 27, 2020 at 1:08 PM Simon Glass <sjg at chromium.org> wrote:
>
> With P2SB the initial BAR (base-address register) is set up by TPL and
> this is used unchanged right through U-Boot.
>
> At present the reading of this address is split between the ofdata() and
> probe() methods. There are a few problems that are unique to the p2sb.
> One is that its children need to call pcr_read32(), etc. which needs to
> have the p2sb address correct. Also some of its children are pinctrl
> devices and pinctrl is used when any device is probed. So p2sb really
> needs to get its base address set up in ofdata_to_platdata(), before it is
> probed.
>
> Another point is that reading the p2sb BAR will not work if the p2sb is
> hidden. The FSP-S seems to hide it, presumably to avoid confusing PCI
> enumeration.
>
> Reading ofdata in ofdata_to_platdata() is the correct place anyway, so
> this is easy to fix.
>
> Move the code into one place and use the early-regs property in all cases
> for simplicity and to avoid needing to probe any PCI devices just to read
> the BAR.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  arch/x86/cpu/apollolake/p2sb.c | 33 +++++++++++----------------------
>  1 file changed, 11 insertions(+), 22 deletions(-)
>

I think this one needs to be rebased.

I suspect it breaks Wolfgang's use case. Wolfgang, any comments?

Regards,
Bin


More information about the U-Boot mailing list