diff options
author | Guodong Xu <guodong.xu@linaro.org> | 2013-06-04 19:51:08 +0800 |
---|---|---|
committer | Guodong Xu <guodong.xu@linaro.org> | 2013-06-04 21:03:38 +0800 |
commit | c658b62c120d8bd5665e31aea14075dd05ae894b (patch) | |
tree | 6da207717a1e175f64110722b6953f9cf13202f0 | |
parent | 6b872f2e1602b007acd2e25835d3422765573dfa (diff) |
ARM: dts: move hi6421 into dedicated dtsitopic-regulator-upstream-2
Move Hi6421 PMIC related device tree source into a dedicated dtsi.
Hi6421 is a PMIC SoC that can be reused in various Hi3620 based
boards.
Note: This file is supposed to be included in a board DTS that will
create the pmic node in order to allow the &pmic reference to work.
Exmaple:
...
pmic: pmic@fcc00000 {
reg = <0xfcc00000 0x0180>; /* 0x60 << 2 */
};
...
/include/ "hi6421.dtsi"
...
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
-rw-r--r-- | arch/arm/boot/dts/hi4511.dts | 603 | ||||
-rw-r--r-- | arch/arm/boot/dts/hi6421.dtsi | 507 |
2 files changed, 600 insertions, 510 deletions
diff --git a/arch/arm/boot/dts/hi4511.dts b/arch/arm/boot/dts/hi4511.dts index 41aebd9471e4..5ad5bea9bfad 100644 --- a/arch/arm/boot/dts/hi4511.dts +++ b/arch/arm/boot/dts/hi4511.dts @@ -928,516 +928,8 @@ }; pmic: pmic@fcc00000 { - compatible = "hisilicon,hi6421-pmic"; reg = <0xfcc00000 0x0180>; /* 0x60 << 2 */ - #interrupt-cells = <2>; - interrupt-controller; - gpios = <&gpio19 7 0>; - pinctrl-names = "default"; - pinctrl-0 = <&pmic_int_cfg_func>; - - ldo0: ldo@20 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO0"; - regulator-min-microvolt = <2850000>; - regulator-max-microvolt = <2850000>; - hisilicon,hi6421-ctrl = <0x20 0x10 0x20>; - hisilicon,hi6421-vset = <0x20 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <10000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo1: ldo@21 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO1"; - regulator-min-microvolt = <1700000>; - regulator-max-microvolt = <2000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x21 0x10 0x20>; - hisilicon,hi6421-vset = <0x21 0x03>; - hisilicon,hi6421-n-voltages = <4>; - hisilicon,hi6421-vset-table = <1700000>, <1800000>, - <1900000>, <2000000>; - hisilicon,hi6421-off-on-delay-us = <10000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <5000>; - }; - - ldo2: ldo@22 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO2"; - regulator-min-microvolt = <1050000>; - regulator-max-microvolt = <1400000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x22 0x10 0x20>; - hisilicon,hi6421-vset = <0x22 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1050000>, <1100000>, - <1150000>, <1200000>, - <1250000>, <1300000>, - <1350000>, <1400000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo3: ldo@23 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO3"; - regulator-min-microvolt = <1050000>; - regulator-max-microvolt = <1400000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x23 0x10 0x20>; - hisilicon,hi6421-vset = <0x23 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1050000>, <1100000>, - <1150000>, <1200000>, - <1250000>, <1300000>, - <1350000>, <1400000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo4: ldo@24 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO4"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x24 0x10 0x20>; - hisilicon,hi6421-vset = <0x24 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo5: ldo@25 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO5"; - //regulator-min-microvolt = <1500000>; - regulator-min-microvolt = <2850000>; - regulator-max-microvolt = <3000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x25 0x10 0x20>; - hisilicon,hi6421-vset = <0x25 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo6: ldo@26 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO6"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x26 0x10 0x20>; - hisilicon,hi6421-vset = <0x26 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo7: ldo@27 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO7"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x27 0x10 0x20>; - hisilicon,hi6421-vset = <0x27 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <5000>; - }; - - ldo8: ldo@28 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO8"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x28 0x10 0x20>; - hisilicon,hi6421-vset = <0x28 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2600000>, - <2700000>, <2850000>, - <3000000>, <3300000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo9: ldo@29 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO9"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x29 0x10 0x20>; - hisilicon,hi6421-vset = <0x29 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo10: ldo@2a { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO10"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x2a 0x10 0x20>; - hisilicon,hi6421-vset = <0x2a 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo11: ldo@2b { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO11"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x2b 0x10 0x20>; - hisilicon,hi6421-vset = <0x2b 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo12: ldo@2c { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO12"; - regulator-min-microvolt = <2850000>; - regulator-max-microvolt = <2850000>; - hisilicon,hi6421-ctrl = <0x2c 0x10 0x20>; - hisilicon,hi6421-vset = <0x2c 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo13: ldo@2d { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO13"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x2d 0x10 0x20>; - hisilicon,hi6421-vset = <0x2d 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo14: ldo@2e { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO14"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x2e 0x10 0x20>; - hisilicon,hi6421-vset = <0x2e 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo15: ldo@2f { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO15"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3300000>; - hisilicon,hi6421-ctrl = <0x2f 0x10 0x20>; - hisilicon,hi6421-vset = <0x2f 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2600000>, - <2700000>, <2850000>, - <3000000>, <3300000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo16: ldo@30 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO16"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x30 0x10 0x20>; - hisilicon,hi6421-vset = <0x30 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo17: ldo@31 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO17"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x31 0x10 0x20>; - hisilicon,hi6421-vset = <0x31 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo18: ldo@32 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO18"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x32 0x10 0x20>; - hisilicon,hi6421-vset = <0x32 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo19: ldo@33 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO19"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x2a 0x10 0x20>; - hisilicon,hi6421-vset = <0x2a 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldo20: ldo@34 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDO20"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <3000000>; - hisilicon,hi6421-ctrl = <0x34 0x10 0x20>; - hisilicon,hi6421-vset = <0x34 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1500000>, <1800000>, - <2400000>, <2500000>, - <2600000>, <2700000>, - <2850000>, <3000000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <8000>; - }; - - ldoaudio: ldo@36 { - compatible = "hisilicon,hi6421-ldo"; - regulator-name = "LDOAUDIO"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <3300000>; - hisilicon,hi6421-ctrl = <0x36 0x01 0x02>; - hisilicon,hi6421-vset = <0x36 0x70>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <2800000>, <2850000>, - <2900000>, <2950000>, - <3000000>, <3100000>, - <3200000>, <3300000>; - hisilicon,hi6421-off-on-delay-us = <40000>; - hisilicon,hi6421-enable-time-us = <250>; - hisilicon,hi6421-eco-microamp = <5000>; - }; - - buck0: buck@0c { - compatible = "hisilicon,hi6421-buck012"; - regulator-name = "BUCK0"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1600000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x0c 0x01 0x10>; - hisilicon,hi6421-vset = <0x0d 0x7f>; - hisilicon,hi6421-n-voltages = <128>; - hisilicon,hi6421-uv-step = <7086>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <300>; - }; - - buck1: buck@0e { - compatible = "hisilicon,hi6421-buck012"; - regulator-name = "BUCK1"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1600000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x0e 0x01 0x10>; - hisilicon,hi6421-vset = <0x0f 0x7f>; - hisilicon,hi6421-n-voltages = <128>; - hisilicon,hi6421-uv-step = <7086>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <300>; - }; - - buck2: buck@10 { - compatible = "hisilicon,hi6421-buck012"; - regulator-name = "BUCK2"; - regulator-min-microvolt = <700000>; - regulator-max-microvolt = <1600000>; - regulator-boot-on; - hisilicon,hi6421-ctrl = <0x10 0x01 0x10>; - hisilicon,hi6421-vset = <0x11 0x7f>; - hisilicon,hi6421-n-voltages = <128>; - hisilicon,hi6421-uv-step = <7086>; - hisilicon,hi6421-off-on-delay-us = <100>; - hisilicon,hi6421-enable-time-us = <250>; - }; - - buck3: buck@12 { - compatible = "hisilicon,hi6421-buck345"; - regulator-name = "BUCK3"; - regulator-min-microvolt = <950000>; - regulator-max-microvolt = <1200000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x12 0x01 0x10>; - hisilicon,hi6421-vset = <0x13 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <950000>, <1050000>, - <1100000>, <1170000>, - <1134000>, <1150000>, - <1167000>, <1200000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - }; - - buck4: buck@14 { - compatible = "hisilicon,hi6421-buck345"; - regulator-name = "BUCK4"; - regulator-min-microvolt = <1150000>; - regulator-max-microvolt = <2000000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x14 0x01 0x10>; - hisilicon,hi6421-vset = <0x15 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1150000>, <1200000>, - <1250000>, <1350000>, - <1700000>, <1800000>, - <1900000>, <2000000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - }; - - buck5: buck@16 { - compatible = "hisilicon,hi6421-buck345"; - regulator-name = "BUCK5"; - regulator-min-microvolt = <1150000>; - regulator-max-microvolt = <1900000>; - regulator-boot-on; - regulator-always-on; - hisilicon,hi6421-ctrl = <0x16 0x01 0x10>; - hisilicon,hi6421-vset = <0x17 0x07>; - hisilicon,hi6421-n-voltages = <8>; - hisilicon,hi6421-vset-table = <1150000>, <1200000>, - <1250000>, <1350000>, - <1600000>, <1700000>, - <1800000>, <1900000>; - hisilicon,hi6421-off-on-delay-us = <20000>; - hisilicon,hi6421-enable-time-us = <250>; - }; - - onkey { - compatible = "hisilicon,hi6421-onkey"; - interrupt-parent = <&pmic>; - interrupts = <7 0>, <6 0>, <5 0>, <4 0>; - interrupt-names = "down", "up", "hold 1s", "hold 10s"; - }; - - rtc { - compatible = "hisilicon,hi6421-rtc"; - interrupt-parent = <&pmic>; - interrupts = <0 0>; - }; - }; /* end of pmic */ + }; mcu: mcu@fd000000 { status = "ok"; @@ -1449,7 +941,7 @@ hisilicon,mipi-mode = "video"; hisilicon,mipi-lanes = <4>; status = "ok"; - + display-timings { native-mode = <&timing0>; timing0: timing0 { @@ -1483,3 +975,94 @@ }; }; /* end of amba */ }; + +/include/ "hi6421.dtsi" + +&ldo0 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; +}; + +&ldo1 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo2 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo3 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo4 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo5 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <3000000>; + regulator-boot-on; + regulator-always-on; +}; + +&ldo6 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo7 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo8 { + regulator-boot-on; + regulator-always-on; +}; + +&ldo12 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; +}; + +&ldo16 { + regulator-always-on; +}; + +&ldo17 { + regulator-always-on; +}; + +&buck0 { + regulator-boot-on; + regulator-always-on; +}; + +&buck1 { + regulator-boot-on; + regulator-always-on; +}; + +&buck2 { + regulator-boot-on; +}; + +&buck3 { + regulator-boot-on; + regulator-always-on; +}; + +&buck4 { + regulator-boot-on; + regulator-always-on; +}; + +&buck5 { + regulator-boot-on; + regulator-always-on; +}; diff --git a/arch/arm/boot/dts/hi6421.dtsi b/arch/arm/boot/dts/hi6421.dtsi new file mode 100644 index 000000000000..d7956b7cc135 --- /dev/null +++ b/arch/arm/boot/dts/hi6421.dtsi @@ -0,0 +1,507 @@ +/* + * HiSilicon HI6421 PMIC device tree source + * + * Copyright (c) <2011-2013> HiSilicon Technologies Co., Ltd. + * http://www.hisilicon.com + * Copyright (c) <2011-2013> Linaro Ltd. + * http://www.linaro.org + * + * Author: Guodong Xu <guodong.xu@linaro.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +&pmic { + compatible = "hisilicon,hi6421-pmic"; + #interrupt-cells = <2>; + interrupt-controller; + gpios = <&gpio19 7 0>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int_cfg_func>; + + ldo0: ldo@20 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO0"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x20 0x10 0x20>; + hisilicon,hi6421-vset = <0x20 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <10000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo1: ldo@21 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO1"; + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <2000000>; + hisilicon,hi6421-ctrl = <0x21 0x10 0x20>; + hisilicon,hi6421-vset = <0x21 0x03>; + hisilicon,hi6421-n-voltages = <4>; + hisilicon,hi6421-vset-table = <1700000>, <1800000>, + <1900000>, <2000000>; + hisilicon,hi6421-off-on-delay-us = <10000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <5000>; + }; + + ldo2: ldo@22 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO2"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1400000>; + hisilicon,hi6421-ctrl = <0x22 0x10 0x20>; + hisilicon,hi6421-vset = <0x22 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1050000>, <1100000>, + <1150000>, <1200000>, + <1250000>, <1300000>, + <1350000>, <1400000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo3: ldo@23 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO3"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1400000>; + hisilicon,hi6421-ctrl = <0x23 0x10 0x20>; + hisilicon,hi6421-vset = <0x23 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1050000>, <1100000>, + <1150000>, <1200000>, + <1250000>, <1300000>, + <1350000>, <1400000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo4: ldo@24 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO4"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x24 0x10 0x20>; + hisilicon,hi6421-vset = <0x24 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo5: ldo@25 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO5"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x25 0x10 0x20>; + hisilicon,hi6421-vset = <0x25 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo6: ldo@26 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO6"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x26 0x10 0x20>; + hisilicon,hi6421-vset = <0x26 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo7: ldo@27 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO7"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x27 0x10 0x20>; + hisilicon,hi6421-vset = <0x27 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <5000>; + }; + + ldo8: ldo@28 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO8"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3300000>; + hisilicon,hi6421-ctrl = <0x28 0x10 0x20>; + hisilicon,hi6421-vset = <0x28 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2600000>, + <2700000>, <2850000>, + <3000000>, <3300000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo9: ldo@29 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO9"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x29 0x10 0x20>; + hisilicon,hi6421-vset = <0x29 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo10: ldo@2a { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO10"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2a 0x10 0x20>; + hisilicon,hi6421-vset = <0x2a 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo11: ldo@2b { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO11"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2b 0x10 0x20>; + hisilicon,hi6421-vset = <0x2b 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo12: ldo@2c { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO12"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2c 0x10 0x20>; + hisilicon,hi6421-vset = <0x2c 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo13: ldo@2d { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO13"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2d 0x10 0x20>; + hisilicon,hi6421-vset = <0x2d 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo14: ldo@2e { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO14"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2e 0x10 0x20>; + hisilicon,hi6421-vset = <0x2e 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo15: ldo@2f { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO15"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3300000>; + hisilicon,hi6421-ctrl = <0x2f 0x10 0x20>; + hisilicon,hi6421-vset = <0x2f 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2600000>, + <2700000>, <2850000>, + <3000000>, <3300000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo16: ldo@30 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO16"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x30 0x10 0x20>; + hisilicon,hi6421-vset = <0x30 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo17: ldo@31 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO17"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x31 0x10 0x20>; + hisilicon,hi6421-vset = <0x31 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo18: ldo@32 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO18"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x32 0x10 0x20>; + hisilicon,hi6421-vset = <0x32 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo19: ldo@33 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO19"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x2a 0x10 0x20>; + hisilicon,hi6421-vset = <0x2a 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldo20: ldo@34 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDO20"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <3000000>; + hisilicon,hi6421-ctrl = <0x34 0x10 0x20>; + hisilicon,hi6421-vset = <0x34 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1500000>, <1800000>, + <2400000>, <2500000>, + <2600000>, <2700000>, + <2850000>, <3000000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <8000>; + }; + + ldoaudio: ldo@36 { + compatible = "hisilicon,hi6421-ldo"; + regulator-name = "LDOAUDIO"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <3300000>; + hisilicon,hi6421-ctrl = <0x36 0x01 0x02>; + hisilicon,hi6421-vset = <0x36 0x70>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <2800000>, <2850000>, + <2900000>, <2950000>, + <3000000>, <3100000>, + <3200000>, <3300000>; + hisilicon,hi6421-off-on-delay-us = <40000>; + hisilicon,hi6421-enable-time-us = <250>; + hisilicon,hi6421-eco-microamp = <5000>; + }; + + buck0: buck@0c { + compatible = "hisilicon,hi6421-buck012"; + regulator-name = "BUCK0"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1600000>; + hisilicon,hi6421-ctrl = <0x0c 0x01 0x10>; + hisilicon,hi6421-vset = <0x0d 0x7f>; + hisilicon,hi6421-n-voltages = <128>; + hisilicon,hi6421-uv-step = <7086>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <300>; + }; + + buck1: buck@0e { + compatible = "hisilicon,hi6421-buck012"; + regulator-name = "BUCK1"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1600000>; + regulator-boot-on; + regulator-always-on; + hisilicon,hi6421-ctrl = <0x0e 0x01 0x10>; + hisilicon,hi6421-vset = <0x0f 0x7f>; + hisilicon,hi6421-n-voltages = <128>; + hisilicon,hi6421-uv-step = <7086>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <300>; + }; + + buck2: buck@10 { + compatible = "hisilicon,hi6421-buck012"; + regulator-name = "BUCK2"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <1600000>; + hisilicon,hi6421-ctrl = <0x10 0x01 0x10>; + hisilicon,hi6421-vset = <0x11 0x7f>; + hisilicon,hi6421-n-voltages = <128>; + hisilicon,hi6421-uv-step = <7086>; + hisilicon,hi6421-off-on-delay-us = <100>; + hisilicon,hi6421-enable-time-us = <250>; + }; + + buck3: buck@12 { + compatible = "hisilicon,hi6421-buck345"; + regulator-name = "BUCK3"; + regulator-min-microvolt = <950000>; + regulator-max-microvolt = <1200000>; + hisilicon,hi6421-ctrl = <0x12 0x01 0x10>; + hisilicon,hi6421-vset = <0x13 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <950000>, <1050000>, + <1100000>, <1170000>, + <1134000>, <1150000>, + <1167000>, <1200000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + }; + + buck4: buck@14 { + compatible = "hisilicon,hi6421-buck345"; + regulator-name = "BUCK4"; + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <2000000>; + hisilicon,hi6421-ctrl = <0x14 0x01 0x10>; + hisilicon,hi6421-vset = <0x15 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1150000>, <1200000>, + <1250000>, <1350000>, + <1700000>, <1800000>, + <1900000>, <2000000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + }; + + buck5: buck@16 { + compatible = "hisilicon,hi6421-buck345"; + regulator-name = "BUCK5"; + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <1900000>; + hisilicon,hi6421-ctrl = <0x16 0x01 0x10>; + hisilicon,hi6421-vset = <0x17 0x07>; + hisilicon,hi6421-n-voltages = <8>; + hisilicon,hi6421-vset-table = <1150000>, <1200000>, + <1250000>, <1350000>, + <1600000>, <1700000>, + <1800000>, <1900000>; + hisilicon,hi6421-off-on-delay-us = <20000>; + hisilicon,hi6421-enable-time-us = <250>; + }; + + onkey { + compatible = "hisilicon,hi6421-onkey"; + interrupt-parent = <&pmic>; + interrupts = <7 0>, <6 0>, <5 0>, <4 0>; + interrupt-names = "down", "up", "hold 1s", "hold 10s"; + }; + + rtc { + compatible = "hisilicon,hi6421-rtc"; + interrupt-parent = <&pmic>; + interrupts = <0 0>; + }; +}; /* end of pmic */ |