[PATCH v5 09/29] x86: apl: Move p2sb ofdata reading to the correct method

Bin Meng bmeng.cn at gmail.com
Thu Apr 16 07:33:54 CEST 2020


On Thu, Apr 9, 2020 at 6:58 AM 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>
> Reviewed-by: Wolfgang Wallner <wolfgang.wallner at br-automation.com>
> Tested-by: Wolfgang Wallner <wolfgang.wallner at br-automation.com>
> ---
>
> Changes in v5: None
> Changes in v4: None
> Changes in v3:
> - Fix indenting error mentioned by Andy Shevchenko
>
> Changes in v2: None
>
>  arch/x86/cpu/intel_common/p2sb.c | 33 +++++++++++---------------------
>  1 file changed, 11 insertions(+), 22 deletions(-)
>

applied to u-boot-x86, thanks!


More information about the U-Boot mailing list