act8846 Power Management Integrated Circuit Required properties: - compatible: "act,act8846" - reg: I2C slave address - gpios: the interrupt pin or sleep pin use gpio get IRQ number - regulators: This is the list of child nodes that specify the regulator initialization data for defined regulators. Not all regulators for the given device need to be present. The definition for each of these nodes is defined using the standard binding for regulators found at Documentation/devicetree/bindings/regulator/regulator.txt. The regulator is matched with the regulator-compatible. The valid regulator-compatible values are: act8846: act_dcdc1, act_dcdc2, act_dcdc3, act_dcdc4, act_ldo1, act_ldo2, act_ldo3, act_ldo4, act_ldo5, act_ldo6, act_ldo7, act_ldo8 Optional properties: - gpios: gpios 0 :vsel pin gpio use vsel pin switch dcdc voltage when reset or power down - regulator-initial-mode: default mode to set on startup - regulator-initial-state: suspend state to set at init - regulator-state-mem, regulator-state-disk, regulator-state-standby: defines regulator suspend to memory, suspend to disk (hibernate) and standby respectively. have following sub-constarints: - regulator-state-uv: suspend voltage - regulator-state-mode: suspend regulator operating mode - regulator-state-enabled: is regulator enabled in this suspend state - regulator-state-disabled: is the regulator disbled in this suspend state -regulator-initial-mode and regulator-state-mode is set as: REGULATOR_MODE_FAST 0x1 REGULATOR_MODE_NORMAL 0x2 REGULATOR_MODE_IDLE 0x4 REGULATOR_MODE_STANDBY 0x8 Example: act8846: act8846@5a { reg = <0x5a>; status = "okay"; }; gpios =<&gpio3 GPIO_D3 GPIO_ACTIVE_LOW>; &act8846{ compatible = "act,act8846"; regulators { #address-cells = <1>; #size-cells = <0>; dcdc1_reg: regulator@0{ reg = <0>; regulator-compatible= "act_dcdc1"; }; dcdc2_reg: regulator@1 { reg = <1>; regulator-compatible = "act_dcdc2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1500000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1200000>; }; }; dcdc3_reg: regulator@2 { reg = <2>; regulator-compatible = "act_dcdc3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1500000>; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <1200000>; }; }; dcdc4_reg: regulator@3 { reg = <3>; regulator-compatible = "act_dcdc4"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; regulator-state-uv = <3300000>; }; }; ldo1_reg: regulator@4 { reg = <4>; regulator-compatible= "act_ldo1"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo2_reg: regulator@5 { reg = <5>; regulator-compatible = "act_ldo2"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo3_reg: regulator@6 { reg = <6>; regulator-compatible = "act_ldo3"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo4_reg:regulator@7 { reg = <7>; regulator-compatible = "act_ldo4"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo5_reg: regulator@8 { reg = <8>; regulator-compatible= "act_ldo5"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo6_reg: regulator@9 { reg = <9>; regulator-compatible = "act_ldo6"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo7_reg: regulator@10 { reg = <10>; regulator-compatible = "act_ldo7"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; ldo8_reg: regulator@11 { reg = <11>; regulator-compatible = "act_ldo8"; regulator-initial-state = <3>; regulator-state-mem { regulator-state-enabled; }; }; }; };