ti,tps65219.yaml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/regulator/ti,tps65219.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: TI TPS65214/TPS65215/TPS65219 Power Management Integrated Circuit
  7. maintainers:
  8. - Jerome Neanne <jerome.neanne@baylibre.com>
  9. description: |
  10. Regulator nodes should be named to buck<number> and ldo<number>.
  11. TI TPS65219 is a Power Management IC with 3 Buck regulators, 4 Low
  12. Drop-out Regulators (LDOs), 1 GPIO, 2 GPOs, and power-button.
  13. TI TPS65215 is a derivative of TPS65219 with 3 Buck regulators, 2 Low
  14. Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button.
  15. TI TPS65214 is a derivative of TPS65219 with 3 Buck regulators, 2 Low
  16. Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button.
  17. properties:
  18. compatible:
  19. enum:
  20. - ti,tps65214
  21. - ti,tps65215
  22. - ti,tps65219
  23. reg:
  24. maxItems: 1
  25. system-power-controller:
  26. type: boolean
  27. description: Optional property that indicates that this device is
  28. controlling system power.
  29. interrupts:
  30. description: Short-circuit, over-current, under-voltage for regulators, PB interrupts.
  31. maxItems: 1
  32. interrupt-controller: true
  33. '#interrupt-cells':
  34. description: Specifies the PIN numbers and Flags, as defined in
  35. include/dt-bindings/interrupt-controller/irq.h
  36. const: 1
  37. ti,power-button:
  38. type: boolean
  39. description: |
  40. Optional property that sets the EN/PB/VSENSE pin to be a
  41. power-button.
  42. TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either
  43. 1. EN in which case it functions as an enable pin.
  44. 2. VSENSE which compares the voltages and triggers an automatic
  45. on/off request.
  46. 3. PB in which case it can be configured to trigger an interrupt
  47. to the SoC.
  48. ti,power-button reflects the last one of those options
  49. where the board has a button wired to the pin and triggers
  50. an interrupt on pressing it.
  51. regulators:
  52. type: object
  53. description: |
  54. list of regulators provided by this controller
  55. patternProperties:
  56. "^ldo[1-4]$":
  57. type: object
  58. $ref: regulator.yaml#
  59. description:
  60. Properties for single LDO regulator.
  61. unevaluatedProperties: false
  62. "^buck[1-3]$":
  63. type: object
  64. $ref: regulator.yaml#
  65. description:
  66. Properties for single BUCK regulator.
  67. unevaluatedProperties: false
  68. additionalProperties: false
  69. patternProperties:
  70. "^buck[1-3]-supply$":
  71. description: Input supply phandle of one regulator.
  72. "^ldo[1-4]-supply$":
  73. description: Input supply phandle of one regulator.
  74. required:
  75. - compatible
  76. - reg
  77. - interrupts
  78. - regulators
  79. additionalProperties: false
  80. allOf:
  81. - if:
  82. properties:
  83. compatible:
  84. contains:
  85. enum:
  86. - ti,tps65214
  87. - ti,tps65215
  88. then:
  89. properties:
  90. regulators:
  91. patternProperties:
  92. "^ldo[3-4]$": false
  93. examples:
  94. - |
  95. #include <dt-bindings/interrupt-controller/arm-gic.h>
  96. i2c {
  97. #address-cells = <1>;
  98. #size-cells = <0>;
  99. tps65219: pmic@30 {
  100. compatible = "ti,tps65219";
  101. reg = <0x30>;
  102. buck1-supply = <&vcc_3v3_sys>;
  103. buck2-supply = <&vcc_3v3_sys>;
  104. buck3-supply = <&vcc_3v3_sys>;
  105. ldo1-supply = <&vcc_3v3_sys>;
  106. ldo2-supply = <&buck2_reg>;
  107. ldo3-supply = <&vcc_3v3_sys>;
  108. ldo4-supply = <&vcc_3v3_sys>;
  109. pinctrl-0 = <&pmic_irq_pins_default>;
  110. interrupt-parent = <&gic500>;
  111. interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
  112. ti,power-button;
  113. regulators {
  114. buck1_reg: buck1 {
  115. regulator-name = "VDD_CORE";
  116. regulator-min-microvolt = <750000>;
  117. regulator-max-microvolt = <750000>;
  118. regulator-boot-on;
  119. regulator-always-on;
  120. };
  121. buck2_reg: buck2 {
  122. regulator-name = "VCC1V8";
  123. regulator-min-microvolt = <1800000>;
  124. regulator-max-microvolt = <1800000>;
  125. regulator-boot-on;
  126. regulator-always-on;
  127. };
  128. buck3_reg: buck3 {
  129. regulator-name = "VDD_LPDDR4";
  130. regulator-min-microvolt = <1100000>;
  131. regulator-max-microvolt = <1100000>;
  132. regulator-boot-on;
  133. regulator-always-on;
  134. };
  135. ldo1_reg: ldo1 {
  136. regulator-name = "VDDSHV_SD_IO_PMIC";
  137. regulator-min-microvolt = <33000000>;
  138. regulator-max-microvolt = <33000000>;
  139. };
  140. ldo2_reg: ldo2 {
  141. regulator-name = "VDDAR_CORE";
  142. regulator-min-microvolt = <850000>;
  143. regulator-max-microvolt = <850000>;
  144. regulator-boot-on;
  145. regulator-always-on;
  146. };
  147. ldo3_reg: ldo3 {
  148. regulator-name = "VDDA_1V8";
  149. regulator-min-microvolt = <18000000>;
  150. regulator-max-microvolt = <18000000>;
  151. regulator-boot-on;
  152. regulator-always-on;
  153. };
  154. ldo4_reg: ldo4 {
  155. regulator-name = "VDD_PHY_2V5";
  156. regulator-min-microvolt = <25000000>;
  157. regulator-max-microvolt = <25000000>;
  158. regulator-boot-on;
  159. regulator-always-on;
  160. };
  161. };
  162. };
  163. };