new file mode 100644
@@ -0,0 +1,198 @@
+Regulators included in the Freescale MC34708 PMIC
+
+Required properties:
+- compatible: "fsl,mc34708"
+- reg: I2C slave address
+
+
+Regulators subnode:
+-------------------
+This node contains children following the standard regulator binding format
+described in Documentation/devicetree/bindings/regulator/regulator.txt
+
+The allowed node names are:
+ Switchers:
+ sw1, sw2, sw3, sw4a, sw4b, sw5, swbst
+ LDOs:
+ vpll, vrefddr, vusb, vusb2, vdac, vgen1, vgen2
+
+The mode values are:
+ Switchers:
+ 1 : Pulse Frequency Modulation (PFM) [for low loads]
+ 2 : Auto
+ 3 : Pulse Width Modulation (PWM) [for high loads]
+ LDOs:
+ 1 : Low power
+ 2 : Normal
+
+Optional properties:
+The input supply of regulators are the optional properties on the
+regulator node.
+
+- vinsw1-supply : phandle to input supply for sw1 regulator
+- vinsw2-supply : phandle to input supply for sw2 regulator
+- vinsw3-supply : phandle to input supply for sw3 regulator
+- vinsw4a-supply : phandle to input supply for sw4a regulator
+- vinsw4b-supply : phandle to input supply for sw4b regulator
+- vinsw5-supply : phandle to input supply for sw5 regulator
+- vinswbst-supply : phandle to input supply for swbst regulator
+- vinrefddr-supply : phandle to input supply for vrefddr regulator (/2)
+
+
+Example:
+&i2c3 {
+ pmic: mc34708@08 {
+ compatible = "fsl,mc34708";
+ reg = <0x08>;
+ regulators {
+#define PMIC_REGMODE_SW_PFM 1
+#define PMIC_REGMODE_SW_AUTO 2
+#define PMIC_REGMODE_SW_PWM 3
+#define PMIC_REGMODE_LDO_LP 1
+#define PMIC_REGMODE_LDO_NORMAL 2
+
+ vinrefddr-supply = <&pmic_sw4a_reg>;
+ pmic_sw1_reg: sw1 {
+ /* CPU Core */
+ regulator-name = "SW1";
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <1437500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_SW_PWM>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <850000>;
+ regulator-mode = <PMIC_REGMODE_SW_PFM>;
+ };
+ };
+
+ pmic_sw2_reg: sw2 {
+ /* SOC Periperals */
+ regulator-name = "SW2";
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <1437500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_SW_PWM>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <950000>;
+ regulator-mode = <PMIC_REGMODE_SW_PFM>;
+ };
+ };
+
+ pmic_sw3_reg: sw3 {
+ regulator-name = "SW3";
+ regulator-min-microvolt = <650000>;
+ regulator-max-microvolt = <1425000>;
+ };
+
+ pmic_sw4a_reg: sw4a {
+ /* DDR Ram */
+ regulator-name = "SW4A";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_SW_PWM>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-mode = <PMIC_REGMODE_SW_PFM>;
+ };
+ };
+
+ pmic_sw5_reg: sw5 {
+ /* 1v8 power */
+ regulator-name = "SW5";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1975000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_SW_PWM>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-mode = <PMIC_REGMODE_SW_PFM>;
+ };
+ };
+
+ pmic_swbst_reg: swbst {
+ regulator-name = "SWBST";
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_SW_AUTO>;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ pmic_vpll_reg: vpll {
+ regulator-name = "VPLL";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ pmic_vrefddr_reg: vrefddr {
+ regulator-name = "VREFDDR";
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ pmic_vusb_reg: vusb {
+ regulator-name = "VUSB";
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ pmic_vusb2_reg: vusb2 {
+ regulator-name = "VUSB2";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ pmic_vdac_reg: vdac {
+ regulator-name = "VDAC";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2775000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_LDO_NORMAL>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-mode = <PMIC_REGMODE_LDO_LP>;
+ };
+ };
+
+ pmic_vgen1_reg: vgen1 {
+ regulator-name = "VGEN1";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1550000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-off-in-suspend;
+ };
+ };
+
+ pmic_vgen2_reg: vgen2 {
+ regulator-name = "VGEN2";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-initial-mode = <PMIC_REGMODE_LDO_NORMAL>;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-mode = <PMIC_REGMODE_LDO_LP>;
+ };
+ };
+ };
+ };
+};
Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> --- .../bindings/regulator/mc34708-regulator.txt | 198 ++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/mc34708-regulator.txt