^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Freescale MC13783/MC13892 Power Management Integrated Circuit (PMIC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible : Should be "fsl,mc13783" or "fsl,mc13892"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - fsl,mc13xxx-uses-adc : Indicate the ADC is being used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - fsl,mc13xxx-uses-codec : Indicate the Audio Codec is being used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - fsl,mc13xxx-uses-rtc : Indicate the RTC is being used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Sub-nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - codec: Contain the Audio Codec node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - adc-port: Contain PMIC SSI port number used for ADC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - dac-port: Contain PMIC SSI port number used for DAC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - leds : Contain the led nodes and initial register values in property
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) "led-control". Number of register depends of used IC, for MC13783 is 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) for MC13892 is 4, for MC34708 is 1. See datasheet for bits definitions of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) these registers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - #address-cells: Must be 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - #size-cells: Must be 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Each led node should contain "reg", which used as LED ID (described below).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Optional properties "label" and "linux,default-trigger" is described in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Documentation/devicetree/bindings/leds/common.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) - regulators : Contain the regulator nodes. The regulators are bound using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) their names as listed below with their registers and bits for enabling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) MC13783 LED IDs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 0 : Main display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 1 : AUX display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 2 : Keypad
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 3 : Red 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 4 : Green 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 5 : Blue 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 6 : Red 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 7 : Green 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 8 : Blue 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 9 : Red 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 10 : Green 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 11 : Blue 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) MC13892 LED IDs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 0 : Main display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 1 : AUX display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 2 : Keypad
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 3 : Red
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 4 : Green
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 5 : Blue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) MC34708 LED IDs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 0 : Charger Red
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 1 : Charger Green
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) MC13783 regulators:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) sw1a : regulator SW1A (register 24, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) sw1b : regulator SW1B (register 25, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) sw2a : regulator SW2A (register 26, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) sw2b : regulator SW2B (register 27, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) sw3 : regulator SW3 (register 29, bit 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) vaudio : regulator VAUDIO (register 32, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) viohi : regulator VIOHI (register 32, bit 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) violo : regulator VIOLO (register 32, bit 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) vdig : regulator VDIG (register 32, bit 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) vgen : regulator VGEN (register 32, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) vrfdig : regulator VRFDIG (register 32, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) vrfref : regulator VRFREF (register 32, bit 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) vrfcp : regulator VRFCP (register 32, bit 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) vsim : regulator VSIM (register 33, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) vesim : regulator VESIM (register 33, bit 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) vcam : regulator VCAM (register 33, bit 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) vrfbg : regulator VRFBG (register 33, bit 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) vvib : regulator VVIB (register 33, bit 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) vrf1 : regulator VRF1 (register 33, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) vrf2 : regulator VRF2 (register 33, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) vmmc1 : regulator VMMC1 (register 33, bit 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) vmmc2 : regulator VMMC2 (register 33, bit 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) gpo1 : regulator GPO1 (register 34, bit 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) gpo2 : regulator GPO2 (register 34, bit 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) gpo3 : regulator GPO3 (register 34, bit 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) gpo4 : regulator GPO4 (register 34, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) pwgt1spi : regulator PWGT1SPI (register 34, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) pwgt2spi : regulator PWGT2SPI (register 34, bit 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) MC13892 regulators:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) vcoincell : regulator VCOINCELL (register 13, bit 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) sw1 : regulator SW1 (register 24, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) sw2 : regulator SW2 (register 25, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) sw3 : regulator SW3 (register 26, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) sw4 : regulator SW4 (register 27, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) swbst : regulator SWBST (register 29, bit 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) vgen1 : regulator VGEN1 (register 32, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) viohi : regulator VIOHI (register 32, bit 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) vdig : regulator VDIG (register 32, bit 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) vgen2 : regulator VGEN2 (register 32, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) vpll : regulator VPLL (register 32, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) vusb2 : regulator VUSB2 (register 32, bit 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) vgen3 : regulator VGEN3 (register 33, bit 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) vcam : regulator VCAM (register 33, bit 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) vvideo : regulator VVIDEO (register 33, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) vaudio : regulator VAUDIO (register 33, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) vsd : regulator VSD (register 33, bit 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) gpo1 : regulator GPO1 (register 34, bit 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) gpo2 : regulator GPO2 (register 34, bit 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) gpo3 : regulator GPO3 (register 34, bit 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) gpo4 : regulator GPO4 (register 34, bit 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) pwgt1spi : regulator PWGT1SPI (register 34, bit 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) pwgt2spi : regulator PWGT2SPI (register 34, bit 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) vusb : regulator VUSB (register 50, bit 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) The bindings details of individual regulator device can be found in:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Documentation/devicetree/bindings/regulator/regulator.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) Examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) ecspi@70010000 { /* ECSPI1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) <&gpio4 25 0>; /* GPIO4_25 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) pmic: mc13892@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) compatible = "fsl,mc13892";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) spi-max-frequency = <6000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) reg = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) interrupt-parent = <&gpio0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) interrupts = <8>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) leds {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) led-control = <0x000 0x000 0x0e0 0x000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) sysled@3 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) reg = <3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) label = "system:red:live";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) linux,default-trigger = "heartbeat";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) regulators {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) sw1_reg: mc13892__sw1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) regulator-min-microvolt = <600000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) regulator-max-microvolt = <1375000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) regulator-boot-on;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) regulator-always-on;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) sw2_reg: mc13892__sw2 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) regulator-min-microvolt = <900000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) regulator-max-microvolt = <1850000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) regulator-boot-on;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) regulator-always-on;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) };