On Mon, 11 Feb 2019 at 09:14, Lukasz Majewski <lu...@denx.de> wrote: > > Hi Krzysztof, > > > 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? > > 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).
This I understand but isn't the board type used BEFORE the power init? Power init cannot be moved early as it depends on having proper resources (as I wrote in commit msg)... so only board detection can be moved later. But if setting up resources (e.g. regulators) requires board type then it is circular dependency... so I asked - isn't board type used before power init? Best regards, Krzysztof _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot