cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

max8998.txt (4524B)


      1* Maxim MAX8998, National/TI LP3974 multi-function device
      2
      3The Maxim MAX8998 is a multi-function device which includes voltage/current
      4regulators, real time clock, battery charging controller and several
      5other sub-blocks. It is interfaced using an I2C interface. Each sub-block
      6is addressed by the host system using different i2c slave address.
      7
      8PMIC sub-block
      9--------------
     10
     11The PMIC sub-block contains a number of voltage and current regulators,
     12with controllable parameters and dynamic voltage scaling capability.
     13In addition, it includes a real time clock and battery charging controller
     14as well. It is accessible at I2C address 0x66.
     15
     16Required 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
     22Optional 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
     43Additional 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
     47Additional 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
     51Regulators: All the regulators of MAX8998 to be instantiated shall be
     52listed in a child node named 'regulators'. Each regulator is represented
     53by a child node of the 'regulators' node.
     54
     55	regulator-name {
     56		/* standard regulator bindings here */
     57	};
     58
     59Following regulators of the MAX8998 PMIC block are supported. Note that
     60the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK
     61number 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
     78Standard regulator bindings are used inside regulator subnodes. Check
     79  Documentation/devicetree/bindings/regulator/regulator.txt
     80for more details.
     81
     82Example:
     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	};