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