Message ID | 20190216094548.911-1-krzk@kernel.org |
---|---|
Headers | show |
Series | arm: exynos: Fix reboot on Odroid HC1 | expand |
Hi Krzysztof, Please add my. on Odroid HC1 Tested-by: Anand Moon <linux.amoon@gmail.com> Best Regards -Anand On Sat, 16 Feb 2019 at 15:16, Krzysztof Kozlowski <krzk@kernel.org> wrote: > > Hi, > > Changes since v2 > ================ > 1. Add Lukasz review tags. > 2. Patch 7: Return on error, as suggested by Simon. > 2. Patch 3: Use IS_ENABLED() to run revision detection only > once - either during late display board or misc_init_r. > > 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 | 24 ++++++++- > board/samsung/common/exynos5-dt-types.c | 54 +++++++++++++++++-- > 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 | 15 +++++- > include/power/regulator.h | 2 + > include/samsung/misc.h | 1 + > 11 files changed, 167 insertions(+), 10 deletions(-) > > -- > 2.17.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot
Dear Krzysztof Kozlowski, On 24/02/2019 21:55, Anand Moon wrote: > Hi Krzysztof, > > Please add my. on Odroid HC1 > > Tested-by: Anand Moon <linux.amoon@gmail.com> > > Best Regards > -Anand > > On Sat, 16 Feb 2019 at 15:16, Krzysztof Kozlowski <krzk@kernel.org> wrote: >> >> Hi, >> >> Changes since v2 >> ================ >> 1. Add Lukasz review tags. >> 2. Patch 7: Return on error, as suggested by Simon. >> 2. Patch 3: Use IS_ENABLED() to run revision detection only >> once - either during late display board or misc_init_r. >> >> 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 | 24 ++++++++- >> board/samsung/common/exynos5-dt-types.c | 54 +++++++++++++++++-- >> 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 | 15 +++++- >> include/power/regulator.h | 2 + >> include/samsung/misc.h | 1 + >> 11 files changed, 167 insertions(+), 10 deletions(-) >> >> -- >> 2.17.1 >> >> _______________________________________________ >> U-Boot mailing list >> U-Boot@lists.denx.de >> https://lists.denx.de/listinfo/u-boot > > Patch looks good but could you please rebase on latest u-boot-samsung tree? Applying: adc: exynos-adc: Fix wrong bit operation used to stop the ADC Applying: power: regulator: s2mps11: Fix step for LDO27 and LDO35 Applying: arm: exynos: Detect revision later, when all resources are ready Applying: arm: exynos: odroid-xu3: Display info late to have proper type error: patch failed: configs/odroid-xu3_defconfig:11 error: configs/odroid-xu3_defconfig: patch does not apply Patch failed at 0004 arm: exynos: odroid-xu3: Display info late to have proper type Thanks, Minkyu Kang.
On Tue, 5 Mar 2019 at 11:16, Minkyu Kang <mk7.kang@samsung.com> wrote: > > Dear Krzysztof Kozlowski, > > On 24/02/2019 21:55, Anand Moon wrote: > > Hi Krzysztof, > > > > Please add my. on Odroid HC1 > > > > Tested-by: Anand Moon <linux.amoon@gmail.com> > > > > Best Regards > > -Anand > > > > On Sat, 16 Feb 2019 at 15:16, Krzysztof Kozlowski <krzk@kernel.org> wrote: > >> > >> Hi, > >> > >> Changes since v2 > >> ================ > >> 1. Add Lukasz review tags. > >> 2. Patch 7: Return on error, as suggested by Simon. > >> 2. Patch 3: Use IS_ENABLED() to run revision detection only > >> once - either during late display board or misc_init_r. > >> > >> 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 | 24 ++++++++- > >> board/samsung/common/exynos5-dt-types.c | 54 +++++++++++++++++-- > >> 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 | 15 +++++- > >> include/power/regulator.h | 2 + > >> include/samsung/misc.h | 1 + > >> 11 files changed, 167 insertions(+), 10 deletions(-) > >> > >> -- > >> 2.17.1 > >> > >> _______________________________________________ > >> U-Boot mailing list > >> U-Boot@lists.denx.de > >> https://lists.denx.de/listinfo/u-boot > > > > > > Patch looks good but could you please rebase on latest u-boot-samsung tree? > > Applying: adc: exynos-adc: Fix wrong bit operation used to stop the ADC > Applying: power: regulator: s2mps11: Fix step for LDO27 and LDO35 > Applying: arm: exynos: Detect revision later, when all resources are ready > Applying: arm: exynos: odroid-xu3: Display info late to have proper type > error: patch failed: configs/odroid-xu3_defconfig:11 > error: configs/odroid-xu3_defconfig: patch does not apply > Patch failed at 0004 arm: exynos: odroid-xu3: Display info late to have proper type Sure, let me rebase. Best regards, Krzysztof