richtek,rt5120.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/richtek,rt5120.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Richtek RT5120 PMIC
  7. maintainers:
  8. - ChiYuan Huang <cy_huang@richtek.com>
  9. description: |
  10. The RT5120 provides four high-efficiency buck converters and one LDO voltage
  11. regulator. The device is targeted at providingthe processor voltage, memory,
  12. I/O, and peripheral rails in home entertainment devices. The I2C interface is
  13. used for dynamic voltage scaling of the processor voltage, power rails on/off
  14. sequence control, operation mode selection.
  15. properties:
  16. compatible:
  17. enum:
  18. - richtek,rt5120
  19. reg:
  20. maxItems: 1
  21. interrupts:
  22. maxItems: 1
  23. interrupt-controller: true
  24. "#interrupt-cells":
  25. const: 1
  26. wakeup-source: true
  27. richtek,enable-undervolt-hiccup:
  28. type: boolean
  29. description: |
  30. If used, under voltage protection trigger hiccup behavior, else latchup as
  31. default
  32. richtek,enable-overvolt-hiccup:
  33. type: boolean
  34. description:
  35. Like as 'enable-uv-hiccup', it configures over voltage protection to
  36. hiccup, else latchup as default
  37. vin1-supply:
  38. description: phandle for buck1 input power source
  39. vin2-supply:
  40. description: phandle for buck2 input power source
  41. vin3-supply:
  42. description: phandle for buck3 input power source
  43. vin4-supply:
  44. description: phandle for buck4 input power source
  45. vinldo-supply:
  46. description: phandle for ldo input power source
  47. regulators:
  48. type: object
  49. patternProperties:
  50. "^buck[1-4]$":
  51. type: object
  52. $ref: /schemas/regulator/regulator.yaml#
  53. unevaluatedProperties: false
  54. properties:
  55. regulator-allowed-modes:
  56. description: |
  57. Used to specify the allowed buck converter operating mode
  58. mode mapping:
  59. 0: auto mode
  60. 1: force pwm mode
  61. items:
  62. enum: [0, 1]
  63. "^(ldo|exten)$":
  64. type: object
  65. $ref: /schemas/regulator/regulator.yaml#
  66. unevaluatedProperties: false
  67. additionalProperties: false
  68. powerkey:
  69. type: object
  70. description:
  71. PON key that connected to RT5120 PMIC.
  72. properties:
  73. compatible:
  74. enum:
  75. - richtek,rt5120-pwrkey
  76. required:
  77. - compatible
  78. additionalProperties: false
  79. required:
  80. - compatible
  81. - reg
  82. - interrupts
  83. - '#interrupt-cells'
  84. - interrupt-controller
  85. - regulators
  86. - powerkey
  87. additionalProperties: false
  88. examples:
  89. - |
  90. #include <dt-bindings/interrupt-controller/irq.h>
  91. i2c {
  92. #address-cells = <1>;
  93. #size-cells = <0>;
  94. pmic@62 {
  95. compatible = "richtek,rt5120";
  96. reg = <0x62>;
  97. interrupts-extended = <&gpio_intc 32 IRQ_TYPE_LEVEL_LOW>;
  98. interrupt-controller;
  99. #interrupt-cells = <1>;
  100. wakeup-source;
  101. regulators {
  102. buck1 {
  103. regulator-name = "rt5120-buck1";
  104. regulator-min-microvolt = <600000>;
  105. regulator-max-microvolt = <1393750>;
  106. regulator-allowed-modes = <0 1>;
  107. regulator-boot-on;
  108. };
  109. buck2 {
  110. regulator-name = "rt5120-buck2";
  111. regulator-min-microvolt = <1100000>;
  112. regulator-max-microvolt = <1100000>;
  113. regulator-allowed-modes = <0 1>;
  114. regulator-always-on;
  115. };
  116. buck3 {
  117. regulator-name = "rt5120-buck3";
  118. regulator-min-microvolt = <1800000>;
  119. regulator-max-microvolt = <1800000>;
  120. regulator-allowed-modes = <0 1>;
  121. regulator-always-on;
  122. };
  123. buck4 {
  124. regulator-name = "rt5120-buck4";
  125. regulator-min-microvolt = <3300000>;
  126. regulator-max-microvolt = <3300000>;
  127. regulator-allowed-modes = <0 1>;
  128. regulator-always-on;
  129. };
  130. ldo {
  131. regulator-name = "rt5120-ldo";
  132. regulator-min-microvolt = <1800000>;
  133. regulator-max-microvolt = <1800000>;
  134. regulator-always-on;
  135. };
  136. exten {
  137. regulator-name = "rt5120-exten";
  138. regulator-min-microvolt = <3000000>;
  139. regulator-max-microvolt = <3000000>;
  140. regulator-always-on;
  141. };
  142. };
  143. powerkey {
  144. compatible = "richtek,rt5120-pwrkey";
  145. };
  146. };
  147. };