From patchwork Tue Mar 5 19:57:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051976 X-Patchwork-Delegate: promsoft@gmail.com 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="u3UKvl+d"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSQ94vhfz9s3q for ; Wed, 6 Mar 2019 06:58:57 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6269CC21DFD; Tue, 5 Mar 2019 19:58:43 +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 6706FC21C3F; Tue, 5 Mar 2019 19:58:35 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D26DCC21DFA; Tue, 5 Mar 2019 19:58:32 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 56209C21DC1 for ; Tue, 5 Mar 2019 19:58:29 +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 B632720842; Tue, 5 Mar 2019 19:58:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815908; bh=nnkUGXOkSSDlacJCvbxrLOTtNwpvEV2L7hbcG4tIvks=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=u3UKvl+dcSH6Zm0XOeDHVkuLcULO/QOA8a5uJ98Bih0XUCjTAuhJS4xlIkqST3O7Y L8ScrdpEn84c3w8RH0d2difiKe7lhOMUPEzP73um93amw7nteHGR29xWkpgiJgTJN/ Ldx+b7VFldKcz7J4JfGWFI1r+fyX/ZVp4acgg4io= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:54 +0100 Message-Id: <20190305195802.14397-2-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 1/9] adc: exynos-adc: Fix wrong bit operation used to stop the ADC 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" When stopping the ADC_V2_CON1_STC_EN should be cleared. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Lukasz Majewski Tested-by: Anand Moon --- drivers/adc/exynos-adc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/adc/exynos-adc.c b/drivers/adc/exynos-adc.c index d33e3d632afc..12c49fc8cefb 100644 --- a/drivers/adc/exynos-adc.c +++ b/drivers/adc/exynos-adc.c @@ -62,7 +62,7 @@ int exynos_adc_stop(struct udevice *dev) /* Stop conversion */ cfg = readl(®s->con1); - cfg |= ~ADC_V2_CON1_STC_EN; + cfg &= ~ADC_V2_CON1_STC_EN; writel(cfg, ®s->con1); From patchwork Tue Mar 5 19:57:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051977 X-Patchwork-Delegate: promsoft@gmail.com 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="Il7LwDwc"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSQW1vqlz9s3q for ; Wed, 6 Mar 2019 06:59:15 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E2CA8C21DA6; Tue, 5 Mar 2019 19:58:57 +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 2CB77C21DC1; Tue, 5 Mar 2019 19:58:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 44B6DC21D8A; Tue, 5 Mar 2019 19:58:35 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 57C86C21E02 for ; Tue, 5 Mar 2019 19:58:32 +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 C4D5A2075B; Tue, 5 Mar 2019 19:58:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815911; bh=7Mj5LA5rhVRcvF5lgiagNsRiaQyhHP2AxlI4gbbJlFk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Il7LwDwcMRUenhKQrFpPwvaG8nABJbgujY0HOv3AUL+8aFUdrZkaPIIBrHynSF6Dp eYpWS92XppV5hva9uVy281t80WGLSr+k7Yi2Du+Tn/8dYC3RHadYRr7TpxJ5xeDB99 kMQWyGzUPx3RYaVbbaHIxKiUzv1TQxy5EkG7nxC4= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:55 +0100 Message-Id: <20190305195802.14397-3-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 2/9] power: regulator: s2mps11: Fix step for LDO27 and LDO35 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" LDO27 and LDO35 have 25 mV step, not 50 mV. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Lukasz Majewski Tested-by: Anand Moon --- drivers/power/regulator/s2mps11_regulator.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/power/regulator/s2mps11_regulator.c b/drivers/power/regulator/s2mps11_regulator.c index ced504eb1476..723d27f67c9a 100644 --- a/drivers/power/regulator/s2mps11_regulator.c +++ b/drivers/power/regulator/s2mps11_regulator.c @@ -346,6 +346,8 @@ static int s2mps11_ldo_hex2volt(int ldo, int hex) case 11: case 22: case 23: + case 27: + case 35: uV = hex * S2MPS11_LDO_STEP + S2MPS11_LDO_UV_MIN; break; default: @@ -366,6 +368,8 @@ static int s2mps11_ldo_volt2hex(int ldo, int uV) case 11: case 22: case 23: + case 27: + case 35: hex = (uV - S2MPS11_LDO_UV_MIN) / S2MPS11_LDO_STEP; break; default: From patchwork Tue Mar 5 19:57:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051981 X-Patchwork-Delegate: promsoft@gmail.com 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="Z4b8fWhm"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DST7288wz9sBp for ; Wed, 6 Mar 2019 07:01:31 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id EF823C21E02; Tue, 5 Mar 2019 19:59:36 +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 EA876C21DED; Tue, 5 Mar 2019 19:59:07 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E8793C21D9A; Tue, 5 Mar 2019 19:58:38 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 024A3C21E15 for ; Tue, 5 Mar 2019 19:58:35 +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 8A2CB20842; Tue, 5 Mar 2019 19:58:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815913; bh=TeRSVad3J0Ah+zY217IsdRo2ViGqEdQn62+SFcp5uL4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z4b8fWhmrcYzsfc1xXSkfM5u/3oKlp4xSGH5G00f419xP45vafObONzaOkJf15tZr 5Vfl9u+y8wxzMxNjF1ymOdC4wsyT9Tdbsi1RNAh7kQ36I33zUBUtjbHy+Nk4SOylDV rO6M9wq4zPywdh4Y5IsCo3ItoaS+NBBirAzuCPoU= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:56 +0100 Message-Id: <20190305195802.14397-4-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 3/9] arm: exynos: Detect revision later, when all resources are ready 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" 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 Reviewed-by: Lukasz Majewski Tested-by: Anand Moon --- board/samsung/common/board.c | 22 +++++++++++++++++++++- board/samsung/common/exynos5-dt-types.c | 16 +++++++++++++--- board/samsung/odroid/odroid.c | 8 ++++++++ include/samsung/misc.h | 1 + 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 96228a86a117..ef2204742e1d 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -253,7 +253,18 @@ int board_eth_init(bd_t *bis) int checkboard(void) { if (IS_ENABLED(CONFIG_BOARD_TYPES)) { - const char *board_info = get_board_type(); + const char *board_info; + + if (IS_ENABLED(CONFIG_DISPLAY_BOARDINFO_LATE)) { + /* + * Printing type requires having revision, although + * this will succeed only if done late. + * Otherwise revision will be set in misc_init_r(). + */ + set_board_revision(); + } + + board_info = get_board_type(); if (board_info) printf("Type: %s\n", board_info); @@ -287,6 +298,15 @@ int board_late_init(void) #ifdef CONFIG_MISC_INIT_R int misc_init_r(void) { + if (!IS_ENABLED(CONFIG_DISPLAY_BOARDINFO_LATE)) { + /* + * If revision was not set by late display boardinfo, + * set it here. At this point regulators should be already + * available. + */ + set_board_revision(); + } + #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG set_board_info(); #endif diff --git a/board/samsung/common/exynos5-dt-types.c b/board/samsung/common/exynos5-dt-types.c index 7a86e9187768..7c1271d6547a 100644 --- a/board/samsung/common/exynos5-dt-types.c +++ b/board/samsung/common/exynos5-dt-types.c @@ -192,8 +192,11 @@ const char *get_board_type(void) /** * set_board_type() - set board type in gd->board_type. - * As default type set EXYNOS5_BOARD_GENERIC, if detect Odroid, - * then set its proper type. + * As default type set EXYNOS5_BOARD_GENERIC. If Odroid is detected, + * set its proper type based on device tree. + * + * This might be called early when some more specific ways to detect revision + * are not yet available. */ void set_board_type(void) { @@ -211,8 +214,15 @@ void set_board_type(void) gd->board_type = of_match->data; break; } +} - /* If Odroid, then check its revision */ +/** + * set_board_revision() - set detailed board type in gd->board_type. + * Should be called when resources (e.g. regulators) are available + * so ADC can be used to detect the specific revision of a board. + */ +void set_board_revision(void) +{ if (board_is_odroidxu3()) gd->board_type = odroid_get_board_type(); } diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c index 552333fe869d..4be8cc9826c3 100644 --- a/board/samsung/odroid/odroid.c +++ b/board/samsung/odroid/odroid.c @@ -54,6 +54,14 @@ void set_board_type(void) gd->board_type = ODROID_TYPE_U3; } +void set_board_revision(void) +{ + /* + * Revision already set by set_board_type() because it can be + * executed early. + */ +} + const char *get_board_type(void) { const char *board_type[] = {"u3", "x2"}; diff --git a/include/samsung/misc.h b/include/samsung/misc.h index 017560c25662..4ff28a1df0e8 100644 --- a/include/samsung/misc.h +++ b/include/samsung/misc.h @@ -33,6 +33,7 @@ char *get_dfu_alt_system(char *interface, char *devstr); char *get_dfu_alt_boot(char *interface, char *devstr); #endif void set_board_type(void); +void set_board_revision(void); const char *get_board_type(void); #endif /* __SAMSUNG_MISC_COMMON_H__ */ From patchwork Tue Mar 5 19:57:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051983 X-Patchwork-Delegate: promsoft@gmail.com 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="FYSdRXVp"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSTR21Gqz9s3q for ; Wed, 6 Mar 2019 07:01:47 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id F3595C21E02; Tue, 5 Mar 2019 19:59: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 92DB4C21E12; Tue, 5 Mar 2019 19:58:47 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 09CDEC21D8A; Tue, 5 Mar 2019 19:58:41 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 15283C21E1D for ; Tue, 5 Mar 2019 19:58:38 +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 552992087C; Tue, 5 Mar 2019 19:58:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815916; bh=S/TFQHBmlcxze5I19vSnhqyTcoTYNP2t8eVVRbH705I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FYSdRXVp30gSaPD+i4QnmzDJ64Yg/xykPRQMBK1T6hs2lxlOPL6JiF3Q6DJiitZRo eaSYBiGFYJjcnGN3XPZxWRqlDEIBG/xQ6iXuBu1GGryEXk/XM6pxr3AnKw+Dnh8An7 RwKZgyAplm4cpC6hSfg10RKA1e19W7O5DP9yTuFk= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:57 +0100 Message-Id: <20190305195802.14397-5-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 4/9] arm: exynos: odroid-xu3: Display info late to have proper type 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" Printing the "Type" of board requires proper detection of revision which can happen only late because regulators are needed. Signed-off-by: Krzysztof Kozlowski Tested-by: Anand Moon --- board/samsung/common/board.c | 2 +- configs/odroid-xu3_defconfig | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index ef2204742e1d..4ffbd7254205 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -249,7 +249,7 @@ int board_eth_init(bd_t *bis) return 0; } -#ifdef CONFIG_DISPLAY_BOARDINFO +#if defined(CONFIG_DISPLAY_BOARDINFO) || defined(CONFIG_DISPLAY_BOARDINFO_LATE) int checkboard(void) { if (IS_ENABLED(CONFIG_BOARD_TYPES)) { diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig index e35f8d6dde78..682460a1934e 100644 --- a/configs/odroid-xu3_defconfig +++ b/configs/odroid-xu3_defconfig @@ -10,6 +10,8 @@ CONFIG_FIT=y CONFIG_FIT_BEST_MATCH=y CONFIG_SILENT_CONSOLE=y CONFIG_CONSOLE_MUX=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y CONFIG_MISC_INIT_R=y CONFIG_BOARD_TYPES=y CONFIG_SYS_PROMPT="ODROID-XU3 # " From patchwork Tue Mar 5 19:57:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051978 X-Patchwork-Delegate: promsoft@gmail.com 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="PwK0yyfI"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSST0ZsWz9s3q for ; Wed, 6 Mar 2019 07:00:56 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 90BC4C21DA6; Tue, 5 Mar 2019 19:59:23 +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 5019EC21E16; Tue, 5 Mar 2019 19:59:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6BF3BC21D8A; Tue, 5 Mar 2019 19:58:44 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id B6A69C21E34 for ; Tue, 5 Mar 2019 19:58:40 +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 3720A2075B; Tue, 5 Mar 2019 19:58:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815919; bh=Q85TbykKP+lFEasek7LzM7yraqkht9Hj6LpTuaKu7/s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PwK0yyfIYiItLAR0IQxN8Ft3iPXZhFQ3Ww1306lwd5vywJONdevWSJ/TvxVBQF6Uj KOoZLZ5k4qH2CejWhnrWqPUQU18PMoP9EruH3nIk3Bq5faJpLHTuAvXkAq+ZAZZqUF Q3yUGY4MscKP0wfwKJOPW9k1z26DALII65iIwwmE= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:58 +0100 Message-Id: <20190305195802.14397-6-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 5/9] arm: exynos: Wait till ADC stabilizes before checking Odroid HC1 revision 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" Fix detection of Odroid HC1 (Exynos5422) after reboot if kernel disabled the LDO4/VDD_ADC regulator. The LDO4 supplies both ADC block and the ADC input AIN9. Voltage on AIN9 will rise slowly, so use delay of 5 milliseconds instead of timers-based loop to wait for voltage stabilization. First reads on Odroid HC1 return 305, 1207, 1297 and finally 1308 (reference value is 1309). Signed-off-by: Krzysztof Kozlowski Tested-by: Anand Moon --- board/samsung/common/exynos5-dt-types.c | 38 ++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/board/samsung/common/exynos5-dt-types.c b/board/samsung/common/exynos5-dt-types.c index 7c1271d6547a..516c32923e44 100644 --- a/board/samsung/common/exynos5-dt-types.c +++ b/board/samsung/common/exynos5-dt-types.c @@ -57,12 +57,48 @@ static unsigned int odroid_get_rev(void) return 0; } +/* + * Read ADC at least twice and check the resuls. If regulator providing voltage + * on to measured point was just turned on, first reads might require time + * to stabilize. + */ +static int odroid_get_adc_val(unsigned int *adcval) +{ + unsigned int adcval_prev = 0; + int ret, retries = 20; + + ret = adc_channel_single_shot("adc", CONFIG_ODROID_REV_AIN, + &adcval_prev); + if (ret) + return ret; + + while (retries--) { + mdelay(5); + + ret = adc_channel_single_shot("adc", CONFIG_ODROID_REV_AIN, + adcval); + if (ret) + return ret; + + /* + * If difference between ADC reads is less than 3%, + * accept the result + */ + if ((100 * abs(*adcval - adcval_prev) / adcval_prev) < 3) + return ret; + + adcval_prev = *adcval; + } + + return ret; +} + static int odroid_get_board_type(void) { unsigned int adcval; int ret, i; - ret = adc_channel_single_shot("adc", CONFIG_ODROID_REV_AIN, &adcval); + ret = odroid_get_adc_val(&adcval); if (ret) goto rev_default; From patchwork Tue Mar 5 19:57:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051982 X-Patchwork-Delegate: promsoft@gmail.com 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="aduk/WtZ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DST91ZVxz9s3q for ; Wed, 6 Mar 2019 07:01:33 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C32A4C21E2C; Tue, 5 Mar 2019 20:00:02 +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 249C5C21E07; Tue, 5 Mar 2019 19:59:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 94EBAC21DAF; Tue, 5 Mar 2019 19:58:48 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id CC2DBC21D9A for ; Tue, 5 Mar 2019 19:58:43 +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 1230A20842; Tue, 5 Mar 2019 19:58:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815922; bh=yPkiH97quK8rj/gA73HxSwNhE6YOJ7bI0MXMPZKVYNo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aduk/WtZDj/N+Gl0S9xXmMcwXc+6lh22jB+wzrU+FRmGozdtfcQ8DnaNFayWFL139 kEWy09bm7YsB7sYwbXypd/xPZB8wzN85fODiJJvpZAM5H+0JLRWEnv1auaVDbrQGGh 0TmOmrd18U9gTk6IWUPNEvcMKoPcCksyme7GdGBc= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:57:59 +0100 Message-Id: <20190305195802.14397-7-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 6/9] regulator: Add support for ramp delay 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" Changing voltage and enabling regulator might require delays so the regulator stabilizes at expected level. Add support for "regulator-ramp-delay" binding which can introduce required time to both enabling the regulator and to changing the voltage. Signed-off-by: Krzysztof Kozlowski Tested-by: Anand Moon --- .../regulator/regulator.txt | 2 + drivers/power/regulator/regulator-uclass.c | 47 ++++++++++++++++++- include/power/regulator.h | 2 + 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/doc/device-tree-bindings/regulator/regulator.txt b/doc/device-tree-bindings/regulator/regulator.txt index 65b69c427899..4ba642b7c77f 100644 --- a/doc/device-tree-bindings/regulator/regulator.txt +++ b/doc/device-tree-bindings/regulator/regulator.txt @@ -35,6 +35,7 @@ Optional properties: - regulator-max-microamp: a maximum allowed Current value - regulator-always-on: regulator should never be disabled - regulator-boot-on: enabled by bootloader/firmware +- regulator-ramp-delay: ramp delay for regulator (in uV/us) Note The "regulator-name" constraint is used for setting the device's uclass @@ -60,4 +61,5 @@ ldo0 { regulator-max-microamp = <100000>; regulator-always-on; regulator-boot-on; + regulator-ramp-delay = <12000>; }; diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index 6f355b969a6d..9118b8eb39e3 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -35,10 +35,22 @@ int regulator_get_value(struct udevice *dev) return ops->get_value(dev); } +static void regulator_set_value_ramp_delay(struct udevice *dev, int old_uV, + int new_uV, unsigned int ramp_delay) +{ + int delay = DIV_ROUND_UP(abs(new_uV - old_uV), ramp_delay); + + debug("regulator %s: delay %u us (%d uV -> %d uV)\n", dev->name, delay, + old_uV, new_uV); + + udelay(delay); +} + int regulator_set_value(struct udevice *dev, int uV) { const struct dm_regulator_ops *ops = dev_get_driver_ops(dev); struct dm_regulator_uclass_platdata *uc_pdata; + int ret, old_uV = uV, is_enabled = 0; uc_pdata = dev_get_uclass_platdata(dev); if (uc_pdata->min_uV != -ENODATA && uV < uc_pdata->min_uV) @@ -49,7 +61,20 @@ int regulator_set_value(struct udevice *dev, int uV) if (!ops || !ops->set_value) return -ENOSYS; - return ops->set_value(dev, uV); + if (uc_pdata->ramp_delay) { + is_enabled = regulator_get_enable(dev); + old_uV = regulator_get_value(dev); + } + + ret = ops->set_value(dev, uV); + + if (!ret) { + if (uc_pdata->ramp_delay && old_uV > 0 && is_enabled) + regulator_set_value_ramp_delay(dev, old_uV, uV, + uc_pdata->ramp_delay); + } + + return ret; } /* @@ -107,6 +132,7 @@ int regulator_set_enable(struct udevice *dev, bool enable) { const struct dm_regulator_ops *ops = dev_get_driver_ops(dev); struct dm_regulator_uclass_platdata *uc_pdata; + int ret, old_enable = 0; if (!ops || !ops->set_enable) return -ENOSYS; @@ -115,7 +141,22 @@ int regulator_set_enable(struct udevice *dev, bool enable) if (!enable && uc_pdata->always_on) return -EACCES; - return ops->set_enable(dev, enable); + if (uc_pdata->ramp_delay) + old_enable = regulator_get_enable(dev); + + ret = ops->set_enable(dev, enable); + if (!ret) { + if (uc_pdata->ramp_delay && !old_enable && enable) { + int uV = regulator_get_value(dev); + + if (uV > 0) { + regulator_set_value_ramp_delay(dev, 0, uV, + uc_pdata->ramp_delay); + } + } + } + + return ret; } int regulator_set_enable_if_allowed(struct udevice *dev, bool enable) @@ -335,6 +376,8 @@ static int regulator_pre_probe(struct udevice *dev) -ENODATA); uc_pdata->always_on = dev_read_bool(dev, "regulator-always-on"); uc_pdata->boot_on = dev_read_bool(dev, "regulator-boot-on"); + uc_pdata->ramp_delay = dev_read_u32_default(dev, "regulator-ramp-delay", + 0); /* Those values are optional (-ENODATA if unset) */ if ((uc_pdata->min_uV != -ENODATA) && diff --git a/include/power/regulator.h b/include/power/regulator.h index 314160a894b7..6c6e2cd4f996 100644 --- a/include/power/regulator.h +++ b/include/power/regulator.h @@ -150,6 +150,7 @@ enum regulator_flag { * @always_on* - bool type, true or false * @boot_on* - bool type, true or false * TODO(sjg@chromium.org): Consider putting the above two into @flags + * @ramp_delay - Time to settle down after voltage change (unit: uV/us) * @flags: - flags value (see REGULATOR_FLAG_...) * @name** - fdt regulator name - should be taken from the device tree * ctrl_reg: - Control register offset used to enable/disable regulator @@ -169,6 +170,7 @@ struct dm_regulator_uclass_platdata { int max_uV; int min_uA; int max_uA; + unsigned int ramp_delay; bool always_on; bool boot_on; const char *name; From patchwork Tue Mar 5 19:58:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051980 X-Patchwork-Delegate: promsoft@gmail.com 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="tp6tlsLC"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSSp5htkz9s3q for ; Wed, 6 Mar 2019 07:01:14 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 7536CC21DFD; Tue, 5 Mar 2019 19:59:49 +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 616D0C21DEC; Tue, 5 Mar 2019 19:59:24 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6A585C21E1E; Tue, 5 Mar 2019 19:58:50 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 11783C21DF8 for ; Tue, 5 Mar 2019 19:58:47 +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 25B8F2087C; Tue, 5 Mar 2019 19:58:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815925; bh=7r/tQfKPIp7SLL2NpJ4XoIdsIcObgLRPR2Qgx27/1iI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tp6tlsLCkYRn3MFPIzVFeK5Jqw6sJ6VmGbe19SEcgiVS9EpFFaOVEeTVRIwbMoH9M ILITOQwv5oYhqhI9NHE6mtaT4/SSoiUwxHW0Dk40syfvq05WBdEutymkqV3r1Zn/Pg U+lITgs92ncEtIQgWBbw5WEwmlXxQsTX/aWLtYIc= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:58:00 +0100 Message-Id: <20190305195802.14397-8-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 7/9] power: regulator: s2mps11: Add enable delay 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" According to datasheet, the output on LDO regulators will start appearing after 10-15 us. Signed-off-by: Krzysztof Kozlowski Tested-by: Anand Moon --- drivers/power/regulator/s2mps11_regulator.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/power/regulator/s2mps11_regulator.c b/drivers/power/regulator/s2mps11_regulator.c index 723d27f67c9a..67d1f9689de3 100644 --- a/drivers/power/regulator/s2mps11_regulator.c +++ b/drivers/power/regulator/s2mps11_regulator.c @@ -551,7 +551,16 @@ static int ldo_get_enable(struct udevice *dev) static int ldo_set_enable(struct udevice *dev, bool enable) { - return s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); + int ret; + + ret = s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); + if (ret) + return ret; + + /* Wait the "enable delay" for voltage to start to rise */ + udelay(15); + + return 0; } static int ldo_get_mode(struct udevice *dev) From patchwork Tue Mar 5 19:58:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051984 X-Patchwork-Delegate: promsoft@gmail.com 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="1ZZaSyTW"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSVW5vDFz9s3q for ; Wed, 6 Mar 2019 07:02:43 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 7627CC21DA6; Tue, 5 Mar 2019 20:00:17 +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 14391C21C3F; Tue, 5 Mar 2019 19:59:54 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A4450C21DD3; Tue, 5 Mar 2019 19:58:53 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id 33285C21C3F for ; Tue, 5 Mar 2019 19:58:50 +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 63171208E4; Tue, 5 Mar 2019 19:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815928; bh=beqx9umqkwCz+XRW5JFXDVADCHgFrnPocX51dBpZlj0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1ZZaSyTWrH2fLQH0lFgIoHzklGmJYVMJEoG1u8hbgbotlYwwz4v2l4WOg94/BIpOQ lO8fnsyN9mI1YwDzzoNlLc0ii/VfRrpCjOFEvE9ReaoHFUhvCZLihA73KWta8hfUa2 ibNdvAudgagCghkj0p9sAXGZ8ZKVVVmPhtQ48T6A= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:58:01 +0100 Message-Id: <20190305195802.14397-9-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 8/9] arm: dts: exynos: Add supply for ADC block to Odroid XU3 family 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" The ADC block requires VDD supply to be on so provide one. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Lukasz Majewski Tested-by: Anand Moon --- arch/arm/dts/exynos5422-odroidxu3.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts index e859dd1b981a..9dfae90667cf 100644 --- a/arch/arm/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -32,6 +32,7 @@ adc@12D10000 { u-boot,dm-pre-reloc; + vdd-supply = <&ldo4_reg>; status = "okay"; }; From patchwork Tue Mar 5 19:58:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 1051985 X-Patchwork-Delegate: promsoft@gmail.com 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="dkueyLmJ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 44DSVr1jJBz9sB3 for ; Wed, 6 Mar 2019 07:03:00 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E4C1BC21C29; Tue, 5 Mar 2019 20:00:29 +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 D4FE5C21E12; Tue, 5 Mar 2019 19:59:57 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BAE1CC21DF9; Tue, 5 Mar 2019 19:58:56 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by lists.denx.de (Postfix) with ESMTPS id CA604C21E1E for ; Tue, 5 Mar 2019 19:58:52 +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 5EBBD21019; Tue, 5 Mar 2019 19:58:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551815931; bh=KsEJgF+33+My6YE8qJkDY+heyc+JYSZQwNVmRpMqAOc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dkueyLmJK5XsiIEO1eSh29TTVRyuz506fmGxTyx4x68BMoPv7KBGQF9tqw0yLT9Rg UX3lPbv2QqHdIVRbUpSBXlUFURb5MRzeuvOcvjX5LhQMcBlBh7VS77v2l8Yd9/8D1V ZIVqsThH7A7tezmiGtcrKrkfn/QHLZWZswyV7IoM= From: Krzysztof Kozlowski To: Albert Aribaud , Jaehoon Chung , Lukasz Majewski , Krzysztof Kozlowski , Simon Glass , Minkyu Kang , Marek Szyprowski , u-boot@lists.denx.de Date: Tue, 5 Mar 2019 20:58:02 +0100 Message-Id: <20190305195802.14397-10-krzk@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190305195802.14397-1-krzk@kernel.org> References: <20190305195802.14397-1-krzk@kernel.org> Subject: [U-Boot] [PATCH v4 9/9] arm: dts: exynos: Add ramp delay property to LDO regulators to Odroid XU3 family 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" Add startup time to LDO regulators of S2MPS11 PMIC on Odroid XU3/XU4/HC1 family of boards to be sure the voltage is proper before relying on the regulator. The datasheet for all the S2MPS1x family is inconsistent here and does not specify unambiguously the value of ramp delay for LDO. It mentions 30 mV/us in one timing diagram but then omits it completely in LDO regulator characteristics table (it is specified for bucks). However the vendor kernels for Galaxy S5 and Odroid XU3 use values of 12 mV/us or 24 mV/us. Without the ramp delay value the consumers do not wait for voltage settle after changing it. Although the proper value of ramp delay for LDOs is unknown, it seems safer to use at least some value from reference kernel than to leave it unset. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Lukasz Majewski Tested-by: Anand Moon --- arch/arm/dts/exynos5422-odroidxu3.dts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts index 9dfae90667cf..04ecc404f907 100644 --- a/arch/arm/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/dts/exynos5422-odroidxu3.dts @@ -45,6 +45,7 @@ regulator-name = "vdd_ldo1"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -52,18 +53,21 @@ regulator-name = "vddq_mmc0"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; }; ldo4_reg: LDO4 { regulator-name = "vdd_adc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; }; ldo5_reg: LDO5 { regulator-name = "vdd_ldo5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -71,6 +75,7 @@ regulator-name = "vdd_ldo6"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -78,6 +83,7 @@ regulator-name = "vdd_ldo7"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -85,6 +91,7 @@ regulator-name = "vdd_ldo8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -92,6 +99,7 @@ regulator-name = "vdd_ldo9"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -99,6 +107,7 @@ regulator-name = "vdd_ldo10"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -106,6 +115,7 @@ regulator-name = "vdd_ldo11"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -113,6 +123,7 @@ regulator-name = "vdd_ldo12"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -120,12 +131,14 @@ regulator-name = "vddq_mmc2"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; + regulator-ramp-delay = <12000>; }; ldo15_reg: LDO15 { regulator-name = "vdd_ldo15"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -133,6 +146,7 @@ regulator-name = "vdd_ldo16"; regulator-min-microvolt = <2200000>; regulator-max-microvolt = <2200000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -140,6 +154,7 @@ regulator-name = "vdd_ldo17"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -147,18 +162,21 @@ regulator-name = "vdd_emmc_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; + regulator-ramp-delay = <12000>; }; ldo19_reg: LDO19 { regulator-name = "vdd_sd"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; + regulator-ramp-delay = <12000>; }; ldo24_reg: LDO24 { regulator-name = "tsp_io"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; + regulator-ramp-delay = <12000>; regulator-always-on; }; @@ -166,6 +184,7 @@ regulator-name = "vdd_ldo26"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; + regulator-ramp-delay = <12000>; regulator-always-on; };