162306a36Sopenharmony_ci* Freescale MC13783/MC13892 Power Management Integrated Circuit (PMIC)
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible : Should be "fsl,mc13783" or "fsl,mc13892"
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciOptional properties:
762306a36Sopenharmony_ci- fsl,mc13xxx-uses-adc : Indicate the ADC is being used
862306a36Sopenharmony_ci- fsl,mc13xxx-uses-codec : Indicate the Audio Codec is being used
962306a36Sopenharmony_ci- fsl,mc13xxx-uses-rtc : Indicate the RTC is being used
1062306a36Sopenharmony_ci- fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciSub-nodes:
1362306a36Sopenharmony_ci- codec: Contain the Audio Codec node.
1462306a36Sopenharmony_ci  - adc-port: Contain PMIC SSI port number used for ADC.
1562306a36Sopenharmony_ci  - dac-port: Contain PMIC SSI port number used for DAC.
1662306a36Sopenharmony_ci- leds : Contain the led nodes and initial register values in property
1762306a36Sopenharmony_ci  "led-control". Number of register depends of used IC, for MC13783 is 6,
1862306a36Sopenharmony_ci  for MC13892 is 4, for MC34708 is 1. See datasheet for bits definitions of
1962306a36Sopenharmony_ci  these registers.
2062306a36Sopenharmony_ci  - #address-cells: Must be 1.
2162306a36Sopenharmony_ci  - #size-cells: Must be 0.
2262306a36Sopenharmony_ci  Each led node should contain "reg", which used as LED ID (described below).
2362306a36Sopenharmony_ci  Optional properties "label" and "linux,default-trigger" is described in
2462306a36Sopenharmony_ci  Documentation/devicetree/bindings/leds/common.txt.
2562306a36Sopenharmony_ci- regulators : Contain the regulator nodes. The regulators are bound using
2662306a36Sopenharmony_ci  their names as listed below with their registers and bits for enabling.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciMC13783 LED IDs:
2962306a36Sopenharmony_ci    0  : Main display
3062306a36Sopenharmony_ci    1  : AUX display
3162306a36Sopenharmony_ci    2  : Keypad
3262306a36Sopenharmony_ci    3  : Red 1
3362306a36Sopenharmony_ci    4  : Green 1
3462306a36Sopenharmony_ci    5  : Blue 1
3562306a36Sopenharmony_ci    6  : Red 2
3662306a36Sopenharmony_ci    7  : Green 2
3762306a36Sopenharmony_ci    8  : Blue 2
3862306a36Sopenharmony_ci    9  : Red 3
3962306a36Sopenharmony_ci    10 : Green 3
4062306a36Sopenharmony_ci    11 : Blue 3
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciMC13892 LED IDs:
4362306a36Sopenharmony_ci    0  : Main display
4462306a36Sopenharmony_ci    1  : AUX display
4562306a36Sopenharmony_ci    2  : Keypad
4662306a36Sopenharmony_ci    3  : Red
4762306a36Sopenharmony_ci    4  : Green
4862306a36Sopenharmony_ci    5  : Blue
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciMC34708 LED IDs:
5162306a36Sopenharmony_ci    0  : Charger Red
5262306a36Sopenharmony_ci    1  : Charger Green
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciMC13783 regulators:
5562306a36Sopenharmony_ci    sw1a      : regulator SW1A      (register 24, bit 0)
5662306a36Sopenharmony_ci    sw1b      : regulator SW1B      (register 25, bit 0)
5762306a36Sopenharmony_ci    sw2a      : regulator SW2A      (register 26, bit 0)
5862306a36Sopenharmony_ci    sw2b      : regulator SW2B      (register 27, bit 0)
5962306a36Sopenharmony_ci    sw3       : regulator SW3       (register 29, bit 20)
6062306a36Sopenharmony_ci    vaudio    : regulator VAUDIO    (register 32, bit 0)
6162306a36Sopenharmony_ci    viohi     : regulator VIOHI     (register 32, bit 3)
6262306a36Sopenharmony_ci    violo     : regulator VIOLO     (register 32, bit 6)
6362306a36Sopenharmony_ci    vdig      : regulator VDIG      (register 32, bit 9)
6462306a36Sopenharmony_ci    vgen      : regulator VGEN      (register 32, bit 12)
6562306a36Sopenharmony_ci    vrfdig    : regulator VRFDIG    (register 32, bit 15)
6662306a36Sopenharmony_ci    vrfref    : regulator VRFREF    (register 32, bit 18)
6762306a36Sopenharmony_ci    vrfcp     : regulator VRFCP     (register 32, bit 21)
6862306a36Sopenharmony_ci    vsim      : regulator VSIM      (register 33, bit 0)
6962306a36Sopenharmony_ci    vesim     : regulator VESIM     (register 33, bit 3)
7062306a36Sopenharmony_ci    vcam      : regulator VCAM      (register 33, bit 6)
7162306a36Sopenharmony_ci    vrfbg     : regulator VRFBG     (register 33, bit 9)
7262306a36Sopenharmony_ci    vvib      : regulator VVIB      (register 33, bit 11)
7362306a36Sopenharmony_ci    vrf1      : regulator VRF1      (register 33, bit 12)
7462306a36Sopenharmony_ci    vrf2      : regulator VRF2      (register 33, bit 15)
7562306a36Sopenharmony_ci    vmmc1     : regulator VMMC1     (register 33, bit 18)
7662306a36Sopenharmony_ci    vmmc2     : regulator VMMC2     (register 33, bit 21)
7762306a36Sopenharmony_ci    gpo1      : regulator GPO1      (register 34, bit 6)
7862306a36Sopenharmony_ci    gpo2      : regulator GPO2      (register 34, bit 8)
7962306a36Sopenharmony_ci    gpo3      : regulator GPO3      (register 34, bit 10)
8062306a36Sopenharmony_ci    gpo4      : regulator GPO4      (register 34, bit 12)
8162306a36Sopenharmony_ci    pwgt1spi  : regulator PWGT1SPI  (register 34, bit 15)
8262306a36Sopenharmony_ci    pwgt2spi  : regulator PWGT2SPI  (register 34, bit 16)
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciMC13892 regulators:
8562306a36Sopenharmony_ci    vcoincell : regulator VCOINCELL (register 13, bit 23)
8662306a36Sopenharmony_ci    sw1       : regulator SW1	    (register 24, bit 0)
8762306a36Sopenharmony_ci    sw2       : regulator SW2	    (register 25, bit 0)
8862306a36Sopenharmony_ci    sw3       : regulator SW3	    (register 26, bit 0)
8962306a36Sopenharmony_ci    sw4       : regulator SW4	    (register 27, bit 0)
9062306a36Sopenharmony_ci    swbst     : regulator SWBST	    (register 29, bit 20)
9162306a36Sopenharmony_ci    vgen1     : regulator VGEN1	    (register 32, bit 0)
9262306a36Sopenharmony_ci    viohi     : regulator VIOHI	    (register 32, bit 3)
9362306a36Sopenharmony_ci    vdig      : regulator VDIG	    (register 32, bit 9)
9462306a36Sopenharmony_ci    vgen2     : regulator VGEN2	    (register 32, bit 12)
9562306a36Sopenharmony_ci    vpll      : regulator VPLL	    (register 32, bit 15)
9662306a36Sopenharmony_ci    vusb2     : regulator VUSB2	    (register 32, bit 18)
9762306a36Sopenharmony_ci    vgen3     : regulator VGEN3	    (register 33, bit 0)
9862306a36Sopenharmony_ci    vcam      : regulator VCAM	    (register 33, bit 6)
9962306a36Sopenharmony_ci    vvideo    : regulator VVIDEO    (register 33, bit 12)
10062306a36Sopenharmony_ci    vaudio    : regulator VAUDIO    (register 33, bit 15)
10162306a36Sopenharmony_ci    vsd       : regulator VSD	    (register 33, bit 18)
10262306a36Sopenharmony_ci    gpo1      : regulator GPO1	    (register 34, bit 6)
10362306a36Sopenharmony_ci    gpo2      : regulator GPO2	    (register 34, bit 8)
10462306a36Sopenharmony_ci    gpo3      : regulator GPO3	    (register 34, bit 10)
10562306a36Sopenharmony_ci    gpo4      : regulator GPO4	    (register 34, bit 12)
10662306a36Sopenharmony_ci    pwgt1spi  : regulator PWGT1SPI  (register 34, bit 15)
10762306a36Sopenharmony_ci    pwgt2spi  : regulator PWGT2SPI  (register 34, bit 16)
10862306a36Sopenharmony_ci    vusb      : regulator VUSB	    (register 50, bit 3)
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci  The bindings details of individual regulator device can be found in:
11162306a36Sopenharmony_ci  Documentation/devicetree/bindings/regulator/regulator.txt
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ciExamples:
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ciecspi@70010000 { /* ECSPI1 */
11662306a36Sopenharmony_ci	cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */
11762306a36Sopenharmony_ci		   <&gpio4 25 0>; /* GPIO4_25 */
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	pmic: mc13892@0 {
12062306a36Sopenharmony_ci		#address-cells = <1>;
12162306a36Sopenharmony_ci		#size-cells = <0>;
12262306a36Sopenharmony_ci		compatible = "fsl,mc13892";
12362306a36Sopenharmony_ci		spi-max-frequency = <6000000>;
12462306a36Sopenharmony_ci		reg = <0>;
12562306a36Sopenharmony_ci		interrupt-parent = <&gpio0>;
12662306a36Sopenharmony_ci		interrupts = <8>;
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		leds {
12962306a36Sopenharmony_ci			#address-cells = <1>;
13062306a36Sopenharmony_ci			#size-cells = <0>;
13162306a36Sopenharmony_ci			led-control = <0x000 0x000 0x0e0 0x000>;
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci			sysled@3 {
13462306a36Sopenharmony_ci				reg = <3>;
13562306a36Sopenharmony_ci				label = "system:red:live";
13662306a36Sopenharmony_ci				linux,default-trigger = "heartbeat";
13762306a36Sopenharmony_ci			};
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci		regulators {
14162306a36Sopenharmony_ci			sw1_reg: mc13892__sw1 {
14262306a36Sopenharmony_ci				regulator-min-microvolt = <600000>;
14362306a36Sopenharmony_ci				regulator-max-microvolt = <1375000>;
14462306a36Sopenharmony_ci				regulator-boot-on;
14562306a36Sopenharmony_ci				regulator-always-on;
14662306a36Sopenharmony_ci			};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci			sw2_reg: mc13892__sw2 {
14962306a36Sopenharmony_ci				regulator-min-microvolt = <900000>;
15062306a36Sopenharmony_ci				regulator-max-microvolt = <1850000>;
15162306a36Sopenharmony_ci				regulator-boot-on;
15262306a36Sopenharmony_ci				regulator-always-on;
15362306a36Sopenharmony_ci			};
15462306a36Sopenharmony_ci		};
15562306a36Sopenharmony_ci	};
15662306a36Sopenharmony_ci};
157