Re: [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC
From: Mauro Carvalho Chehab
Date: Wed Sep 15 2021 - 08:51:38 EST
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