[U-Boot] [PATCH v2 0/9] arm: exynos: Fix reboot on Odroid HC1

Krzysztof Kozlowski
2019-02-13T16:46:39Z

Hi,

Changes since v1
================
1. Move fixes to beginning of patchset.
2. Patch 3: Rework the idea - split revision detection to be executed later.
3. Patch 4: New patch.
4. Patch 6: Apply Simon's comments.
5. Patch 6: Do not delay when changing voltage if regulator is disabled.
6. Patch 6: Do not delay when disabling the regulator.

Description
===========
Odroid HC1 does not reboot properly (at least from SD card but
I do not expect difference on eMMC), if LDO4/VDD_ADC was turned
off by Linux kernel. This condition happens so far always, because
Linux kernel did not enable ADC on Odroid HC1, therefore the
VDD_ADC regulator was turned off as unused.

The issue is in detection of revision which later is used to load
proper DTB.

The revision is obtained by ADC read of a voltage depending on VDD_ADC.
Therefore:
1. VDD_ADC has to be turned on (but board detection happens before
power is initialized),
2. Turning VDD_ADC should wait with ramp delay,
3. Reading the value from ADC should wait for it to stabilize.

Tested on Odroid XU3-Lite and Odroid HC1.

Commends and testing are welcomed.

Best regards,
Krzysztof

Krzysztof Kozlowski (9):
adc: exynos-adc: Fix wrong bit operation used to stop the ADC
power: regulator: s2mps11: Fix step for LDO27 and LDO35
arm: exynos: Detect revision later, when all resources are ready
arm: exynos: odroid-xu3: Display info late to have proper type
arm: exynos: Wait till ADC stabilizes before checking Odroid HC1
revision
regulator: Add support for ramp delay
power: regulator: s2mps11: Add enable delay
arm: dts: exynos: Add supply for ADC block to Odroid XU3 family
arm: dts: exynos: Add ramp delay property to LDO regulators to Odroid
XU3 family

arch/arm/dts/exynos5422-odroidxu3.dts | 20 +++++++
board/samsung/common/board.c | 15 ++++-
board/samsung/common/exynos5-dt-types.c | 58 +++++++++++++++++--
board/samsung/odroid/odroid.c | 8 +++
configs/odroid-xu3_defconfig | 2 +
.../regulator/regulator.txt | 2 +
drivers/adc/exynos-adc.c | 2 +-
drivers/power/regulator/regulator-uclass.c | 47 ++++++++++++++-
drivers/power/regulator/s2mps11_regulator.c | 13 ++++-
include/power/regulator.h | 2 +
include/samsung/misc.h | 1 +
11 files changed, 160 insertions(+), 10 deletions(-)

--
2.17.1