[U-Boot] [RFT 1/8] exynos: Redo detection of revision when all resources are ready
Lukasz Majewski
lukma at denx.de
Mon Feb 11 08:14:23 UTC 2019
Hi Krzysztof,
> On Mon, 11 Feb 2019 at 08:20, Lukasz Majewski <lukma at denx.de> wrote:
> >
> > Hi Krzysztof,
> >
> > > Detection of board type is done early - before power setup. In
> > > case of Odroid XU3/XU4/HC1 family, the detection is done using
> > > ADC which is supplied by LDO4/VDD_ADC regulator. This regulator
> > > could be turned off (e.g. by kernel before reboot); If ADC is
> > > used early, the regulators are not yet available and the
> > > detection won't work.
> > >
> > > Try to detect the revision again, once power is brought up.
> > >
> > > This is necessary to fix the detection of Odroid HC1 after
> > > reboot, if kernel turned off the LDO4 regulator. Otherwise the
> > > board is not detected....
> >
> > But such approach seems not to be the optimal one (as we perform
> > detection twice - with default LDO4 enabled after power on and after
> > soft reset).
> >
> > I would expect to enable the LDO4 regulator in the early code (I2C
> > would be probably necessary) and then read ADC value properly once.
> >
> > (I also guess that the "work-by-chance" approach is caused by
> > default settings of PMIC after power on).
>
> So basically you want to move the board detection after the
> exynos_power_init()... maybe it is possible. The other way is to split
> set_board_type() into OF part (for compatible and main board
> difference) and revision detection (requiring ADC). Maybe it is
> possible, but isn't it used before?
I do want to avoid making the detection twice;
First time when we have the LDO4 enabled by default and the second time
when it may happen that we do a soft reset from Linux (which disabled
LDO4).
>
> > As fair as I remember, TI is able to read the EEPROM via I2C in the
> > very early u-boot (MLO to be precise) code and then make the
> > decision regarding the platform.
> >
> > Maybe it would be possible to do the same with Samsung?
> >
> > And another thought - if the set_board_type() can be called latter
> > and it works - why cannot we move it to this latter point and
> > execute exactly once?
>
> It is the same as previous idea... or I do not see the difference...
>
> Best regards,
> Krzysztof
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190211/5ec9aac1/attachment.sig>
More information about the U-Boot
mailing list