The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/mfd/max8998.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * Maxim MAX8998, National/TI LP3974 multi-function device
    2 
    3 The Maxim MAX8998 is a multi-function device which includes voltage/current
    4 regulators, real time clock, battery charging controller and several
    5 other sub-blocks. It is interfaced using an I2C interface. Each sub-block
    6 is addressed by the host system using different i2c slave address.
    7 
    8 PMIC sub-block
    9 --------------
   10 
   11 The PMIC sub-block contains a number of voltage and current regulators,
   12 with controllable parameters and dynamic voltage scaling capability.
   13 In addition, it includes a real time clock and battery charging controller
   14 as well. It is accessible at I2C address 0x66.
   15 
   16 Required properties:
   17 - compatible: Should be one of the following:
   18     - "maxim,max8998" for Maxim MAX8998
   19     - "national,lp3974" or "ti,lp3974" for National/TI LP3974.
   20 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
   21 
   22 Optional properties:
   23 - interrupts: Interrupt specifiers for two interrupt sources.
   24   - First interrupt specifier is for main interrupt.
   25   - Second interrupt specifier is for power-on/-off interrupt.
   26 - max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used
   27   for buck 1 dvs. The format of the gpio specifier depends on the gpio
   28   controller.
   29 - max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used
   30   for buck 2 dvs. The format of the gpio specifier depends on the gpio
   31   controller.
   32 - max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from
   33   the possible 4 options selectable by the dvs gpios. The value of this
   34   property should be 0, 1, 2 or 3. If not specified or out of range,
   35   a default value of 0 is taken.
   36 - max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from
   37   the possible 2 options selectable by the dvs gpios. The value of this
   38   property should be 0 or 1. If not specified or out of range, a default
   39   value of 0 is taken.
   40 - max8998,pmic-buck-voltage-lock: If present, disallows changing of
   41   preprogrammed buck dvfs voltages.
   42 
   43 Additional properties required if max8998,pmic-buck1-dvs-gpios is defined:
   44 - max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts
   45   for buck1 regulator that can be selected using dvs gpio.
   46 
   47 Additional properties required if max8998,pmic-buck2-dvs-gpio is defined:
   48 - max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts
   49   for buck2 regulator that can be selected using dvs gpio.
   50 
   51 Regulators: All the regulators of MAX8998 to be instantiated shall be
   52 listed in a child node named 'regulators'. Each regulator is represented
   53 by a child node of the 'regulators' node.
   54 
   55         regulator-name {
   56                 /* standard regulator bindings here */
   57         };
   58 
   59 Following regulators of the MAX8998 PMIC block are supported. Note that
   60 the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK
   61 number as described in MAX8998 datasheet.
   62 
   63         - LDOn
   64                   - valid values for n are 2 to 17
   65                   - Example: LDO2, LDO10, LDO17
   66         - BUCKn
   67                   - valid values for n are 1 to 4.
   68                   - Example: BUCK1, BUCK2, BUCK3, BUCK4
   69 
   70         - ENVICHG: Battery Charging Current Monitor Output. This is a fixed
   71                    voltage type regulator
   72 
   73         - ESAFEOUT1: (ldo19)
   74         - ESAFEOUT2: (ld020)
   75 
   76         - CHARGER: main battery charger current control
   77 
   78 Standard regulator bindings are used inside regulator subnodes. Check
   79   Documentation/devicetree/bindings/regulator/regulator.txt
   80 for more details.
   81 
   82 Example:
   83 
   84         pmic@66 {
   85                 compatible = "maxim,max8998-pmic";
   86                 reg = <0x66>;
   87                 interrupt-parent = <&wakeup_eint>;
   88                 interrupts = <4 0>, <3 0>;
   89 
   90                 /* Buck 1 DVS settings */
   91                 max8998,pmic-buck1-default-dvs-idx = <0>;
   92                 max8998,pmic-buck1-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
   93                                                <&gpx0 1 1 0 0>; /* SET2 */
   94                 max8998,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
   95                                                  <1000000>, <950000>;
   96 
   97                 /* Buck 2 DVS settings */
   98                 max8998,pmic-buck2-default-dvs-idx = <0>;
   99                 max8998,pmic-buck2-dvs-gpio = <&gpx0 0 3 0 0>; /* SET3 */
  100                 max8998,pmic-buck2-dvs-voltage = <1350000>, <1300000>;
  101 
  102                 /* Regulators to instantiate */
  103                 regulators {
  104                         ldo2_reg: LDO2 {
  105                                 regulator-name = "VDD_ALIVE_1.1V";
  106                                 regulator-min-microvolt = <1100000>;
  107                                 regulator-max-microvolt = <1100000>;
  108                                 regulator-always-on;
  109                         };
  110 
  111                         buck1_reg: BUCK1 {
  112                                 regulator-name = "VDD_ARM_1.2V";
  113                                 regulator-min-microvolt = <950000>;
  114                                 regulator-max-microvolt = <1350000>;
  115                                 regulator-always-on;
  116                                 regulator-boot-on;
  117                         };
  118 
  119                         charger_reg: CHARGER {
  120                                 regulator-name = "CHARGER";
  121                                 regulator-min-microamp = <90000>;
  122                                 regulator-max-microamp = <800000>;
  123                         };
  124                 };
  125         };

Cache object: 52123ea4859fae9fd7965226bf378d82


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.