Hi Thomas, On Sat, Jun 9, 2018 at 6:06 AM Thomas Fitzsimmons <fitz...@fitzsim.org> wrote: > > Add support for loading U-Boot on the Broadcom 7445 SoC. This port > assumes Broadcom's BOLT bootloader is acting as the second stage > bootloader, and U-Boot is acting as the third stage bootloader, loaded > as an ELF program by BOLT. > > Signed-off-by: Thomas Fitzsimmons <fitz...@fitzsim.org> > Cc: Stefan Roese <s...@denx.de> > Cc: Tom Rini <tr...@konsulko.com> > Cc: Florian Fainelli <f.faine...@gmail.com> > --- > Changes for v4: > - Use high timer register for get_ticks > - Move hard-coded register addresses from Kconfig to header > - Document I-cache/D-cache expectation > > MAINTAINERS | 10 + > arch/arm/Kconfig | 12 + > arch/arm/Makefile | 1 + > arch/arm/mach-bcmstb/Kconfig | 36 ++ > arch/arm/mach-bcmstb/Makefile | 8 + > arch/arm/mach-bcmstb/include/mach/gpio.h | 11 + > arch/arm/mach-bcmstb/include/mach/hardware.h | 11 + > arch/arm/mach-bcmstb/include/mach/prior_stage.h | 30 ++ > arch/arm/mach-bcmstb/include/mach/sdhci.h | 15 + > arch/arm/mach-bcmstb/include/mach/timer.h | 13 + > arch/arm/mach-bcmstb/lowlevel_init.S | 21 ++ > board/broadcom/bcmstb/MAINTAINERS | 7 + > board/broadcom/bcmstb/Makefile | 8 + > board/broadcom/bcmstb/bcmstb.c | 194 +++++++++++ > configs/bcm7445_defconfig | 27 ++ > doc/README.bcm7xxx | 150 ++++++++ > drivers/mmc/Kconfig | 11 + > drivers/mmc/Makefile | 1 + > drivers/mmc/bcmstb_sdhci.c | 67 ++++ > drivers/spi/Kconfig | 7 + > drivers/spi/Makefile | 1 + > drivers/spi/bcmstb_spi.c | 439 > ++++++++++++++++++++++++ > drivers/spi/spi-uclass.c | 2 +- > dts/Kconfig | 7 + > include/configs/bcm7445.h | 26 ++ > include/configs/bcmstb.h | 183 ++++++++++ > include/fdtdec.h | 4 + > lib/fdtdec.c | 4 + > 28 files changed, 1305 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/mach-bcmstb/Kconfig > create mode 100644 arch/arm/mach-bcmstb/Makefile > create mode 100644 arch/arm/mach-bcmstb/include/mach/gpio.h > create mode 100644 arch/arm/mach-bcmstb/include/mach/hardware.h > create mode 100644 arch/arm/mach-bcmstb/include/mach/prior_stage.h > create mode 100644 arch/arm/mach-bcmstb/include/mach/sdhci.h > create mode 100644 arch/arm/mach-bcmstb/include/mach/timer.h > create mode 100644 arch/arm/mach-bcmstb/lowlevel_init.S > create mode 100644 board/broadcom/bcmstb/MAINTAINERS > create mode 100644 board/broadcom/bcmstb/Makefile > create mode 100644 board/broadcom/bcmstb/bcmstb.c > create mode 100644 configs/bcm7445_defconfig > create mode 100644 doc/README.bcm7xxx > create mode 100644 drivers/mmc/bcmstb_sdhci.c > create mode 100644 drivers/spi/bcmstb_spi.c > create mode 100644 include/configs/bcm7445.h > create mode 100644 include/configs/bcmstb.h >
[snip] > diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c > index d2d091f..c517d06 100644 > --- a/drivers/spi/spi-uclass.c > +++ b/drivers/spi/spi-uclass.c > @@ -273,7 +273,7 @@ int spi_get_bus_and_cs(int busnum, int cs, int speed, int > mode, > bool created = false; > int ret; > > -#if CONFIG_IS_ENABLED(OF_PLATDATA) > +#if CONFIG_IS_ENABLED(OF_PLATDATA) || CONFIG_IS_ENABLED(OF_PRIOR_STAGE) Could you please explain this change a little bit? Why should we call uclass_first_device_err() for OF_PRIOR_STAGE? > ret = uclass_first_device_err(UCLASS_SPI, &bus); > #else > ret = uclass_get_device_by_seq(UCLASS_SPI, busnum, &bus); > diff --git a/dts/Kconfig b/dts/Kconfig > index 0cef225..a1a92f2 100644 > --- a/dts/Kconfig > +++ b/dts/Kconfig > @@ -101,6 +101,13 @@ config OF_HOSTFILE > This is only useful for Sandbox. Use the -d flag to U-Boot to > specify the file to read. > > +config OF_PRIOR_STAGE > + bool "Prior stage bootloader DTB for DT control" > + help > + If this option is enabled, the device tree used for DT > + control will be read from a device tree binary, at a memory > + location passed to U-Boot by the prior stage bootloader. > + > endchoice > [snip] Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot