@@ -167,5 +167,215 @@
clocks = <&ao_ctrl 36>, <&ao_ctrl 36>;
clock-names = "uartclk", "apb_pclk";
};
+
+ mtcmos {
+ compatible = "hisilicon,hi6220-mtcmos-driver";
+ hisilicon,mtcmos-steady-us = <10>;
+ hisilicon,mtcmos-sc-on-base = <0xf7800000>;
+ hisilicon,mtcmos-acpu-on-base = <0xf65a0000>;
+
+ g3d_vdd: regulator@a1{
+ regulator-name = "G3D_PD_VDD";
+ regulator-compatible = "mtcmos1";
+ hisilicon,ctrl-regs = <0x830 0x834 0x83c>;
+ hisilicon,ctrl-data = <1 0x1>;
+ };
+
+ soc_med: regulator@a2{
+ regulator-name = "SOC_MED";
+ regulator-compatible = "mtcmos2";
+ hisilicon,ctrl-regs = <0x830 0x834 0x83c>;
+ hisilicon,ctrl-data = <2 0x1>;
+ };
+ };
+ };
+
+ pmic: pmic@f8000000 {
+ compatible = "hisilicon,hi655x-pmic-driver";
+ reg = <0x0 0xf8000000 0x0 0x1000>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ pmic-gpios = <&gpio_pmu_irq_n>;
+ status = "okay";
+ ldo2: regulator@a21 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo2";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3200000>;
+ regulator-valid-modes-mask = <0x02>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x029 0x02a 0x02b>;
+ regulator-ctrl-mask = <0x1>;
+ regulator-vset-regs = <0x072>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <2500000>,<2600000>,
+ <2700000>,<2800000>,
+ <2900000>,<3000000>,
+ <3100000>,<3200000>;
+ };
+ ldo7: regulator@a26 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo7";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-valid-modes-mask = <0x0a>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x029 0x02a 0x02b>;
+ regulator-ctrl-mask = <0x6>;
+ regulator-vset-regs = <0x078>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1800000>,<1850000>,
+ <2850000>,<2900000>,
+ <3000000>,<3100000>,
+ <3200000>,<3300000>;
+ };
+ ldo10: regulator@a29 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo10";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-valid-modes-mask = <0x0a>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <360>;
+ regulator-ctrl-regs = <0x02c 0x02d 0x02e>;
+ regulator-ctrl-mask = <0x1>;
+ regulator-vset-regs = <0x07b>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1800000>,<1850000>,
+ <1900000>,<2750000>,
+ <2800000>,<2850000>,
+ <2900000>,<3000000>;
+ };
+ ldo13: regulator@a32 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo13";
+ regulator-min-microvolt = <1600000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02c 0x02d 0x02e>;
+ regulator-ctrl-mask = <0x4>;
+ regulator-vset-regs = <0x07e>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1600000>,<1650000>,
+ <1700000>,<1750000>,
+ <1800000>,<1850000>,
+ <1900000>,<1950000>;
+ };
+ ldo14: regulator@a33 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo14";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3200000>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02c 0x02d 0x02e>;
+ regulator-ctrl-mask = <0x5>;
+ regulator-vset-regs = <0x07f>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <2500000>,<2600000>,
+ <2700000>,<2800000>,
+ <2900000>,<3000000>,
+ <3100000>,<3200000>;
+ };
+ ldo15: regulator@a34 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo15";
+ regulator-min-microvolt = <1600000>;
+ regulator-max-microvolt = <1950000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02c 0x02d 0x02e>;
+ regulator-ctrl-mask = <0x6>;
+ regulator-vset-regs = <0x080>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1600000>,<1650000>,
+ <1700000>,<1750000>,
+ <1800000>,<1850000>,
+ <1900000>,<1950000>;
+ };
+ ldo17: regulator@a36 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo17";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3200000>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02f 0x030 0x031>;
+ regulator-ctrl-mask = <0x0>;
+ regulator-vset-regs = <0x082>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <2500000>,<2600000>,
+ <2700000>,<2800000>,
+ <2900000>,<3000000>,
+ <3100000>,<3200000>;
+ };
+ ldo19: regulator@a38 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo19";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <360>;
+ regulator-ctrl-regs = <0x02f 0x030 0x031>;
+ regulator-ctrl-mask = <0x2>;
+ regulator-vset-regs = <0x084>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1800000>,<1850000>,
+ <1900000>,<2750000>,
+ <2800000>,<2850000>,
+ <2900000>,<3000000>;
+ };
+ ldo21: regulator@a40 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo21";
+ regulator-min-microvolt = <1650000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-always-on;
+ regulator-valid-modes-mask = <0x02>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02f 0x030 0x031>;
+ regulator-ctrl-mask = <0x4>;
+ regulator-vset-regs = <0x086>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <1650000>,<1700000>,
+ <1750000>,<1800000>,
+ <1850000>,<1900000>,
+ <1950000>,<2000000>;
+ };
+ ldo22: regulator@a41 {
+ compatible = "hisilicon,hi655x-regulator-pmic";
+ regulator-name = "ldo22";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-valid-modes-mask = <0x02>;
+ regulator-initial-mode = <0x02>;
+ regulator-off-on-delay = <120>;
+ regulator-ctrl-regs = <0x02f 0x030 0x031>;
+ regulator-ctrl-mask = <0x5>;
+ regulator-vset-regs = <0x087>;
+ regulator-vset-mask = <0x3>;
+ regulator-n-vol = <8>;
+ regulator-vset-table = <900000>,<1000000>,
+ <1050000>,<1100000>,
+ <1150000>,<1175000>,
+ <1185000>,<1200000>;
+ };
};
};