arm64: dts: hisilicon: Add support for Hikey 970 PMIC
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 2 Sep 2021 11:55:23 +0000 (13:55 +0200)
committerWei Xu <xuwei5@hisilicon.com>
Sat, 18 Sep 2021 06:07:39 +0000 (06:07 +0000)
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.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
arch/arm64/boot/dts/hisilicon/hi3670.dtsi
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi [new file with mode: 0644]

index d8abf44..7c32f5f 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "hi3670.dtsi"
 #include "hikey970-pinctrl.dtsi"
+#include "hikey970-pmic.dtsi"
 
 / {
        model = "HiKey970";
                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";
        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";
 };
 
index 20698cf..636c881 100644 (file)
                        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 (file)
index 0000000..970047f
--- /dev/null
@@ -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>;
+                               };
+                       };
+               };
+       };
+};