From patchwork Wed Mar 6 18:37:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1052454 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="n3nAYxLe"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44F2ZX0DW7z9s7T for ; Thu, 7 Mar 2019 05:38:12 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B1A02C21C38; Wed, 6 Mar 2019 18:38:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 65813C21C38; Wed, 6 Mar 2019 18:38:07 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E8896C21C29; Wed, 6 Mar 2019 18:38:06 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 6A758C21C38 for ; Wed, 6 Mar 2019 18:38:06 +0000 (UTC) Received: from localhost.localdomain (unknown [194.230.155.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B14BD213A2; Wed, 6 Mar 2019 18:38:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551897484; bh=d6/ydJ8Qen/yUgWl4jFwT1iMwnawe7njJNbtqbcTLMM=; h=From:To:Subject:Date:From; b=n3nAYxLeCyzHBFj5nJSCtTijkF4eWp35eISN96vt8aL1oCmfQ6Tu1GHBT9VnMF48x p9qdtYRJegAGi0DMmGaif2VUY/NdbTDQllhOpYu9T0GFEqirT/i4LhlhLI+Mn1N9I0 EqoefTXehNhulCewTIzh1omgDuA5VKXBvQBhHLUc= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Minkyu Kang , Simon Glass , Marek Szyprowski , u-boot@lists.denx.de Date: Wed, 6 Mar 2019 19:37:48 +0100 Message-Id: <20190306183757.9063-1-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 Subject: [U-Boot] [PATCH v5 0/9] arm: exynos: Fix reboot on Odroid HC1 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Hi, Changes since v4 ================ 1. Patch 3: Fix build of trats/trats2 and other by hiding new call behind check for CONFIG_BOARD_TYPES. Changes since v3 ================ 1. Add accumulated review and test tags. 2. Patch 6: Add "ramp" keyword to new function (as discussed with Torsten Duwe). 3. Rebased on v2019.04-rc3. 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. Comments 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 | 25 ++++++++- 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, 168 insertions(+), 10 deletions(-)