Hi, Am So., 19. Juni 2022 um 07:59 Uhr schrieb Michael Nazzareno Trimarchi <mich...@amarulasolutions.com>: > > Hi > > Il sab 18 giu 2022, 23:56 Heiko Thiery <heiko.thi...@gmail.com> ha scritto: >> >> Hi Michael, Hi Marek, >> >> Am Mi., 15. Juni 2022 um 08:43 Uhr schrieb Michael Nazzareno Trimarchi >> <mich...@amarulasolutions.com>: >> > >> > Hi Heiko >> > >> > On Wed, Jun 15, 2022 at 8:23 AM Heiko Thiery <heiko.thi...@gmail.com> >> > wrote: >> > > >> > > Hi Marek, >> > > >> > > [SNIP] >> > > >> > > > > diff --git a/board/freescale/imx8mn_evk/spl.c >> > > > > b/board/freescale/imx8mn_evk/spl.c >> > > > > index 14cb51368f..0d9909a662 100644 >> > > > > --- a/board/freescale/imx8mn_evk/spl.c >> > > > > +++ b/board/freescale/imx8mn_evk/spl.c >> > > > > @@ -83,6 +83,15 @@ int power_init_board(void) >> > > > > #ifdef CONFIG_IMX8MN_LOW_DRIVE_MODE >> > > > > /* Set VDD_SOC/VDD_DRAM to 0.8v for low drive mode */ >> > > > > pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS0, 0x10); >> > > > > +#elif defined(CONFIG_TARGET_IMX8MN_DDR3L_EVK) >> > > > > + /* Set VDD_SOC to 0.85v for DDR3L at 1600MTS */ >> > > > > + pmic_reg_write(dev, PCA9450_BUCK1OUT_DVS0, 0x14); >> > > > > + >> > > > > + /* Disable the BUCK2 */ >> > > > > + pmic_reg_write(dev, PCA9450_BUCK2CTRL, 0x48); >> > > > > + >> > > > > + /* Set NVCC_DRAM to 1.35v */ >> > > > > + pmic_reg_write(dev, PCA9450_BUCK6OUT, 0x1E); >> > > > > #else >> > > > >> > > > All this part is not done by the spl pmic driver? >> > > >> > > I saw that you added the PCA9450 driver. Do you know if this >> > > initialization can be done by the driver when CONFIG_SPL_DM_REGULATOR >> > > is enabled? If I see this correctly, it can't be done. Is that >> > > correct? >> > >> > +&i2c1 { >> > + u-boot,dm-spl; >> > +}; >> > + >> > +&{/soc@0/bus@30800000/i2c@30a20000/pmic@4b} { >> > + u-boot,dm-spl; >> > +}; >> > + >> > +&{/soc@0/bus@30800000/i2c@30a20000/pmic@4b/regulators} { >> > + u-boot,dm-spl; >> > +}; >> > + >> > +&pinctrl_i2c1 { >> > + u-boot,dm-spl; >> > +}; >> > + >> > +&pinctrl_pmic { >> > + u-boot,dm-spl; >> > +}; >> > + >> > >> > Maybe something like this should work. Now question is about should be >> > done in pre-reloc or not >> >> It took me a little while to understand what was meant by this. In the >> meantime I could >> change the PMIC/Regulator initialization to DT/DM and can make the setting >> so. >> What is not clear to me yet is at which point this should be done >> (regulators_enable_boot_on()). Currently I do it in the board/spl >> specific board_init_f(). >> >> Do any of you have any advice here? > > > After having a discussion with you, i found that maybe i have some problem > and some of the setting should be done before ddr inizialization. I will take > a look on it on afternoon. I know marek was working on some way to probe > driver during binding and we need even to be sure that this can happen before > memory training. >
Currently I added it in board_init_f() right before spl_dram_init() [1] and it works. I also tried to put it in power_init_board() [2] but this does not work. [1] https://elixir.bootlin.com/u-boot/v2022.04/source/board/freescale/imx8mn_evk/spl.c#L162 [2] https://elixir.bootlin.com/u-boot/v2022.04/source/board/freescale/imx8mn_evk/spl.c#L62 -- Heiko > Michael >> >> >> Thanks >> -- >> Heiko >> >> > Michael >> > > >> > > -- >> > > Heiko >> > >> > >> > >> > -- >> > Michael Nazzareno Trimarchi >> > Co-Founder & Chief Executive Officer >> > M. +39 347 913 2170 >> > mich...@amarulasolutions.com >> > __________________________________ >> > >> > Amarula Solutions BV >> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL >> > T. +31 (0)85 111 9172 >> > i...@amarulasolutions.com >> > www.amarulasolutions.com