rohm,bd71815-pmic.yaml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: ROHM BD71815 Power Management Integrated Circuit
  7. maintainers:
  8. - Matti Vaittinen <mazziesaccount@gmail.com>
  9. description: |
  10. BD71815AGW is a single-chip power management ICs for battery-powered
  11. portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver
  12. for LED and a 500 mA single-cell linear charger. Also included is a Coulomb
  13. counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs.
  14. properties:
  15. compatible:
  16. const: rohm,bd71815
  17. reg:
  18. description:
  19. I2C slave address.
  20. maxItems: 1
  21. interrupts:
  22. maxItems: 1
  23. gpio-controller: true
  24. "#gpio-cells":
  25. const: 2
  26. description: |
  27. The first cell is the pin number and the second cell is used to specify
  28. flags. See ../gpio/gpio.txt for more information.
  29. clocks:
  30. maxItems: 1
  31. "#clock-cells":
  32. const: 0
  33. clock-output-names:
  34. const: bd71815-32k-out
  35. rohm,clkout-open-drain:
  36. description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
  37. $ref: /schemas/types.yaml#/definitions/uint32
  38. minimum: 0
  39. maximum: 1
  40. rohm,charger-sense-resistor-micro-ohms:
  41. minimum: 10000
  42. maximum: 50000
  43. description: |
  44. BD71815 has SAR ADC for measuring charging currents. External sense
  45. resistor (RSENSE in data sheet) should be used. If something other
  46. but a 30 mOhm resistor is used the resistance value should be given
  47. here in micro Ohms.
  48. default: 30000
  49. regulators:
  50. $ref: /schemas/regulator/rohm,bd71815-regulator.yaml
  51. description:
  52. List of child nodes that specify the regulators.
  53. gpio-reserved-ranges:
  54. description: |
  55. Usage of BD71815 GPIO pins can be changed via OTP. This property can be
  56. used to mark the pins which should not be configured for GPIO. Please see
  57. the ../gpio/gpio.txt for more information.
  58. rohm,enable-hidden-gpo:
  59. description: |
  60. The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the
  61. data-sheet as its location in the middle of GND pins makes it hard to
  62. use on PCB. If your board has managed to use this pin you can enable the
  63. second GPO by defining this property. Dont enable this if you are unsure
  64. about how the E5 pin is connected on your board.
  65. type: boolean
  66. required:
  67. - compatible
  68. - reg
  69. - interrupts
  70. - clocks
  71. - "#clock-cells"
  72. - regulators
  73. - gpio-controller
  74. - "#gpio-cells"
  75. additionalProperties: false
  76. examples:
  77. - |
  78. #include <dt-bindings/interrupt-controller/irq.h>
  79. #include <dt-bindings/leds/common.h>
  80. i2c {
  81. #address-cells = <1>;
  82. #size-cells = <0>;
  83. pmic: pmic@4b {
  84. compatible = "rohm,bd71815";
  85. reg = <0x4b>;
  86. interrupt-parent = <&gpio1>;
  87. interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
  88. clocks = <&osc 0>;
  89. #clock-cells = <0>;
  90. clock-output-names = "bd71815-32k-out";
  91. gpio-controller;
  92. #gpio-cells = <2>;
  93. rohm,charger-sense-resistor-micro-ohms = <10000>;
  94. regulators {
  95. buck1: buck1 {
  96. regulator-name = "buck1";
  97. regulator-min-microvolt = <800000>;
  98. regulator-max-microvolt = <2000000>;
  99. regulator-always-on;
  100. regulator-ramp-delay = <1250>;
  101. rohm,dvs-run-voltage = <1150000>;
  102. rohm,dvs-suspend-voltage = <950000>;
  103. };
  104. buck2: buck2 {
  105. regulator-name = "buck2";
  106. regulator-min-microvolt = <800000>;
  107. regulator-max-microvolt = <2000000>;
  108. regulator-always-on;
  109. regulator-ramp-delay = <1250>;
  110. rohm,dvs-run-voltage = <1150000>;
  111. rohm,dvs-suspend-voltage = <950000>;
  112. };
  113. buck3: buck3 {
  114. regulator-name = "buck3";
  115. regulator-min-microvolt = <1200000>;
  116. regulator-max-microvolt = <2700000>;
  117. regulator-always-on;
  118. };
  119. buck4: buck4 {
  120. regulator-name = "buck4";
  121. regulator-min-microvolt = <1100000>;
  122. regulator-max-microvolt = <1850000>;
  123. regulator-always-on;
  124. };
  125. buck5: buck5 {
  126. regulator-name = "buck5";
  127. regulator-min-microvolt = <1800000>;
  128. regulator-max-microvolt = <3300000>;
  129. regulator-always-on;
  130. };
  131. ldo1: ldo1 {
  132. regulator-name = "ldo1";
  133. regulator-min-microvolt = <800000>;
  134. regulator-max-microvolt = <3300000>;
  135. regulator-always-on;
  136. };
  137. ldo2: ldo2 {
  138. regulator-name = "ldo2";
  139. regulator-min-microvolt = <800000>;
  140. regulator-max-microvolt = <3300000>;
  141. regulator-always-on;
  142. };
  143. ldo3: ldo3 {
  144. regulator-name = "ldo3";
  145. regulator-min-microvolt = <800000>;
  146. regulator-max-microvolt = <3300000>;
  147. regulator-always-on;
  148. };
  149. ldo4: ldo4 {
  150. regulator-name = "ldo4";
  151. regulator-min-microvolt = <800000>;
  152. regulator-max-microvolt = <3300000>;
  153. regulator-always-on;
  154. };
  155. ldo5: ldo5 {
  156. regulator-name = "ldo5";
  157. regulator-min-microvolt = <800000>;
  158. regulator-max-microvolt = <3300000>;
  159. regulator-always-on;
  160. };
  161. ldo6: ldodvref {
  162. regulator-name = "ldodvref";
  163. regulator-always-on;
  164. };
  165. ldo7: ldolpsr {
  166. regulator-name = "ldolpsr";
  167. regulator-always-on;
  168. };
  169. boost: wled {
  170. regulator-name = "wled";
  171. regulator-min-microamp = <10>;
  172. regulator-max-microamp = <25000>;
  173. };
  174. };
  175. };
  176. };