From patchwork Wed Feb 13 16:46:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1041434 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="kxxsNshg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 4405681rrHz9sCh for ; Thu, 14 Feb 2019 03:47:06 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DFB47C22009; Wed, 13 Feb 2019 16:47:00 +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 A6326C21FC6; Wed, 13 Feb 2019 16:46:58 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2017AC21FB8; Wed, 13 Feb 2019 16:46:57 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 9B47DC21F98 for ; Wed, 13 Feb 2019 16:46:56 +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 E0BE0222CE; Wed, 13 Feb 2019 16:46:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550076414; bh=+9zUqzDZH3+evT1gV8IPQM8N4FBiBfHXN5WpDjuHYsM=; h=From:To:Cc:Subject:Date:From; b=kxxsNshg2IV8IQAfa75APbSYUvCplG2qZZHr+061YpD8WxBs9izeKeAh/qpFpM3U7 pnbloltgRojf5sECMAag5zdZ1fTnz+AfjdpnbfMpg+iwvWGYPRFBVupeeHgEx4/IaM Pb9B+bbFR/M6OirhByPbinBWuM3GKScL+6iJ6oKM= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Wed, 13 Feb 2019 17:46:39 +0100 Message-Id: <20190213164648.26579-1-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 Cc: Krzysztof Kozlowski Subject: [U-Boot] [PATCH v2 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 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(-)