Message ID | 20231205093439.2298296-7-n-francis@ti.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp3312605vqy; Tue, 5 Dec 2023 01:36:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IFJE9Px7rZBCVHjinDjwIZpss5MDYrK/53BpvAOGVkeAZauwe3hDWG03aEPtohOgjvmBpfK X-Received: by 2002:a05:6808:318a:b0:3b8:b063:6bb6 with SMTP id cd10-20020a056808318a00b003b8b0636bb6mr7113626oib.101.1701768986245; Tue, 05 Dec 2023 01:36:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701768986; cv=none; d=google.com; s=arc-20160816; b=Y7PvL+dO3Bd97TvQ8gTAUh76bw/Wq9kV7zO/Zs/Nu3SnYCWeEzJZZ/tP+BDDCqBkgz OvfuFXsKrGnJjozNklMmMtNIyYskGGHgbJj2u85hG7dn6juewBGOBs7pQS8aIvLglJw6 PQ4MspZb9pkVDHvgEl1NoToV180HVMCIiNV3OR4Mpley4drhgSNil0sTyGIvdNFUm+EG n6oCa8eLrrSmFKY95R/hSQ4NuGCzfXd6wYxNcQGAk0PNqQyofKXQxzNBUKQzbRKhrkI8 O0brKKQHrwin+KDAXyULaiEUGGrAJy1Rc797w85X16Ox5nw4gIsuF6mb1YrLh1ldQTwk xMYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=k7hL1phYDMow5oEwvsOfkhUHO7QwPw8MfbMk4obw67k=; fh=ixlzbOwtdQLaMBLxT6l8ojfZdjKBSwk3Blf1u+Qy4VY=; b=CypOAMTr4gxldx4x7vljxILV7+eEASMRNUTeiXi9MYqgrY6HTk5+3E+XWN1oi9zcqh 2WuuOp5mfZdDDofUFBVomvHbHv1JW+nBNEQl6s7h8Hx8ukSHAraYGoukkDFjz2BKG5Uc s4yIChTHo49D0iE7qb9LKZGZXZY5z1X2NJOIAwa1RW1lDRlaiVmEeSRjY8kzyaPrB6+0 GKvn3lpA/ZXnfJjCn8LGA7Crgu0kWoTzATHZg4KuacMI9h0PG1t/lhrnjTzwOuDMNabY KZQtspABJe9pK1Pgt17K5H2SBCrI6lmANsQZBCohQxYvN2SCDzkpXD/mYTmz6dlP847R VUuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=yL0836g5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id dn12-20020a056a00498c00b006ce0c17d7d6si5417712pfb.90.2023.12.05.01.36.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 01:36:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=yL0836g5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0C5D1806CC2A; Tue, 5 Dec 2023 01:36:02 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234929AbjLEJft (ORCPT <rfc822;chrisfriedt@gmail.com> + 99 others); Tue, 5 Dec 2023 04:35:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235009AbjLEJfc (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 5 Dec 2023 04:35:32 -0500 Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BDECA10FC; Tue, 5 Dec 2023 01:35:24 -0800 (PST) Received: from lelv0266.itg.ti.com ([10.180.67.225]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 3B59ZJkU036615; Tue, 5 Dec 2023 03:35:19 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1701768919; bh=k7hL1phYDMow5oEwvsOfkhUHO7QwPw8MfbMk4obw67k=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=yL0836g5R128pqOdIx4OdYCbPK+ZpOt8LRBszdZtgZwD2ASERjmVtuNlU/Lkpb9lV m0do31d024xgGfMOIRheoJD6z3DXbCrPLLPYVvfTtJHNiTKExYZ6ZsihBfFqGPWZ9h 1DoIS/aUb+7OoO06OrF3QJxNz4O0IdQBgAQ8hwgg= Received: from DLEE101.ent.ti.com (dlee101.ent.ti.com [157.170.170.31]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 3B59ZJod011929 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 5 Dec 2023 03:35:19 -0600 Received: from DLEE111.ent.ti.com (157.170.170.22) by DLEE101.ent.ti.com (157.170.170.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Tue, 5 Dec 2023 03:35:18 -0600 Received: from fllv0039.itg.ti.com (10.64.41.19) by DLEE111.ent.ti.com (157.170.170.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via Frontend Transport; Tue, 5 Dec 2023 03:35:18 -0600 Received: from a0497641-HP-Z2-Tower-G9-Workstation-Desktop-PC.dhcp.ti.com (ileaxei01-snat.itg.ti.com [10.180.69.5]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 3B59YeMr010566; Tue, 5 Dec 2023 03:35:13 -0600 From: Neha Malcom Francis <n-francis@ti.com> To: <nm@ti.com>, <vigneshr@ti.com>, <kristo@kernel.org>, <robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>, <a-nandan@ti.com> CC: <linux-arm-kernel@lists.infradead.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <eblanc@baylibre.com>, <jneanne@baylibre.com>, <aseketeli@baylibre.com>, <jpanis@baylibre.com>, <u-kumar1@ti.com>, <j-luthra@ti.com>, <vaishnav.a@ti.com>, <hnagalla@ti.com>, <devarsht@ti.com>, <n-francis@ti.com> Subject: [PATCH v9 6/7] arm64: dts: ti: k3-j721e-sk: Add TPS6594 family PMICs Date: Tue, 5 Dec 2023 15:04:38 +0530 Message-ID: <20231205093439.2298296-7-n-francis@ti.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231205093439.2298296-1-n-francis@ti.com> References: <20231205093439.2298296-1-n-francis@ti.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 05 Dec 2023 01:36:02 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784434116750803388 X-GMAIL-MSGID: 1784434116750803388 |
Series |
Add TPS6594 PMIC support on several boards
|
|
Commit Message
Neha Malcom Francis
Dec. 5, 2023, 9:34 a.m. UTC
This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus.
These devices provide regulators (bucks and LDOs), but also GPIOs, a
RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC
error output signal, and a PFSM (Pre-configurable Finite State Machine)
which manages the operational modes of the PMIC.
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++
1 file changed, 158 insertions(+)
Comments
On 15:04-20231205, Neha Malcom Francis wrote: > This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus. > These devices provide regulators (bucks and LDOs), but also GPIOs, a > RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC > error output signal, and a PFSM (Pre-configurable Finite State Machine) > which manages the operational modes of the PMIC. > > Signed-off-by: Neha Malcom Francis <n-francis@ti.com> > --- > arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++ > 1 file changed, 158 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > index 42fe8eee9ec8..e600825f7e78 100644 > --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) EXT_REFCLK1.GPIO1_12 */ > }; > > &wkup_pmx0 { > + pmic_irq_pins_default: pmic-irq-default-pins { > + bootph-pre-ram; > + pinctrl-single,pins = < > + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ > + >; > + }; > + > mcu_cpsw_pins_default: mcu-cpsw-default-pins { > pinctrl-single,pins = < > J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ > @@ -560,6 +567,157 @@ eeprom@51 { > compatible = "atmel,24c512"; > reg = <0x51>; > }; > + > + tps659413: pmic@48 { > + bootph-pre-ram; only for the leaf nodes. See https://libera.irclog.whitequark.org/armlinux/2023-10-19 > + compatible = "ti,tps6594-q1"; > + reg = <0x48>; > + system-power-controller; > + pinctrl-names = "default"; > + pinctrl-0 = <&pmic_irq_pins_default>; > + interrupt-parent = <&wkup_gpio0>; > + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; > + ti,primary-pmic; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + buck123-supply = <&vsys_3v3>; > + buck4-supply = <&vsys_3v3>; > + buck5-supply = <&vsys_3v3>; > + ldo1-supply = <&vsys_3v3>; > + ldo2-supply = <&vsys_3v3>; > + ldo3-supply = <&vsys_3v3>; > + ldo4-supply = <&vsys_3v3>; > + > + regulators { > + bootph-pre-ram; > + bucka123: buck123 { > + bootph-pre-ram; > + regulator-name = "vdd_cpu_avs"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <900000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + bucka4: buck4 { > + regulator-name = "vdd_mcu_0v85"; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <850000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + bucka5: buck5 { > + regulator-name = "vdd_phyio_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldoa1: ldo1 { > + regulator-name = "vdd1_lpddr4_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldoa2: ldo2 { > + regulator-name = "vdd_mcuio_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldoa3: ldo3 { > + regulator-name = "vdda_dll_0v8"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldoa4: ldo4 { > + regulator-name = "vda_mcu_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > + > + tps659411: pmic@4c { > + compatible = "ti,tps6594-q1"; > + reg = <0x4c>; > + system-power-controller; > + interrupt-parent = <&wkup_gpio0>; > + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; > + > + gpio-controller; > + #gpio-cells = <2>; > + > + buck1234-supply = <&vsys_3v3>; > + buck5-supply = <&vsys_3v3>; > + ldo1-supply = <&vsys_3v3>; > + ldo2-supply = <&vsys_3v3>; > + ldo3-supply = <&vsys_3v3>; > + ldo4-supply = <&vsys_3v3>; > + > + regulators { > + buckb1234: buck1234 { > + regulator-name = "vdd_core_0v8"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buckb5: buck5 { > + regulator-name = "vdd_ram_0v85"; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <850000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldob1: ldo1 { > + regulator-name = "vdd_sd_dv"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldob2: ldo2 { > + regulator-name = "vdd_usb_3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldob3: ldo3 { > + regulator-name = "vdd_io_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldob4: ldo4 { > + regulator-name = "vda_pll_1v8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > }; > > &mcu_uart0 { > -- > 2.34.1 >
On 12/5/2023 8:46 PM, Nishanth Menon wrote: > On 15:04-20231205, Neha Malcom Francis wrote: >> This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus. >> These devices provide regulators (bucks and LDOs), but also GPIOs, a >> RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC >> error output signal, and a PFSM (Pre-configurable Finite State Machine) >> which manages the operational modes of the PMIC. >> >> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> >> --- >> arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++ >> 1 file changed, 158 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >> index 42fe8eee9ec8..e600825f7e78 100644 >> --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >> +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >> @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) EXT_REFCLK1.GPIO1_12 */ >> }; >> >> &wkup_pmx0 { >> + pmic_irq_pins_default: pmic-irq-default-pins { >> + bootph-pre-ram; >> + pinctrl-single,pins = < >> + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ >> + >; >> + }; >> + >> mcu_cpsw_pins_default: mcu-cpsw-default-pins { >> pinctrl-single,pins = < >> J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ >> @@ -560,6 +567,157 @@ eeprom@51 { >> compatible = "atmel,24c512"; >> reg = <0x51>; >> }; >> + >> + tps659413: pmic@48 { >> + bootph-pre-ram; > only for the leaf nodes. See > https://libera.irclog.whitequark.org/armlinux/2023-10-19 AFAIK, please correct me, u-boot still needs in all nodes ? > >> + compatible = "ti,tps6594-q1"; >> + reg = <0x48>; >> + system-power-controller; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&pmic_irq_pins_default>; >> + interrupt-parent = <&wkup_gpio0>; >> + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; >> + ti,primary-pmic; >> + >> + gpio-controller; >> + #gpio-cells = <2>; >> + >> + buck123-supply = <&vsys_3v3>; >> + buck4-supply = <&vsys_3v3>; >> + buck5-supply = <&vsys_3v3>; >> + ldo1-supply = <&vsys_3v3>; >> + ldo2-supply = <&vsys_3v3>; >> + ldo3-supply = <&vsys_3v3>; >> + ldo4-supply = <&vsys_3v3>; >> + >> + regulators { >> + bootph-pre-ram; >> + bucka123: buck123 { >> + bootph-pre-ram; >> + regulator-name = "vdd_cpu_avs"; >> + regulator-min-microvolt = <600000>; >> + regulator-max-microvolt = <900000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + bucka4: buck4 { >> + regulator-name = "vdd_mcu_0v85"; >> + regulator-min-microvolt = <850000>; >> + regulator-max-microvolt = <850000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + bucka5: buck5 { >> + regulator-name = "vdd_phyio_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldoa1: ldo1 { >> + regulator-name = "vdd1_lpddr4_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldoa2: ldo2 { >> + regulator-name = "vdd_mcuio_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldoa3: ldo3 { >> + regulator-name = "vdda_dll_0v8"; >> + regulator-min-microvolt = <800000>; >> + regulator-max-microvolt = <800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldoa4: ldo4 { >> + regulator-name = "vda_mcu_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + }; >> + }; >> + >> + tps659411: pmic@4c { >> + compatible = "ti,tps6594-q1"; >> + reg = <0x4c>; >> + system-power-controller; >> + interrupt-parent = <&wkup_gpio0>; >> + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; >> + >> + gpio-controller; >> + #gpio-cells = <2>; >> + >> + buck1234-supply = <&vsys_3v3>; >> + buck5-supply = <&vsys_3v3>; >> + ldo1-supply = <&vsys_3v3>; >> + ldo2-supply = <&vsys_3v3>; >> + ldo3-supply = <&vsys_3v3>; >> + ldo4-supply = <&vsys_3v3>; >> + >> + regulators { >> + buckb1234: buck1234 { >> + regulator-name = "vdd_core_0v8"; >> + regulator-min-microvolt = <800000>; >> + regulator-max-microvolt = <800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + buckb5: buck5 { >> + regulator-name = "vdd_ram_0v85"; >> + regulator-min-microvolt = <850000>; >> + regulator-max-microvolt = <850000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldob1: ldo1 { >> + regulator-name = "vdd_sd_dv"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldob2: ldo2 { >> + regulator-name = "vdd_usb_3v3"; >> + regulator-min-microvolt = <3300000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldob3: ldo3 { >> + regulator-name = "vdd_io_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldob4: ldo4 { >> + regulator-name = "vda_pll_1v8"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + }; >> + }; >> }; >> >> &mcu_uart0 { >> -- >> 2.34.1 >>
Hi Nishanth, Udit, On 07/12/23 10:12, Kumar, Udit wrote: > > On 12/5/2023 8:46 PM, Nishanth Menon wrote: >> On 15:04-20231205, Neha Malcom Francis wrote: >>> This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus. >>> These devices provide regulators (bucks and LDOs), but also GPIOs, a >>> RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC >>> error output signal, and a PFSM (Pre-configurable Finite State Machine) >>> which manages the operational modes of the PMIC. >>> >>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> >>> --- >>> arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++ >>> 1 file changed, 158 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>> b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>> index 42fe8eee9ec8..e600825f7e78 100644 >>> --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>> +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>> @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) >>> EXT_REFCLK1.GPIO1_12 */ >>> }; >>> &wkup_pmx0 { >>> + pmic_irq_pins_default: pmic-irq-default-pins { >>> + bootph-pre-ram; >>> + pinctrl-single,pins = < >>> + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ >>> + >; >>> + }; >>> + >>> mcu_cpsw_pins_default: mcu-cpsw-default-pins { >>> pinctrl-single,pins = < >>> J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ >>> @@ -560,6 +567,157 @@ eeprom@51 { >>> compatible = "atmel,24c512"; >>> reg = <0x51>; >>> }; >>> + >>> + tps659413: pmic@48 { >>> + bootph-pre-ram; >> only for the leaf nodes. See >> https://libera.irclog.whitequark.org/armlinux/2023-10-19 > > > AFAIK, please correct me, u-boot still needs in all nodes ? > That's what I believe as well, is it better to have only the leaf nodes in kernel and have U-Boot DTSI handle the parent bootph properties? If so I'll send out v10 making change accordingly. >> >>> + compatible = "ti,tps6594-q1"; >>> + reg = <0x48>; >>> + system-power-controller; >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&pmic_irq_pins_default>; >>> + interrupt-parent = <&wkup_gpio0>; >>> + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; >>> + ti,primary-pmic; >>> + >>> + gpio-controller; >>> + #gpio-cells = <2>; >>> + >>> + buck123-supply = <&vsys_3v3>; >>> + buck4-supply = <&vsys_3v3>; >>> + buck5-supply = <&vsys_3v3>; >>> + ldo1-supply = <&vsys_3v3>; >>> + ldo2-supply = <&vsys_3v3>; >>> + ldo3-supply = <&vsys_3v3>; >>> + ldo4-supply = <&vsys_3v3>; >>> + >>> + regulators { >>> + bootph-pre-ram; >>> + bucka123: buck123 { >>> + bootph-pre-ram; >>> + regulator-name = "vdd_cpu_avs"; >>> + regulator-min-microvolt = <600000>; >>> + regulator-max-microvolt = <900000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + bucka4: buck4 { >>> + regulator-name = "vdd_mcu_0v85"; >>> + regulator-min-microvolt = <850000>; >>> + regulator-max-microvolt = <850000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + bucka5: buck5 { >>> + regulator-name = "vdd_phyio_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldoa1: ldo1 { >>> + regulator-name = "vdd1_lpddr4_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldoa2: ldo2 { >>> + regulator-name = "vdd_mcuio_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldoa3: ldo3 { >>> + regulator-name = "vdda_dll_0v8"; >>> + regulator-min-microvolt = <800000>; >>> + regulator-max-microvolt = <800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldoa4: ldo4 { >>> + regulator-name = "vda_mcu_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + }; >>> + }; >>> + >>> + tps659411: pmic@4c { >>> + compatible = "ti,tps6594-q1"; >>> + reg = <0x4c>; >>> + system-power-controller; >>> + interrupt-parent = <&wkup_gpio0>; >>> + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; >>> + >>> + gpio-controller; >>> + #gpio-cells = <2>; >>> + >>> + buck1234-supply = <&vsys_3v3>; >>> + buck5-supply = <&vsys_3v3>; >>> + ldo1-supply = <&vsys_3v3>; >>> + ldo2-supply = <&vsys_3v3>; >>> + ldo3-supply = <&vsys_3v3>; >>> + ldo4-supply = <&vsys_3v3>; >>> + >>> + regulators { >>> + buckb1234: buck1234 { >>> + regulator-name = "vdd_core_0v8"; >>> + regulator-min-microvolt = <800000>; >>> + regulator-max-microvolt = <800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + buckb5: buck5 { >>> + regulator-name = "vdd_ram_0v85"; >>> + regulator-min-microvolt = <850000>; >>> + regulator-max-microvolt = <850000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldob1: ldo1 { >>> + regulator-name = "vdd_sd_dv"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldob2: ldo2 { >>> + regulator-name = "vdd_usb_3v3"; >>> + regulator-min-microvolt = <3300000>; >>> + regulator-max-microvolt = <3300000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldob3: ldo3 { >>> + regulator-name = "vdd_io_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + >>> + ldob4: ldo4 { >>> + regulator-name = "vda_pll_1v8"; >>> + regulator-min-microvolt = <1800000>; >>> + regulator-max-microvolt = <1800000>; >>> + regulator-boot-on; >>> + regulator-always-on; >>> + }; >>> + }; >>> + }; >>> }; >>> &mcu_uart0 { >>> -- >>> 2.34.1 >>>
On 11:01-20231207, Neha Malcom Francis wrote: > Hi Nishanth, Udit, > > On 07/12/23 10:12, Kumar, Udit wrote: > > > > On 12/5/2023 8:46 PM, Nishanth Menon wrote: > > > On 15:04-20231205, Neha Malcom Francis wrote: > > > > This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus. > > > > These devices provide regulators (bucks and LDOs), but also GPIOs, a > > > > RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC > > > > error output signal, and a PFSM (Pre-configurable Finite State Machine) > > > > which manages the operational modes of the PMIC. > > > > > > > > Signed-off-by: Neha Malcom Francis <n-francis@ti.com> > > > > --- > > > > arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++ > > > > 1 file changed, 158 insertions(+) > > > > > > > > diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > > > > b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > > > > index 42fe8eee9ec8..e600825f7e78 100644 > > > > --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > > > > +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts > > > > @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) > > > > EXT_REFCLK1.GPIO1_12 */ > > > > }; > > > > &wkup_pmx0 { > > > > + pmic_irq_pins_default: pmic-irq-default-pins { > > > > + bootph-pre-ram; > > > > + pinctrl-single,pins = < > > > > + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ > > > > + >; > > > > + }; > > > > + > > > > mcu_cpsw_pins_default: mcu-cpsw-default-pins { > > > > pinctrl-single,pins = < > > > > J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ > > > > @@ -560,6 +567,157 @@ eeprom@51 { > > > > compatible = "atmel,24c512"; > > > > reg = <0x51>; > > > > }; > > > > + > > > > + tps659413: pmic@48 { > > > > + bootph-pre-ram; > > > only for the leaf nodes. See > > > https://libera.irclog.whitequark.org/armlinux/2023-10-19 > > > > > > AFAIK, please correct me, u-boot still needs in all nodes ? > > > > That's what I believe as well, is it better to have only the leaf nodes in > kernel and have U-Boot DTSI handle the parent bootph properties? If so I'll > send out v10 making change accordingly. > Yes, u-boot today needs it in all nodes. BUT, u-boot needs to be fixed in line to obey the rules of the schema convention that Rob clarified in the discussion above. The other choice is NOT to introduce new bootph properties till u-boot is fixed up (this is also why I haven't sent out further updates for bootph properties for kernel in this cycle).
Hi Nishanth On 07/12/23 19:19, Nishanth Menon wrote: > On 11:01-20231207, Neha Malcom Francis wrote: >> Hi Nishanth, Udit, >> >> On 07/12/23 10:12, Kumar, Udit wrote: >>> >>> On 12/5/2023 8:46 PM, Nishanth Menon wrote: >>>> On 15:04-20231205, Neha Malcom Francis wrote: >>>>> This patch adds support for TPS6594 PMIC family on wakeup I2C0 bus. >>>>> These devices provide regulators (bucks and LDOs), but also GPIOs, a >>>>> RTC, a watchdog, an ESM (Error Signal Monitor) which monitors the SoC >>>>> error output signal, and a PFSM (Pre-configurable Finite State Machine) >>>>> which manages the operational modes of the PMIC. >>>>> >>>>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> >>>>> --- >>>>> arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 158 +++++++++++++++++++++++++ >>>>> 1 file changed, 158 insertions(+) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>>>> b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>>>> index 42fe8eee9ec8..e600825f7e78 100644 >>>>> --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>>>> +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts >>>>> @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) >>>>> EXT_REFCLK1.GPIO1_12 */ >>>>> }; >>>>> &wkup_pmx0 { >>>>> + pmic_irq_pins_default: pmic-irq-default-pins { >>>>> + bootph-pre-ram; >>>>> + pinctrl-single,pins = < >>>>> + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ >>>>> + >; >>>>> + }; >>>>> + >>>>> mcu_cpsw_pins_default: mcu-cpsw-default-pins { >>>>> pinctrl-single,pins = < >>>>> J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ >>>>> @@ -560,6 +567,157 @@ eeprom@51 { >>>>> compatible = "atmel,24c512"; >>>>> reg = <0x51>; >>>>> }; >>>>> + >>>>> + tps659413: pmic@48 { >>>>> + bootph-pre-ram; >>>> only for the leaf nodes. See >>>> https://libera.irclog.whitequark.org/armlinux/2023-10-19 >>> >>> >>> AFAIK, please correct me, u-boot still needs in all nodes ? >>> >> >> That's what I believe as well, is it better to have only the leaf nodes in >> kernel and have U-Boot DTSI handle the parent bootph properties? If so I'll >> send out v10 making change accordingly. >> > > Yes, u-boot today needs it in all nodes. BUT, u-boot needs to be fixed in > line to obey the rules of the schema convention that Rob clarified in > the discussion above. > > The other choice is NOT to introduce new bootph properties till u-boot > is fixed up (this is also why I haven't sent out further updates for > bootph properties for kernel in this cycle). > I think we can have it following kernel convention here and fix up in the U-Boot DTSI for this series since PMIC nodes are needed. Thanks!
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts index 42fe8eee9ec8..e600825f7e78 100644 --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts @@ -459,6 +459,13 @@ J721E_IOPAD(0x234, PIN_INPUT, 7) /* (U3) EXT_REFCLK1.GPIO1_12 */ }; &wkup_pmx0 { + pmic_irq_pins_default: pmic-irq-default-pins { + bootph-pre-ram; + pinctrl-single,pins = < + J721E_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */ + >; + }; + mcu_cpsw_pins_default: mcu-cpsw-default-pins { pinctrl-single,pins = < J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */ @@ -560,6 +567,157 @@ eeprom@51 { compatible = "atmel,24c512"; reg = <0x51>; }; + + tps659413: pmic@48 { + bootph-pre-ram; + compatible = "ti,tps6594-q1"; + reg = <0x48>; + system-power-controller; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_irq_pins_default>; + interrupt-parent = <&wkup_gpio0>; + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + ti,primary-pmic; + + gpio-controller; + #gpio-cells = <2>; + + buck123-supply = <&vsys_3v3>; + buck4-supply = <&vsys_3v3>; + buck5-supply = <&vsys_3v3>; + ldo1-supply = <&vsys_3v3>; + ldo2-supply = <&vsys_3v3>; + ldo3-supply = <&vsys_3v3>; + ldo4-supply = <&vsys_3v3>; + + regulators { + bootph-pre-ram; + bucka123: buck123 { + bootph-pre-ram; + regulator-name = "vdd_cpu_avs"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <900000>; + regulator-boot-on; + regulator-always-on; + }; + + bucka4: buck4 { + regulator-name = "vdd_mcu_0v85"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <850000>; + regulator-boot-on; + regulator-always-on; + }; + + bucka5: buck5 { + regulator-name = "vdd_phyio_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldoa1: ldo1 { + regulator-name = "vdd1_lpddr4_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldoa2: ldo2 { + regulator-name = "vdd_mcuio_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldoa3: ldo3 { + regulator-name = "vdda_dll_0v8"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldoa4: ldo4 { + regulator-name = "vda_mcu_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; + + tps659411: pmic@4c { + compatible = "ti,tps6594-q1"; + reg = <0x4c>; + system-power-controller; + interrupt-parent = <&wkup_gpio0>; + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; + + gpio-controller; + #gpio-cells = <2>; + + buck1234-supply = <&vsys_3v3>; + buck5-supply = <&vsys_3v3>; + ldo1-supply = <&vsys_3v3>; + ldo2-supply = <&vsys_3v3>; + ldo3-supply = <&vsys_3v3>; + ldo4-supply = <&vsys_3v3>; + + regulators { + buckb1234: buck1234 { + regulator-name = "vdd_core_0v8"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + regulator-boot-on; + regulator-always-on; + }; + + buckb5: buck5 { + regulator-name = "vdd_ram_0v85"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <850000>; + regulator-boot-on; + regulator-always-on; + }; + + ldob1: ldo1 { + regulator-name = "vdd_sd_dv"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + ldob2: ldo2 { + regulator-name = "vdd_usb_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + ldob3: ldo3 { + regulator-name = "vdd_io_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + ldob4: ldo4 { + regulator-name = "vda_pll_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; }; &mcu_uart0 {