Message ID | 20200421171123.1.I7a042a9ffbb5c2668034eddf5ace91271bb53c5f@changeid |
---|---|
State | Superseded |
Headers | show |
Series | stm32mp1: use OPP information for PLL1 settings in SPL | expand |
Hi Patrick On 4/21/20 5:11 PM, Patrick Delaunay wrote: > Add the bsec driver in SPL, as it is needed by SOC part number detection > to found the supported OPP. > > > Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> > --- > > I already sent in unrelated serie > > http://patchwork.ozlabs.org/patch/1264829/ > > Patrick > > > arch/arm/dts/stm32mp15-u-boot.dtsi | 2 +- > arch/arm/mach-stm32mp/Makefile | 2 +- > arch/arm/mach-stm32mp/bsec.c | 11 ++++++----- > 3 files changed, 8 insertions(+), 7 deletions(-) > > diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi > index 8f9535a4db..e0b1223de8 100644 > --- a/arch/arm/dts/stm32mp15-u-boot.dtsi > +++ b/arch/arm/dts/stm32mp15-u-boot.dtsi > @@ -40,7 +40,7 @@ > }; > > &bsec { > - u-boot,dm-pre-proper; > + u-boot,dm-pre-reloc; > }; > > &clk_csi { > diff --git a/arch/arm/mach-stm32mp/Makefile b/arch/arm/mach-stm32mp/Makefile > index eee39c27c3..f29d6f795f 100644 > --- a/arch/arm/mach-stm32mp/Makefile > +++ b/arch/arm/mach-stm32mp/Makefile > @@ -6,11 +6,11 @@ > obj-y += cpu.o > obj-y += dram_init.o > obj-y += syscon.o > +obj-y += bsec.o > > ifdef CONFIG_SPL_BUILD > obj-y += spl.o > else > -obj-y += bsec.o > obj-$(CONFIG_CMD_STM32KEY) += cmd_stm32key.o > obj-$(CONFIG_ARMV7_PSCI) += psci.o > endif > diff --git a/arch/arm/mach-stm32mp/bsec.c b/arch/arm/mach-stm32mp/bsec.c > index 0d5850b4a9..98a950c640 100644 > --- a/arch/arm/mach-stm32mp/bsec.c > +++ b/arch/arm/mach-stm32mp/bsec.c > @@ -473,20 +473,23 @@ static int stm32mp_bsec_ofdata_to_platdata(struct udevice *dev) > return 0; > } > > -#ifndef CONFIG_TFABOOT > static int stm32mp_bsec_probe(struct udevice *dev) > { > +#if !defined(CONFIG_TFABOOT) && !defined(CONFIG_SPL_BUILD) > int otp; > struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev); > > - /* update unlocked shadow for OTP cleared by the rom code */ > + /* > + * update unlocked shadow for OTP cleared by the rom code > + * only executed in U-Boot proper when TF-A is not used > + */ > for (otp = 57; otp <= BSEC_OTP_MAX_VALUE; otp++) > if (!bsec_read_SR_lock(plat->base, otp)) > bsec_shadow_register(plat->base, otp); > +#endif > > return 0; > } > -#endif > > static const struct udevice_id stm32mp_bsec_ids[] = { > { .compatible = "st,stm32mp15-bsec" }, > @@ -500,7 +503,5 @@ U_BOOT_DRIVER(stm32mp_bsec) = { > .ofdata_to_platdata = stm32mp_bsec_ofdata_to_platdata, > .platdata_auto_alloc_size = sizeof(struct stm32mp_bsec_platdata), > .ops = &stm32mp_bsec_ops, > -#ifndef CONFIG_TFABOOT > .probe = stm32mp_bsec_probe, > -#endif > }; Reviewed-by: Patrice Chotard <patrice.chotard at st.com> Thanks Patrice
diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi index 8f9535a4db..e0b1223de8 100644 --- a/arch/arm/dts/stm32mp15-u-boot.dtsi +++ b/arch/arm/dts/stm32mp15-u-boot.dtsi @@ -40,7 +40,7 @@ }; &bsec { - u-boot,dm-pre-proper; + u-boot,dm-pre-reloc; }; &clk_csi { diff --git a/arch/arm/mach-stm32mp/Makefile b/arch/arm/mach-stm32mp/Makefile index eee39c27c3..f29d6f795f 100644 --- a/arch/arm/mach-stm32mp/Makefile +++ b/arch/arm/mach-stm32mp/Makefile @@ -6,11 +6,11 @@ obj-y += cpu.o obj-y += dram_init.o obj-y += syscon.o +obj-y += bsec.o ifdef CONFIG_SPL_BUILD obj-y += spl.o else -obj-y += bsec.o obj-$(CONFIG_CMD_STM32KEY) += cmd_stm32key.o obj-$(CONFIG_ARMV7_PSCI) += psci.o endif diff --git a/arch/arm/mach-stm32mp/bsec.c b/arch/arm/mach-stm32mp/bsec.c index 0d5850b4a9..98a950c640 100644 --- a/arch/arm/mach-stm32mp/bsec.c +++ b/arch/arm/mach-stm32mp/bsec.c @@ -473,20 +473,23 @@ static int stm32mp_bsec_ofdata_to_platdata(struct udevice *dev) return 0; } -#ifndef CONFIG_TFABOOT static int stm32mp_bsec_probe(struct udevice *dev) { +#if !defined(CONFIG_TFABOOT) && !defined(CONFIG_SPL_BUILD) int otp; struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev); - /* update unlocked shadow for OTP cleared by the rom code */ + /* + * update unlocked shadow for OTP cleared by the rom code + * only executed in U-Boot proper when TF-A is not used + */ for (otp = 57; otp <= BSEC_OTP_MAX_VALUE; otp++) if (!bsec_read_SR_lock(plat->base, otp)) bsec_shadow_register(plat->base, otp); +#endif return 0; } -#endif static const struct udevice_id stm32mp_bsec_ids[] = { { .compatible = "st,stm32mp15-bsec" }, @@ -500,7 +503,5 @@ U_BOOT_DRIVER(stm32mp_bsec) = { .ofdata_to_platdata = stm32mp_bsec_ofdata_to_platdata, .platdata_auto_alloc_size = sizeof(struct stm32mp_bsec_platdata), .ops = &stm32mp_bsec_ops, -#ifndef CONFIG_TFABOOT .probe = stm32mp_bsec_probe, -#endif };
Add the bsec driver in SPL, as it is needed by SOC part number detection to found the supported OPP. Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> --- I already sent in unrelated serie http://patchwork.ozlabs.org/patch/1264829/ Patrick arch/arm/dts/stm32mp15-u-boot.dtsi | 2 +- arch/arm/mach-stm32mp/Makefile | 2 +- arch/arm/mach-stm32mp/bsec.c | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-)