1*a5f00e38SJulien Panis# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*a5f00e38SJulien Panis%YAML 1.2 3*a5f00e38SJulien Panis--- 4*a5f00e38SJulien Panis$id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml# 5*a5f00e38SJulien Panis$schema: http://devicetree.org/meta-schemas/core.yaml# 6*a5f00e38SJulien Panis 7*a5f00e38SJulien Panistitle: TI TPS6594 Power Management Integrated Circuit 8*a5f00e38SJulien Panis 9*a5f00e38SJulien Panismaintainers: 10*a5f00e38SJulien Panis - Julien Panis <jpanis@baylibre.com> 11*a5f00e38SJulien Panis 12*a5f00e38SJulien Panisdescription: 13*a5f00e38SJulien Panis TPS6594 is a Power Management IC which provides regulators and others 14*a5f00e38SJulien Panis features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and 15*a5f00e38SJulien Panis PFSM (Pre-configurable Finite State Machine) managing the state of the device. 16*a5f00e38SJulien Panis TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives. 17*a5f00e38SJulien Panis 18*a5f00e38SJulien Panisproperties: 19*a5f00e38SJulien Panis compatible: 20*a5f00e38SJulien Panis enum: 21*a5f00e38SJulien Panis - ti,lp8764-q1 22*a5f00e38SJulien Panis - ti,tps6593-q1 23*a5f00e38SJulien Panis - ti,tps6594-q1 24*a5f00e38SJulien Panis 25*a5f00e38SJulien Panis reg: 26*a5f00e38SJulien Panis description: I2C slave address or SPI chip select number. 27*a5f00e38SJulien Panis maxItems: 1 28*a5f00e38SJulien Panis 29*a5f00e38SJulien Panis ti,primary-pmic: 30*a5f00e38SJulien Panis type: boolean 31*a5f00e38SJulien Panis description: | 32*a5f00e38SJulien Panis Identify the primary PMIC on SPMI bus. 33*a5f00e38SJulien Panis A multi-PMIC synchronization scheme is implemented in the PMIC device 34*a5f00e38SJulien Panis to synchronize the power state changes with other PMIC devices. This is 35*a5f00e38SJulien Panis accomplished through a SPMI bus: the primary PMIC is the controller 36*a5f00e38SJulien Panis device on the SPMI bus, and the secondary PMICs are the target devices 37*a5f00e38SJulien Panis on the SPMI bus. 38*a5f00e38SJulien Panis 39*a5f00e38SJulien Panis system-power-controller: true 40*a5f00e38SJulien Panis 41*a5f00e38SJulien Panis gpio-controller: true 42*a5f00e38SJulien Panis 43*a5f00e38SJulien Panis '#gpio-cells': 44*a5f00e38SJulien Panis const: 2 45*a5f00e38SJulien Panis description: | 46*a5f00e38SJulien Panis The first cell is the pin number, the second cell is used to specify flags. 47*a5f00e38SJulien Panis See ../gpio/gpio.txt for more information. 48*a5f00e38SJulien Panis 49*a5f00e38SJulien Panis interrupts: 50*a5f00e38SJulien Panis maxItems: 1 51*a5f00e38SJulien Panis 52*a5f00e38SJulien Panis regulators: 53*a5f00e38SJulien Panis type: object 54*a5f00e38SJulien Panis description: List of regulators provided by this controller. 55*a5f00e38SJulien Panis 56*a5f00e38SJulien Panis patternProperties: 57*a5f00e38SJulien Panis "^buck([1-5]|12|34|123|1234)$": 58*a5f00e38SJulien Panis type: object 59*a5f00e38SJulien Panis $ref: /schemas/regulator/regulator.yaml# 60*a5f00e38SJulien Panis 61*a5f00e38SJulien Panis unevaluatedProperties: false 62*a5f00e38SJulien Panis 63*a5f00e38SJulien Panis "^ldo[1-4]$": 64*a5f00e38SJulien Panis type: object 65*a5f00e38SJulien Panis $ref: /schemas/regulator/regulator.yaml# 66*a5f00e38SJulien Panis 67*a5f00e38SJulien Panis unevaluatedProperties: false 68*a5f00e38SJulien Panis 69*a5f00e38SJulien Panis allOf: 70*a5f00e38SJulien Panis - if: 71*a5f00e38SJulien Panis required: 72*a5f00e38SJulien Panis - buck12 73*a5f00e38SJulien Panis then: 74*a5f00e38SJulien Panis properties: 75*a5f00e38SJulien Panis buck123: false 76*a5f00e38SJulien Panis buck1234: false 77*a5f00e38SJulien Panis - if: 78*a5f00e38SJulien Panis required: 79*a5f00e38SJulien Panis - buck123 80*a5f00e38SJulien Panis then: 81*a5f00e38SJulien Panis properties: 82*a5f00e38SJulien Panis buck34: false 83*a5f00e38SJulien Panis - if: 84*a5f00e38SJulien Panis required: 85*a5f00e38SJulien Panis - buck1234 86*a5f00e38SJulien Panis then: 87*a5f00e38SJulien Panis properties: 88*a5f00e38SJulien Panis buck34: false 89*a5f00e38SJulien Panis 90*a5f00e38SJulien Panis additionalProperties: false 91*a5f00e38SJulien Panis 92*a5f00e38SJulien PanispatternProperties: 93*a5f00e38SJulien Panis "^buck([1-5]|12|34|123|1234)-supply$": 94*a5f00e38SJulien Panis description: Input supply phandle for each buck. 95*a5f00e38SJulien Panis 96*a5f00e38SJulien Panis "^ldo[1-4]-supply$": 97*a5f00e38SJulien Panis description: Input supply phandle for each ldo. 98*a5f00e38SJulien Panis 99*a5f00e38SJulien Panisrequired: 100*a5f00e38SJulien Panis - compatible 101*a5f00e38SJulien Panis - reg 102*a5f00e38SJulien Panis - interrupts 103*a5f00e38SJulien Panis 104*a5f00e38SJulien PanisadditionalProperties: false 105*a5f00e38SJulien Panis 106*a5f00e38SJulien Panisexamples: 107*a5f00e38SJulien Panis - | 108*a5f00e38SJulien Panis #include <dt-bindings/interrupt-controller/arm-gic.h> 109*a5f00e38SJulien Panis i2c { 110*a5f00e38SJulien Panis #address-cells = <1>; 111*a5f00e38SJulien Panis #size-cells = <0>; 112*a5f00e38SJulien Panis 113*a5f00e38SJulien Panis tps6593: pmic@48 { 114*a5f00e38SJulien Panis compatible = "ti,tps6593-q1"; 115*a5f00e38SJulien Panis reg = <0x48>; 116*a5f00e38SJulien Panis ti,primary-pmic; 117*a5f00e38SJulien Panis system-power-controller; 118*a5f00e38SJulien Panis 119*a5f00e38SJulien Panis gpio-controller; 120*a5f00e38SJulien Panis #gpio-cells = <2>; 121*a5f00e38SJulien Panis 122*a5f00e38SJulien Panis pinctrl-names = "default"; 123*a5f00e38SJulien Panis pinctrl-0 = <&pmic_irq_pins_default>; 124*a5f00e38SJulien Panis interrupt-parent = <&mcu_gpio0>; 125*a5f00e38SJulien Panis interrupts = <0 IRQ_TYPE_EDGE_FALLING>; 126*a5f00e38SJulien Panis 127*a5f00e38SJulien Panis buck123-supply = <&vcc_3v3_sys>; 128*a5f00e38SJulien Panis buck4-supply = <&vcc_3v3_sys>; 129*a5f00e38SJulien Panis buck5-supply = <&vcc_3v3_sys>; 130*a5f00e38SJulien Panis ldo1-supply = <&vcc_3v3_sys>; 131*a5f00e38SJulien Panis ldo2-supply = <&vcc_3v3_sys>; 132*a5f00e38SJulien Panis ldo3-supply = <&buck5>; 133*a5f00e38SJulien Panis ldo4-supply = <&vcc_3v3_sys>; 134*a5f00e38SJulien Panis 135*a5f00e38SJulien Panis regulators { 136*a5f00e38SJulien Panis buck123: buck123 { 137*a5f00e38SJulien Panis regulator-name = "vcc_core"; 138*a5f00e38SJulien Panis regulator-min-microvolt = <750000>; 139*a5f00e38SJulien Panis regulator-max-microvolt = <850000>; 140*a5f00e38SJulien Panis regulator-boot-on; 141*a5f00e38SJulien Panis regulator-always-on; 142*a5f00e38SJulien Panis }; 143*a5f00e38SJulien Panis 144*a5f00e38SJulien Panis buck4: buck4 { 145*a5f00e38SJulien Panis regulator-name = "vcc_1v1"; 146*a5f00e38SJulien Panis regulator-min-microvolt = <1100000>; 147*a5f00e38SJulien Panis regulator-max-microvolt = <1100000>; 148*a5f00e38SJulien Panis regulator-boot-on; 149*a5f00e38SJulien Panis regulator-always-on; 150*a5f00e38SJulien Panis }; 151*a5f00e38SJulien Panis 152*a5f00e38SJulien Panis buck5: buck5 { 153*a5f00e38SJulien Panis regulator-name = "vcc_1v8_sys"; 154*a5f00e38SJulien Panis regulator-min-microvolt = <1800000>; 155*a5f00e38SJulien Panis regulator-max-microvolt = <1800000>; 156*a5f00e38SJulien Panis regulator-boot-on; 157*a5f00e38SJulien Panis regulator-always-on; 158*a5f00e38SJulien Panis }; 159*a5f00e38SJulien Panis 160*a5f00e38SJulien Panis ldo1: ldo1 { 161*a5f00e38SJulien Panis regulator-name = "vddshv5_sdio"; 162*a5f00e38SJulien Panis regulator-min-microvolt = <3300000>; 163*a5f00e38SJulien Panis regulator-max-microvolt = <3300000>; 164*a5f00e38SJulien Panis regulator-boot-on; 165*a5f00e38SJulien Panis regulator-always-on; 166*a5f00e38SJulien Panis }; 167*a5f00e38SJulien Panis 168*a5f00e38SJulien Panis ldo2: ldo2 { 169*a5f00e38SJulien Panis regulator-name = "vpp_1v8"; 170*a5f00e38SJulien Panis regulator-min-microvolt = <1800000>; 171*a5f00e38SJulien Panis regulator-max-microvolt = <1800000>; 172*a5f00e38SJulien Panis regulator-boot-on; 173*a5f00e38SJulien Panis regulator-always-on; 174*a5f00e38SJulien Panis }; 175*a5f00e38SJulien Panis 176*a5f00e38SJulien Panis ldo3: ldo3 { 177*a5f00e38SJulien Panis regulator-name = "vcc_0v85"; 178*a5f00e38SJulien Panis regulator-min-microvolt = <850000>; 179*a5f00e38SJulien Panis regulator-max-microvolt = <850000>; 180*a5f00e38SJulien Panis regulator-boot-on; 181*a5f00e38SJulien Panis regulator-always-on; 182*a5f00e38SJulien Panis }; 183*a5f00e38SJulien Panis 184*a5f00e38SJulien Panis ldo4: ldo4 { 185*a5f00e38SJulien Panis regulator-name = "vdda_1v8"; 186*a5f00e38SJulien Panis regulator-min-microvolt = <1800000>; 187*a5f00e38SJulien Panis regulator-max-microvolt = <1800000>; 188*a5f00e38SJulien Panis regulator-boot-on; 189*a5f00e38SJulien Panis regulator-always-on; 190*a5f00e38SJulien Panis }; 191*a5f00e38SJulien Panis }; 192*a5f00e38SJulien Panis }; 193*a5f00e38SJulien Panis }; 194