On Mon, 11 Feb 2019 at 08:20, Lukasz Majewski <lu...@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?

> 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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to