maxim,max77686.yaml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Maxim MAX77686 Power Management IC
  7. maintainers:
  8. - Chanwoo Choi <cw00.choi@samsung.com>
  9. - Krzysztof Kozlowski <krzk@kernel.org>
  10. description: |
  11. This is a part of device tree bindings for Maxim MAX77686 Power Management
  12. Integrated Circuit (PMIC).
  13. The Maxim MAX77686 is a Power Management IC which includes voltage and
  14. current regulators, RTC and clock outputs.
  15. The MAX77686 provides three 32.768khz clock outputs that can be controlled
  16. (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros
  17. in dt-bindings/clock/maxim,max77686.h.
  18. properties:
  19. compatible:
  20. const: maxim,max77686
  21. '#clock-cells':
  22. const: 1
  23. interrupts:
  24. maxItems: 1
  25. reg:
  26. maxItems: 1
  27. voltage-regulators:
  28. $ref: /schemas/regulator/maxim,max77686.yaml
  29. description:
  30. List of child nodes that specify the regulators.
  31. wakeup-source: true
  32. required:
  33. - compatible
  34. - '#clock-cells'
  35. - reg
  36. additionalProperties: false
  37. examples:
  38. - |
  39. #include <dt-bindings/gpio/gpio.h>
  40. #include <dt-bindings/interrupt-controller/irq.h>
  41. i2c {
  42. #address-cells = <1>;
  43. #size-cells = <0>;
  44. max77686: pmic@9 {
  45. compatible = "maxim,max77686";
  46. reg = <0x09>;
  47. interrupt-parent = <&gpx0>;
  48. interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
  49. pinctrl-0 = <&max77686_irq>;
  50. pinctrl-names = "default";
  51. wakeup-source;
  52. #clock-cells = <1>;
  53. voltage-regulators {
  54. LDO1 {
  55. regulator-name = "VALIVE_1.0V_AP";
  56. regulator-min-microvolt = <1000000>;
  57. regulator-max-microvolt = <1000000>;
  58. regulator-always-on;
  59. };
  60. LDO2 {
  61. regulator-name = "VM1M2_1.2V_AP";
  62. regulator-min-microvolt = <1200000>;
  63. regulator-max-microvolt = <1200000>;
  64. regulator-always-on;
  65. regulator-state-mem {
  66. regulator-on-in-suspend;
  67. };
  68. };
  69. // ...
  70. LDO22 {
  71. regulator-name = "VMEM_VDD_2.8V";
  72. regulator-min-microvolt = <2800000>;
  73. regulator-max-microvolt = <2800000>;
  74. maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
  75. };
  76. // ...
  77. BUCK1 {
  78. regulator-name = "VDD_MIF";
  79. regulator-min-microvolt = <850000>;
  80. regulator-max-microvolt = <1100000>;
  81. regulator-always-on;
  82. regulator-boot-on;
  83. regulator-state-mem {
  84. regulator-off-in-suspend;
  85. };
  86. };
  87. BUCK2 {
  88. regulator-name = "VDD_ARM";
  89. regulator-min-microvolt = <850000>;
  90. regulator-max-microvolt = <1500000>;
  91. regulator-always-on;
  92. regulator-boot-on;
  93. regulator-state-mem {
  94. regulator-on-in-suspend;
  95. };
  96. };
  97. // ...
  98. BUCK9 {
  99. regulator-name = "CAM_ISP_CORE_1.2V";
  100. regulator-min-microvolt = <1000000>;
  101. regulator-max-microvolt = <1200000>;
  102. maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
  103. };
  104. };
  105. };
  106. };