s2mps11.txt 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. * Samsung S2MPS11/13/14/15 and S2MPU02 Voltage and Current Regulator
  2. The Samsung S2MPS11 is a multi-function device which includes voltage and
  3. current regulators, RTC, charger controller and other sub-blocks. It is
  4. interfaced to the host controller using an I2C interface. Each sub-block is
  5. addressed by the host system using different I2C slave addresses.
  6. Required properties:
  7. - compatible: Should be one of the following
  8. - "samsung,s2mps11-pmic"
  9. - "samsung,s2mps13-pmic"
  10. - "samsung,s2mps14-pmic"
  11. - "samsung,s2mps15-pmic"
  12. - "samsung,s2mpu02-pmic".
  13. - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
  14. Optional properties:
  15. - interrupt-parent: Specifies the phandle of the interrupt controller to which
  16. the interrupts from s2mps11 are delivered to.
  17. - interrupts: Interrupt specifiers for interrupt sources.
  18. - samsung,s2mps11-wrstbi-ground: Indicates that WRSTBI pin of PMIC is pulled
  19. down. When the system is suspended it will always go down thus triggerring
  20. unwanted buck warm reset (setting buck voltages to default values).
  21. - samsung,s2mps11-acokb-ground: Indicates that ACOKB pin of S2MPS11 PMIC is
  22. connected to the ground so the PMIC must manually set PWRHOLD bit in CTRL1
  23. register to turn off the power. Usually the ACOKB is pulled up to VBATT so
  24. when PWRHOLD pin goes low, the rising ACOKB will trigger power off.
  25. Optional nodes:
  26. - clocks: s2mps11, s2mps13, s2mps15 and s5m8767 provide three(AP/CP/BT) buffered 32.768
  27. KHz outputs, so to register these as clocks with common clock framework
  28. instantiate a sub-node named "clocks". It uses the common clock binding
  29. documented in :
  30. [Documentation/devicetree/bindings/clock/clock-bindings.txt]
  31. The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
  32. - #clock-cells: should be 1.
  33. - The following is the list of clocks generated by the controller. Each clock
  34. is assigned an identifier and client nodes use this identifier to specify
  35. the clock which they consume.
  36. Clock ID Devices
  37. ----------------------------------------------------------
  38. 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S2MPS15, S5M8767
  39. 32KhzCP 1 S2MPS11, S2MPS13, S2MPS15, S5M8767
  40. 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S2MPS15, S5M8767
  41. - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk",
  42. "samsung,s2mps14-clk", "samsung,s5m8767-clk"
  43. The s2msp15 uses the same compatible as s2mps13, as both provides similar clocks.
  44. - regulators: The regulators of s2mps11 that have to be instantiated should be
  45. included in a sub-node named 'regulators'. Regulator nodes included in this
  46. sub-node should be of the format as listed below.
  47. regulator_name {
  48. [standard regulator constraints....];
  49. };
  50. regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
  51. BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explicitly
  52. regulator-ramp-delay = <0> can be used for them to disable ramp delay.
  53. In the absence of the regulator-ramp-delay property, the default ramp
  54. delay will be used.
  55. NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
  56. for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
  57. Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
  58. BUCK[3, 4], and BUCK[7, 8, 10]
  59. On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control
  60. over GPIO. To turn this feature on this property must be added to the regulator
  61. sub-node:
  62. - samsung,ext-control-gpios: GPIO specifier for one GPIO
  63. controlling this regulator (enable/disable);
  64. Example:
  65. LDO12 {
  66. regulator-name = "V_EMMC_2.8V";
  67. regulator-min-microvolt = <2800000>;
  68. regulator-max-microvolt = <2800000>;
  69. samsung,ext-control-gpios = <&gpk0 2 0>;
  70. };
  71. The regulator constraints inside the regulator nodes use the standard regulator
  72. bindings which are documented elsewhere.
  73. The following are the names of the regulators that the s2mps11 pmic block
  74. supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
  75. as per the datasheet of s2mps11.
  76. - LDOn
  77. - valid values for n are:
  78. - S2MPS11: 1 to 38
  79. - S2MPS13: 1 to 40
  80. - S2MPS14: 1 to 25
  81. - S2MPS15: 1 to 27
  82. - S2MPU02: 1 to 28
  83. - Example: LDO1, LDO2, LDO28
  84. - BUCKn
  85. - valid values for n are:
  86. - S2MPS11: 1 to 10
  87. - S2MPS13: 1 to 10
  88. - S2MPS14: 1 to 5
  89. - S2MPS15: 1 to 10
  90. - S2MPU02: 1 to 7
  91. - Example: BUCK1, BUCK2, BUCK9
  92. Example:
  93. s2mps11_pmic@66 {
  94. compatible = "samsung,s2mps11-pmic";
  95. reg = <0x66>;
  96. s2m_osc: clocks {
  97. compatible = "samsung,s2mps11-clk";
  98. #clock-cells = <1>;
  99. clock-output-names = "xx", "yy", "zz";
  100. };
  101. regulators {
  102. ldo1_reg: LDO1 {
  103. regulator-name = "VDD_ABB_3.3V";
  104. regulator-min-microvolt = <3300000>;
  105. regulator-max-microvolt = <3300000>;
  106. };
  107. ldo2_reg: LDO2 {
  108. regulator-name = "VDD_ALIVE_1.1V";
  109. regulator-min-microvolt = <1100000>;
  110. regulator-max-microvolt = <1100000>;
  111. regulator-always-on;
  112. };
  113. buck1_reg: BUCK1 {
  114. regulator-name = "vdd_mif";
  115. regulator-min-microvolt = <950000>;
  116. regulator-max-microvolt = <1350000>;
  117. regulator-always-on;
  118. regulator-boot-on;
  119. };
  120. buck2_reg: BUCK2 {
  121. regulator-name = "vdd_arm";
  122. regulator-min-microvolt = <950000>;
  123. regulator-max-microvolt = <1350000>;
  124. regulator-always-on;
  125. regulator-boot-on;
  126. regulator-ramp-delay = <50000>;
  127. };
  128. };
  129. };