linux/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
<<
>>
Prefs
   1* Samsung S5M8767 Voltage and Current Regulator
   2
   3The Samsung S5M8767 is a multi-function device which includes volatage and
   4current regulators, rtc, charger controller and other sub-blocks. It is
   5interfaced to the host controller using a i2c interface. Each sub-block is
   6addressed by the host system using different i2c slave address. This document
   7describes the bindings for 'pmic' sub-block of s5m8767.
   8
   9Required properties:
  10- compatible: Should be "samsung,s5m8767-pmic".
  11- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
  12
  13- s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  14  units for buck2 when changing voltage using gpio dvs. Refer to [1] below
  15  for additional information.
  16
  17- s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  18  units for buck3 when changing voltage using gpio dvs. Refer to [1] below
  19  for additional information.
  20
  21- s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV)
  22  units for buck4 when changing voltage using gpio dvs. Refer to [1] below
  23  for additional information.
  24
  25- s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used
  26  for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines.
  27
  28[1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
  29    property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage'
  30    property should specify atleast one voltage level (which would be a
  31    safe operating voltage).
  32
  33    If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional
  34    property is specified, then all the eight voltage values for the
  35    's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified.
  36
  37Optional properties:
  38- interrupt-parent: Specifies the phandle of the interrupt controller to which
  39  the interrupts from s5m8767 are delivered to.
  40- interrupts: Interrupt specifiers for two interrupt sources.
  41  - First interrupt specifier is for 'irq1' interrupt.
  42  - Second interrupt specifier is for 'alert' interrupt.
  43- s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs.
  44- s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs.
  45- s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs.
  46
  47Additional properties required if either of the optional properties are used:
  48
  49- s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from
  50  the possible 8 options selectable by the dvs gpios. The value of this
  51  property should be between 0 and 7. If not specified or if out of range, the
  52  default value of this property is set to 0.
  53
  54- s5m8767,pmic-buck-dvs-gpios: GPIO specifiers for three host gpio's used
  55  for dvs. The format of the gpio specifier depends in the gpio controller.
  56
  57Regulators: The regulators of s5m8767 that have to be instantiated should be
  58included in a sub-node named 'regulators'. Regulator nodes included in this
  59sub-node should be of the format as listed below.
  60
  61        regulator_name {
  62                ldo1_reg: LDO1 {
  63                        regulator-name = "VDD_ALIVE_1.0V";
  64                        regulator-min-microvolt = <1100000>;
  65                        regulator-max-microvolt = <1100000>;
  66                        regulator-always-on;
  67                        regulator-boot-on;
  68                        op_mode = <1>; /* Normal Mode */
  69                };
  70        };
  71The above regulator entries are defined in regulator bindings documentation
  72except op_mode description.
  73        - op_mode: describes the different operating modes of the LDO's with
  74                power mode change in SOC. The different possible values are,
  75                0 - always off mode
  76                1 - on in normal mode
  77                2 - low power mode
  78                3 - suspend mode
  79
  80The following are the names of the regulators that the s5m8767 pmic block
  81supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
  82as per the datasheet of s5m8767.
  83
  84        - LDOn
  85                  - valid values for n are 1 to 28
  86                  - Example: LDO0, LD01, LDO28
  87        - BUCKn
  88                  - valid values for n are 1 to 9.
  89                  - Example: BUCK1, BUCK2, BUCK9
  90
  91The bindings inside the regulator nodes use the standard regulator bindings
  92which are documented elsewhere.
  93
  94Example:
  95
  96        s5m8767_pmic@66 {
  97                compatible = "samsung,s5m8767-pmic";
  98                reg = <0x66>;
  99
 100                s5m8767,pmic-buck2-uses-gpio-dvs;
 101                s5m8767,pmic-buck3-uses-gpio-dvs;
 102                s5m8767,pmic-buck4-uses-gpio-dvs;
 103
 104                s5m8767,pmic-buck-default-dvs-idx = <0>;
 105
 106                s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 1 0 0>, /* DVS1 */
 107                                                 <&gpx0 1 1 0 0>, /* DVS2 */
 108                                                 <&gpx0 2 1 0 0>; /* DVS3 */
 109
 110                s5m8767,pmic-buck-ds-gpios = <&gpx2 3 1 0 0>, /* SET1 */
 111                                                <&gpx2 4 1 0 0>, /* SET2 */
 112                                                <&gpx2 5 1 0 0>; /* SET3 */
 113
 114                s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
 115                                                 <1250000>, <1200000>,
 116                                                 <1150000>, <1100000>,
 117                                                 <1000000>, <950000>;
 118
 119                s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
 120                                                 <1100000>, <1100000>,
 121                                                 <1000000>, <1000000>,
 122                                                 <1000000>, <1000000>;
 123
 124                s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
 125                                                 <1200000>, <1200000>,
 126                                                 <1200000>, <1200000>,
 127                                                 <1200000>, <1200000>;
 128
 129                regulators {
 130                        ldo1_reg: LDO1 {
 131                                regulator-name = "VDD_ABB_3.3V";
 132                                regulator-min-microvolt = <3300000>;
 133                                regulator-max-microvolt = <3300000>;
 134                                op_mode = <1>; /* Normal Mode */
 135                        };
 136
 137                        ldo2_reg: LDO2 {
 138                                regulator-name = "VDD_ALIVE_1.1V";
 139                                regulator-min-microvolt = <1100000>;
 140                                regulator-max-microvolt = <1100000>;
 141                                regulator-always-on;
 142                        };
 143
 144                        buck1_reg: BUCK1 {
 145                                regulator-name = "VDD_MIF_1.2V";
 146                                regulator-min-microvolt = <950000>;
 147                                regulator-max-microvolt = <1350000>;
 148                                regulator-always-on;
 149                                regulator-boot-on;
 150                        };
 151                };
 152        };
 153