arm: exynos: Detect revision later, when all resources are ready
authorKrzysztof Kozlowski <krzk@kernel.org>
Wed, 6 Mar 2019 18:37:51 +0000 (19:37 +0100)
committerMinkyu Kang <mk7.kang@samsung.com>
Mon, 11 Mar 2019 06:53:19 +0000 (15:53 +0900)
commite3ee4be3210a79e39af9b15077f0b119095ee52f
tree36aee07e1773cbaf60380a3b4ea49a8a0f093198
parent311eaf743075da4f8a0b33faf1c75e6a8ba67df4
arm: exynos: Detect revision later, when all resources are ready

Detection of board revision 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.

Split the revision detection out of set_board_type() into separate
function called later - either when displaying board info (in late mode)
or during misc_init_r.  The idea is that set_board_type() will be called
early so its method of detection are limited to flattened device tree
(exynos5-dt-types.c for Exynos5) or GPIO (odroid.c for Exynos4412).  The
newly added set_board_revision() can be called only later, when
resources like regulator are available.

This is necessary to fix the detection of Odroid HC1 after reboot, if
kernel turned off the LDO4 regulator.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
board/samsung/common/board.c
board/samsung/common/exynos5-dt-types.c
board/samsung/odroid/odroid.c
include/samsung/misc.h