From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F8C1C3A5A3 for ; Tue, 27 Aug 2019 17:53:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 06EC4214DA for ; Tue, 27 Aug 2019 17:53:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="LtORSIGA"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="guLVDkVA" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727887AbfH0RxF (ORCPT ); Tue, 27 Aug 2019 13:53:05 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:56866 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727683AbfH0RxF (ORCPT ); Tue, 27 Aug 2019 13:53:05 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id C88B36D8DE; Tue, 27 Aug 2019 15:35:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1566922677; bh=Yg0LKP9VDg1ut1tbZj4dVvcx7uWBcYeorGSckKymSi0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=LtORSIGAFIta2Sy8NUw9uUtngTL/HaWo+f4jW9rn+8TvEliCXgOFBqW45T5QsLMa4 W2b7pd7dGj8C/IBz6kxy5HYkAKx4PE1QtICkYhztGcDpSf4Rz1ckUWe9sUs8BPmUwC +lL8UCY/aQsMVqAufzCAmOSVqQQf6A1expWQDVTw= Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 85E636A536; Tue, 27 Aug 2019 15:23:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1566919387; bh=Yg0LKP9VDg1ut1tbZj4dVvcx7uWBcYeorGSckKymSi0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=guLVDkVAJwfDZddMQeGhtvQvcWD7OJ3wTYzb7HsurL66VHEfYv/wdfsY0sfzsADrG n8/N6Btqlrit8BGgQ3d59RD1LGCp+tkPxMOOErbs8FbHhn8mtndEHz26jbfbVvVIKr +8SLFwv5FvaXVQSknU1gDutfzEvzW5TXKxXh8n/g= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 27 Aug 2019 20:53:05 +0530 From: kgunda@codeaurora.org To: Vinod Koul Cc: Andy Gross , linux-arm-msm@vger.kernel.org, Bjorn Andersson , Rob Herring , Mark Rutland , Stephen Boyd , Sibi Sankar , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Niklas Cassel , linux-arm-msm-owner@vger.kernel.org Subject: Re: [PATCH v4 6/8] arm64: dts: qcom: sm8150-mtp: Add regulators In-Reply-To: <2000d2ae8b0c3ee079cce75233b53330@codeaurora.org> References: <20190821184239.12364-1-vkoul@kernel.org> <20190821184239.12364-7-vkoul@kernel.org> <2000d2ae8b0c3ee079cce75233b53330@codeaurora.org> Message-ID: <8011e6a82fe0b7ce6f81c896ae4c4d0c@codeaurora.org> X-Sender: kgunda@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On 2019-08-23 11:35, kgunda@codeaurora.org wrote: > On 2019-08-22 00:12, Vinod Koul wrote: >> Add the regulators found in the mtp platform. This platform consists >> of >> pmic PM8150, PM8150L and PM8009. >> >> Signed-off-by: Vinod Koul >> Reviewed-by: Niklas Cassel >> --- >> arch/arm64/boot/dts/qcom/sm8150-mtp.dts | 324 >> ++++++++++++++++++++++++ >> 1 file changed, 324 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts >> b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts >> index 6f5777f530ae..aa5de42fcae4 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8150-mtp.dts >> +++ b/arch/arm64/boot/dts/qcom/sm8150-mtp.dts >> @@ -6,6 +6,7 @@ >> >> /dts-v1/; >> >> +#include >> #include "sm8150.dtsi" >> #include "pm8150.dtsi" >> #include "pm8150b.dtsi" >> @@ -22,6 +23,329 @@ >> chosen { >> stdout-path = "serial0:115200n8"; >> }; >> + >> + vph_pwr: vph-pwr-regulator { >> + compatible = "regulator-fixed"; >> + regulator-name = "vph_pwr"; >> + regulator-min-microvolt = <3700000>; >> + regulator-max-microvolt = <3700000>; >> + }; >> + >> + /* >> + * Apparently RPMh does not provide support for PM8150 S4 because it >> + * is always-on; model it as a fixed regulator. >> + */ >> + vreg_s4a_1p8: pm8150-s4 { >> + compatible = "regulator-fixed"; >> + regulator-name = "vreg_s4a_1p8"; >> + >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + >> + regulator-always-on; >> + regulator-boot-on; >> + >> + vin-supply = <&vph_pwr>; >> + }; >> +}; >> + >> +&apps_rsc { >> + pm8150-rpmh-regulators { >> + compatible = "qcom,pm8150-rpmh-regulators"; >> + qcom,pmic-id = "a"; >> + >> + vdd-s1-supply = <&vph_pwr>; >> + vdd-s2-supply = <&vph_pwr>; >> + vdd-s3-supply = <&vph_pwr>; >> + vdd-s4-supply = <&vph_pwr>; >> + vdd-s5-supply = <&vph_pwr>; >> + vdd-s6-supply = <&vph_pwr>; >> + vdd-s7-supply = <&vph_pwr>; >> + vdd-s8-supply = <&vph_pwr>; >> + vdd-s9-supply = <&vph_pwr>; >> + vdd-s10-supply = <&vph_pwr>; >> + >> + vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>; >> + vdd-l2-l10-supply = <&vreg_bob>; >> + vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>; > You no need to vote for the parent supply from the Linux driver. The > parent/child dependency is completely taken care by the > AOP/RPMh. Voting on the parent will create unnecessary additional RPMh > transactions, which may degrade the performance. >> + vdd-l6-l9-supply = <&vreg_s8c_1p3>; >> + vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>; >> + vdd-l13-l16-l17-supply = <&vreg_bob>; >> + >> + vreg_s5a_2p0: smps5 { >> + regulator-min-microvolt = <1904000>; >> + regulator-max-microvolt = <2000000>; >> + }; >> + >> + vreg_s6a_0p9: smps6 { >> + regulator-min-microvolt = <920000>; >> + regulator-max-microvolt = <1128000>; >> + }; >> + >> + vdda_wcss_pll: >> + vreg_l1a_0p75: ldo1 { >> + regulator-min-microvolt = <752000>; >> + regulator-max-microvolt = <752000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vdd_pdphy: >> + vdda_usb_hs_3p1: >> + vreg_l2a_3p1: ldo2 { >> + regulator-min-microvolt = <3072000>; >> + regulator-max-microvolt = <3072000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l3a_0p8: ldo3 { >> + regulator-min-microvolt = <480000>; >> + regulator-max-microvolt = <932000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vdd_usb_hs_core: >> + vdda_csi_0_0p9: >> + vdda_csi_1_0p9: >> + vdda_csi_2_0p9: >> + vdda_csi_3_0p9: >> + vdda_dsi_0_0p9: >> + vdda_dsi_1_0p9: >> + vdda_dsi_0_pll_0p9: >> + vdda_dsi_1_pll_0p9: >> + vdda_pcie_1ln_core: >> + vdda_pcie_2ln_core: >> + vdda_pll_hv_cc_ebi01: >> + vdda_pll_hv_cc_ebi23: >> + vdda_qrefs_0p875_5: >> + vdda_sp_sensor: >> + vdda_ufs_2ln_core_1: >> + vdda_ufs_2ln_core_2: >> + vdda_usb_ss_dp_core_1: >> + vdda_usb_ss_dp_core_2: >> + vdda_qlink_lv: >> + vdda_qlink_lv_ck: Why few LDOs doesn't have the consumer names (handles) mentioned, while few LDOs have them. Can you have them for all LDOs? >> + vreg_l5a_0p875: ldo5 { >> + regulator-min-microvolt = <880000>; >> + regulator-max-microvolt = <880000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l6a_1p2: ldo6 { >> + regulator-min-microvolt = <1200000>; >> + regulator-max-microvolt = <1200000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l7a_1p8: ldo7 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vddpx_10: >> + vreg_l9a_1p2: ldo9 { >> + regulator-min-microvolt = <1200000>; >> + regulator-max-microvolt = <1200000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l10a_2p5: ldo10 { >> + regulator-min-microvolt = <2504000>; >> + regulator-max-microvolt = <2960000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l11a_0p8: ldo11 { >> + regulator-min-microvolt = <800000>; >> + regulator-max-microvolt = <800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vdd_qfprom: >> + vdd_qfprom_sp: >> + vdda_apc_cs_1p8: >> + vdda_gfx_cs_1p8: >> + vdda_usb_hs_1p8: >> + vdda_qrefs_vref_1p8: >> + vddpx_10_a: >> + vreg_l12a_1p8: ldo12 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l13a_2p7: ldo13 { >> + regulator-min-microvolt = <2704000>; >> + regulator-max-microvolt = <2704000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l14a_1p8: ldo14 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1880000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l15a_1p7: ldo15 { >> + regulator-min-microvolt = <1704000>; >> + regulator-max-microvolt = <1704000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l16a_2p7: ldo16 { >> + regulator-min-microvolt = <2704000>; >> + regulator-max-microvolt = <2960000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l17a_3p0: ldo17 { >> + regulator-min-microvolt = <2856000>; >> + regulator-max-microvolt = <3008000>; >> + regulator-initial-mode = ; >> + }; >> + }; >> + >> + pm8150l-rpmh-regulators { >> + compatible = "qcom,pm8150l-rpmh-regulators"; >> + qcom,pmic-id = "c"; >> + >> + vdd-s1-supply = <&vph_pwr>; >> + vdd-s2-supply = <&vph_pwr>; >> + vdd-s3-supply = <&vph_pwr>; >> + vdd-s4-supply = <&vph_pwr>; >> + vdd-s5-supply = <&vph_pwr>; >> + vdd-s6-supply = <&vph_pwr>; >> + vdd-s7-supply = <&vph_pwr>; >> + vdd-s8-supply = <&vph_pwr>; >> + >> + vdd-l1-l8-supply = <&vreg_s4a_1p8>; >> + vdd-l2-l3-supply = <&vreg_s8c_1p3>; >> + vdd-l4-l5-l6-supply = <&vreg_bob>; >> + vdd-l7-l11-supply = <&vreg_bob>; >> + vdd-l9-l10-supply = <&vreg_bob>; >> + >> + vdd-bob-supply = <&vph_pwr>; >> + vdd-flash-supply = <&vreg_bob>; >> + vdd-rgb-supply = <&vreg_bob>; >> + >> + vreg_bob: bob { >> + regulator-min-microvolt = <3008000>; >> + regulator-max-microvolt = <4000000>; >> + regulator-initial-mode = ; >> + regulator-allow-bypass; >> + }; >> + >> + vreg_s8c_1p3: smps8 { >> + regulator-min-microvolt = <1352000>; >> + regulator-max-microvolt = <1352000>; >> + }; >> + >> + vreg_l1c_1p8: ldo1 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vdda_wcss_adcdac_1: >> + vdda_wcss_adcdac_22: >> + vreg_l2c_1p3: ldo2 { >> + regulator-min-microvolt = <1304000>; >> + regulator-max-microvolt = <1304000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vdda_hv_ebi0: >> + vdda_hv_ebi1: >> + vdda_hv_ebi2: >> + vdda_hv_ebi3: >> + vdda_hv_refgen0: >> + vdda_qlink_hv_ck: >> + vreg_l3c_1p2: ldo3 { >> + regulator-min-microvolt = <1200000>; >> + regulator-max-microvolt = <1200000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vddpx_5: >> + vreg_l4c_1p8: ldo4 { >> + regulator-min-microvolt = <1704000>; >> + regulator-max-microvolt = <2928000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vddpx_6: >> + vreg_l5c_1p8: ldo5 { >> + regulator-min-microvolt = <1704000>; >> + regulator-max-microvolt = <2928000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vddpx_2: >> + vreg_l6c_2p9: ldo6 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <2960000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l7c_3p0: ldo7 { >> + regulator-min-microvolt = <2856000>; >> + regulator-max-microvolt = <3104000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l8c_1p8: ldo8 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l9c_2p9: ldo9 { >> + regulator-min-microvolt = <2704000>; >> + regulator-max-microvolt = <2960000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l10c_3p3: ldo10 { >> + regulator-min-microvolt = <3000000>; >> + regulator-max-microvolt = <3312000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l11c_3p3: ldo11 { >> + regulator-min-microvolt = <3000000>; >> + regulator-max-microvolt = <3312000>; >> + regulator-initial-mode = ; >> + }; >> + }; >> + >> + pm8009-rpmh-regulators { >> + compatible = "qcom,pm8009-rpmh-regulators"; >> + qcom,pmic-id = "f"; >> + >> + vdd-s1-supply = <&vph_pwr>; >> + vdd-s2-supply = <&vreg_bob>; >> + >> + vdd-l2-supply = <&vreg_s8c_1p3>; >> + vdd-l5-l6-supply = <&vreg_bob>; >> + >> + vreg_l2f_1p2: ldo2 { >> + regulator-min-microvolt = <1200000>; >> + regulator-max-microvolt = <1200000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l5f_2p85: ldo5 { >> + regulator-min-microvolt = <2800000>; >> + regulator-max-microvolt = <2800000>; >> + regulator-initial-mode = ; >> + }; >> + >> + vreg_l6f_2p85: ldo6 { >> + regulator-initial-mode = ; >> + regulator-min-microvolt = <2856000>; >> + regulator-max-microvolt = <2856000>; >> + }; >> + }; >> }; >> >> &qupv3_id_1 {