[PATCH v1 07/11] rockchip: rk3568: add boot device detection

Peter Geis pgwipeout at gmail.com
Sat Mar 12 04:34:51 CET 2022


On Fri, Mar 11, 2022 at 9:25 PM Simon Glass <sjg at chromium.org> wrote:
>
> Hi Peter,
>
> On Mon, 21 Feb 2022 at 18:31, Peter Geis <pgwipeout at gmail.com> wrote:
> >
> > Enable rk3568 spl to detect which device it was booted from.
> >
> > Signed-off-by: Peter Geis <pgwipeout at gmail.com>
> > ---
> >  arch/arm/mach-rockchip/rk3568/rk3568.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> >
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> I think a better way would be to put an option in the U-Boot config node, like:
>
> boot-devices = <&sdhci_0 &spi_flash &sd>;

This would certainly solve the problem of needing to constantly update
the boot devices each time a dts sync occurs.
I'm still learning my way around u-boot's method of handling
device-trees vs linux's method.

>
> > diff --git a/arch/arm/mach-rockchip/rk3568/rk3568.c b/arch/arm/mach-rockchip/rk3568/rk3568.c
> > index 4e23feb9417f..5f239d89a7a9 100644
> > --- a/arch/arm/mach-rockchip/rk3568/rk3568.c
> > +++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
> > @@ -7,6 +7,7 @@
> >  #include <dm.h>
> >  #include <asm/armv8/mmu.h>
> >  #include <asm/io.h>
> > +#include <asm/arch-rockchip/bootrom.h>
> >  #include <asm/arch-rockchip/grf_rk3568.h>
> >  #include <asm/arch-rockchip/hardware.h>
> >  #include <dt-bindings/clock/rk3568-cru.h>
> > @@ -23,6 +24,7 @@
> >  #define SGRF_SOC_CON4                  0x10
> >  #define EMMC_HPROT_SECURE_CTRL         0x03
> >  #define SDMMC0_HPROT_SECURE_CTRL       0x01
> > +
> >  /* PMU_GRF_GPIO0D_IOMUX_L */
> >  enum {
> >         GPIO0D1_SHIFT           = 4,
> > @@ -43,6 +45,12 @@ enum {
> >         UART2_IO_SEL_M0         = 0,
> >  };
> >
> > +const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
> > +       [BROM_BOOTSOURCE_EMMC] = "/sdhci at fe310000",
> > +       [BROM_BOOTSOURCE_SPINOR] = "/spi at fe300000/flash at 0",
> > +       [BROM_BOOTSOURCE_SD] = "/mmc at fe2b0000",
> > +};
> > +
> >  static struct mm_region rk3568_mem_map[] = {
> >         {
> >                 .virt = 0x0UL,
> > --
> > 2.25.1
> >
>
> Regards,
> Simon


More information about the U-Boot mailing list