Em Thu, 2 Sep 2021 13:55:23 +0200 Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> escreveu: > Add a device tree for the HiSilicon 6421v600 SPMI PMIC, used > on HiKey970 board. > > As we now have support for it, change the fixed regulators > used by the SD I/O to use the proper LDO supplies. Hi Wei, Gentile ping. Now that the drivers and the DT schema are already upstreamed, could you please merge those two patches? Thank you! Mauro > > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> > --- > .../boot/dts/hisilicon/hi3670-hikey970.dts | 22 +---- > arch/arm64/boot/dts/hisilicon/hi3670.dtsi | 2 +- > .../boot/dts/hisilicon/hikey970-pmic.dtsi | 86 +++++++++++++++++++ > 3 files changed, 90 insertions(+), 20 deletions(-) > create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi > > diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts > index d8abf442ee7e..7c32f5fd5cc5 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts > +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts > @@ -12,6 +12,7 @@ > > #include "hi3670.dtsi" > #include "hikey970-pinctrl.dtsi" > +#include "hikey970-pmic.dtsi" > > / { > model = "HiKey970"; > @@ -39,23 +40,6 @@ memory@0 { > reg = <0x0 0x0 0x0 0x0>; > }; > > - sd_1v8: regulator-1v8 { > - compatible = "regulator-fixed"; > - regulator-name = "fixed-1.8V"; > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-always-on; > - }; > - > - sd_3v3: regulator-3v3 { > - compatible = "regulator-fixed"; > - regulator-name = "fixed-3.3V"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > wlan_en: wlan-en-1-8v { > compatible = "regulator-fixed"; > regulator-name = "wlan-en-regulator"; > @@ -402,8 +386,8 @@ &dwmmc1 { > pinctrl-0 = <&sd_pmx_func > &sd_clk_cfg_func > &sd_cfg_func>; > - vmmc-supply = <&sd_3v3>; > - vqmmc-supply = <&sd_1v8>; > + vmmc-supply = <&ldo16>; > + vqmmc-supply = <&ldo9>; > status = "okay"; > }; > > diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi > index 20698cfd0637..636c8817df7e 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi > +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi > @@ -669,7 +669,7 @@ ufs: ufs@ff3c0000 { > interrupt-parent = <&gic>; > interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>, > - <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>; > + <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>; > clock-names = "ref_clk", "phy_clk"; > freq-table-hz = <0 0 > 0 0>; > diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi > new file mode 100644 > index 000000000000..970047f2dabd > --- /dev/null > +++ b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi > @@ -0,0 +1,86 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * dts file for Hi6421v600 SPMI PMIC used at the HiKey970 Development Board > + * > + * Copyright (C) 2020, Huawei Tech. Co., Ltd. > + */ > + > +#include <dt-bindings/spmi/spmi.h> > + > +/ { > + spmi: spmi@fff24000 { > + compatible = "hisilicon,kirin970-spmi-controller"; > + #address-cells = <2>; > + #size-cells = <0>; > + status = "okay"; > + reg = <0x0 0xfff24000 0x0 0x1000>; > + hisilicon,spmi-channel = <2>; > + > + pmic: pmic@0 { > + compatible = "hisilicon,hi6421-spmi"; > + reg = <0 SPMI_USID>; > + > + #interrupt-cells = <2>; > + interrupt-controller; > + gpios = <&gpio28 0 0>; > + > + regulators { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ldo3: ldo3 { /* HDMI */ > + regulator-name = "ldo3"; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <2000000>; > + regulator-boot-on; > + }; > + > + ldo4: ldo4 { /* 40 PIN */ > + regulator-name = "ldo4"; > + regulator-min-microvolt = <1725000>; > + regulator-max-microvolt = <1900000>; > + regulator-boot-on; > + }; > + > + ldo9: ldo9 { /* SDCARD I/O */ > + regulator-name = "ldo9"; > + regulator-min-microvolt = <1750000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + }; > + > + ldo15: ldo15 { /* UFS */ > + regulator-name = "ldo15"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-always-on; > + }; > + > + ldo16: ldo16 { /* SD */ > + regulator-name = "ldo16"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-boot-on; > + }; > + > + ldo17: ldo17 { /* USB HUB */ > + regulator-name = "ldo17"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo33: ldo33 { /* PEX8606 */ > + regulator-name = "ldo33"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo34: ldo34 { /* GPS AUX IN VDD */ > + regulator-name = "ldo34"; > + regulator-min-microvolt = <2600000>; > + regulator-max-microvolt = <3300000>; > + }; > + }; > + }; > + }; > +}; Thanks, Mauro