Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp58066imj; Thu, 14 Feb 2019 15:17:34 -0800 (PST) X-Google-Smtp-Source: AHgI3IbtEjU9X+yhKptErdOLAS6mp1s4m4QaOrgR7NbywbIudCNSVVjh07fQj+FEvUpIV6POU1at X-Received: by 2002:a63:481f:: with SMTP id v31mr2380356pga.29.1550186254009; Thu, 14 Feb 2019 15:17:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550186254; cv=none; d=google.com; s=arc-20160816; b=s+R7TO7m+GpTdifpWQPx41JQ6tVIjdwSDUBEuPjt0kTOoaGTJZFdVezWrihPJgD6Yw UkWFMLK83uyK+3A3hIsq8PoQd9Yuo/KEawnDCQnPwUDp0VV0jVCq76riMdC5p/LKEK7k NeV3YHu64/u45m+br+u2dhVg+jury74+KgX/5A/Swq4kM+xD23aJVxwDK4mBE5SzFnnw rtx2cPdaNZAECewVLjqnIPGNylr8T45KLlYV4Lw8A6q3Z88QzfdZz26nNIi2UCVR0MGX dfLvYIq7Y/C5cUKE2ZDLDbiPia8ReYZG4NUTeTw/WWzBljEKq6K9ynuOYwRYznl3u8eU /AVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=p8JtfjsSVQMOdlrfIGvdFspfW+YCU7wD1XsSX0Rx2HY=; b=iohZcKsrOIsHgtvttibZ+ReXw4RzkjLIrrCkRmG8VYH4jFzJxoukycnhgmpNRgdSe3 wkRnkoZj07kQxxjlqrDKwSt07bA9GWiixUKI9MR3HdCBu1nnFpQLtn49m1Kx3h3FJ2zD /Q/IDuzIWC1fijF/jz9SAI9XfNCjvBniITO83kZP0GXFUgYtG2uSyfWktM9lII9jupLT PizUeIOfSrCZM1iGsT02gS/N3othd2w8zL/7KC0mpyBGqFg9Dq3Q5aDykWsBu9Z1QjbX XBFyEnIWa8Se33IXpq3eUgZBaYKUeWeUrMvXLxa5KocLpcwQ1jlIhDxL3BPtJPtUqKWA hXZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dysk0PCo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w2si3622698pgh.565.2019.02.14.15.17.00; Thu, 14 Feb 2019 15:17:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dysk0PCo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391764AbfBNMl3 (ORCPT + 99 others); Thu, 14 Feb 2019 07:41:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:37436 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727958AbfBNMl3 (ORCPT ); Thu, 14 Feb 2019 07:41:29 -0500 Received: from mail-lf1-f41.google.com (mail-lf1-f41.google.com [209.85.167.41]) (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 DD7FE222B6; Thu, 14 Feb 2019 12:41:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550148087; bh=QY1X1OOvnEEnbT2Y/13UGbYvaoiRPXsZimPdi0FRZeg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Dysk0PCoQkGfY4o5tD0ip/9wp1ZNLt9FYDtb/Q/qrZ21c1TBUVjcpcC1c/9W6HxRm Q1bDiINf+CK2uY11SLXROFdk4AAmIlnswlEuJ+U6U37ZBPuS2ExaOVz2hQLwtfHGUO rNyHeZ44MCpSei6HTaL2Wxc1H7tCMvEkKcaopaRs= Received: by mail-lf1-f41.google.com with SMTP id n23so4437871lfl.4; Thu, 14 Feb 2019 04:41:26 -0800 (PST) X-Gm-Message-State: AHQUAubkX9xSdiARho3Va7b+Af9n3BKoiswB2TmmY2B2daMrDvHW7f4S sESVDbjy7wvSJNW7wFjQrfg9YoIzaAuDDNViGC4= X-Received: by 2002:a19:f013:: with SMTP id p19mr2275017lfc.154.1550148084945; Thu, 14 Feb 2019 04:41:24 -0800 (PST) MIME-Version: 1.0 References: <20190213214052.2427-1-linux.amoon@gmail.com> <20190213214052.2427-2-linux.amoon@gmail.com> In-Reply-To: <20190213214052.2427-2-linux.amoon@gmail.com> From: Krzysztof Kozlowski Date: Thu, 14 Feb 2019 13:41:13 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC 1/2] ARM: dts: exynos: Add proper regulator states for suspend-to-mem for odroid-u3 To: Anand Moon Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "linux-samsung-soc@vger.kernel.org" , linux-kernel@vger.kernel.org, Rob Herring , Kukjin Kim , Marek Szyprowski , Tomasz Figa , Chanwoo Choi , Pankaj Dubey Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Anand, Thanks for the patch. See comments below. On Wed, 13 Feb 2019 at 22:41, Anand Moon wrote: > > Add suspend-to-mem node to regulator core to be enabled or disabled > during system suspend and also support changing the regulator operating > mode during runtime and when the system enter sleep mode. > > Cc: Marek Szyprowski > Cc: Krzysztof Kozlowski > Cc: Chanwoo Choi > Signed-off-by: Anand Moon > --- > > Changes from previos patch > [0] https://patchwork.kernel.org/patch/10712549/ > > Set all the WAKEUP source regulator in suspend-on state. > LD04, LD012, LD015, LD020, LD022 > Set all the non used regulator in suspend-odd state > LD02, LD03, LD05, LD06, LD07, LD011, LD013, LDO14, LD016 > > BUCK5, BUCK6, BUCK7 and not confirable as per driver max77686-regulator > > Tested on microSD card and it resumes correcly after suspend. > eMMC is not able to resume after entering into suspend state, > which need to be investigated and how to debug more. > --- > .../boot/dts/exynos4412-odroid-common.dtsi | 63 +++++++++++++++++++ > arch/arm/boot/dts/exynos4412-odroidu3.dts | 3 + > 2 files changed, 66 insertions(+) > > diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > index 08d3a0a7b4eb..e984461c37d9 100644 > --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi > @@ -288,6 +288,9 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; I see my comment from previous patch was not addressed. > }; > > ldo3_reg: LDO3 { > @@ -295,6 +298,9 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; The same... > }; > > ldo4_reg: LDO4 { > @@ -302,6 +308,9 @@ > regulator-min-microvolt = <2800000>; > regulator-max-microvolt = <2800000>; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo5_reg: LDO5 { > @@ -310,6 +319,9 @@ > regulator-max-microvolt = <1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo6_reg: LDO6 { > @@ -317,6 +329,9 @@ > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo7_reg: LDO7 { > @@ -324,18 +339,27 @@ > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo8_reg: LDO8 { > regulator-name = "VDD10_HDMI_1.0V"; > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo10_reg: LDO10 { > regulator-name = "VDDQ_MIPIHSI_1.8V"; > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo11_reg: LDO11 { > @@ -343,6 +367,9 @@ > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > regulator-always-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo12_reg: LDO12 { > @@ -351,6 +378,9 @@ > regulator-max-microvolt = <3300000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo13_reg: LDO13 { > @@ -359,6 +389,9 @@ > regulator-max-microvolt = <1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo14_reg: LDO14 { > @@ -367,6 +400,9 @@ > regulator-max-microvolt = <1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo15_reg: LDO15 { > @@ -375,6 +411,9 @@ > regulator-max-microvolt = <1000000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo16_reg: LDO16 { > @@ -383,6 +422,9 @@ > regulator-max-microvolt = <1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > ldo20_reg: LDO20 { > @@ -396,6 +438,9 @@ > regulator-min-microvolt = <2800000>; > regulator-max-microvolt = <2800000>; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; The same... any comments? > }; > > ldo22_reg: LDO22 { > @@ -405,6 +450,9 @@ > */ > regulator-name = "LDO22"; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > ldo25_reg: LDO25 { > @@ -413,6 +461,9 @@ > regulator-max-microvolt = <1800000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck1_reg: BUCK1 { > @@ -421,6 +472,9 @@ > regulator-max-microvolt = <1100000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; Again, you did not address my comments. > + }; > }; > > buck2_reg: BUCK2 { > @@ -429,6 +483,9 @@ > regulator-max-microvolt = <1350000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-on-in-suspend; > + }; > }; > > buck3_reg: BUCK3 { > @@ -437,6 +494,9 @@ > regulator-max-microvolt = <1050000>; > regulator-always-on; > regulator-boot-on; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; The same... > }; > > buck4_reg: BUCK4 { > @@ -444,6 +504,9 @@ > regulator-min-microvolt = <900000>; > regulator-max-microvolt = <1100000>; > regulator-microvolt-offset = <50000>; > + regulator-state-mem { > + regulator-off-in-suspend; > + }; > }; > > buck5_reg: BUCK5 { > diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts > index 2bdf899df436..4ebde09fc51d 100644 > --- a/arch/arm/boot/dts/exynos4412-odroidu3.dts > +++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts > @@ -82,6 +82,9 @@ > regulator-name = "LDO22_VDDQ_MMC4_2.8V"; > regulator-min-microvolt = <2800000>; > regulator-max-microvolt = <2800000>; > + regulator-state-mem { > + regulator-on-in-suspend; Why? Best regards, Krzysztof