ti,tps65219.yaml 5.0 KB

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