s2mps11.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. * Samsung S2MPS11 Voltage and Current Regulator
  2. The Samsung S2MP211 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 a I2C interface. Each sub-block is
  5. addressed by the host system using different I2C slave address.
  6. Required properties:
  7. - compatible: Should be "samsung,s2mps11-pmic".
  8. - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
  9. Optional properties:
  10. - interrupt-parent: Specifies the phandle of the interrupt controller to which
  11. the interrupts from s2mps11 are delivered to.
  12. - interrupts: Interrupt specifiers for interrupt sources.
  13. Optional nodes:
  14. - clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to
  15. register these as clocks with common clock framework instantiate a sub-node
  16. named "clocks". It uses the common clock binding documented in :
  17. [Documentation/devicetree/bindings/clock/clock-bindings.txt]
  18. - #clock-cells: should be 1.
  19. - The following is the list of clocks generated by the controller. Each clock
  20. is assigned an identifier and client nodes use this identifier to specify
  21. the clock which they consume.
  22. Clock ID
  23. ----------------------
  24. 32KhzAP 0
  25. 32KhzCP 1
  26. 32KhzBT 2
  27. - regulators: The regulators of s2mps11 that have to be instantiated should be
  28. included in a sub-node named 'regulators'. Regulator nodes included in this
  29. sub-node should be of the format as listed below.
  30. regulator_name {
  31. [standard regulator constraints....];
  32. };
  33. regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
  34. BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
  35. regulator-ramp-delay = <0> can be used for them to disable ramp delay.
  36. In absence of regulator-ramp-delay property, default ramp delay will be used.
  37. NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
  38. for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
  39. Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
  40. BUCK[3, 4], and BUCK[7, 8, 10]
  41. The regulator constraints inside the regulator nodes use the standard regulator
  42. bindings which are documented elsewhere.
  43. The following are the names of the regulators that the s2mps11 pmic block
  44. supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
  45. as per the datasheet of s2mps11.
  46. - LDOn
  47. - valid values for n are 1 to 28
  48. - Example: LDO0, LD01, LDO28
  49. - BUCKn
  50. - valid values for n are 1 to 9.
  51. - Example: BUCK1, BUCK2, BUCK9
  52. Example:
  53. s2mps11_pmic@66 {
  54. compatible = "samsung,s2mps11-pmic";
  55. reg = <0x66>;
  56. s2m_osc: clocks{
  57. #clock-cells = 1;
  58. clock-output-names = "xx", "yy", "zz";
  59. };
  60. regulators {
  61. ldo1_reg: LDO1 {
  62. regulator-name = "VDD_ABB_3.3V";
  63. regulator-min-microvolt = <3300000>;
  64. regulator-max-microvolt = <3300000>;
  65. };
  66. ldo2_reg: LDO2 {
  67. regulator-name = "VDD_ALIVE_1.1V";
  68. regulator-min-microvolt = <1100000>;
  69. regulator-max-microvolt = <1100000>;
  70. regulator-always-on;
  71. };
  72. buck1_reg: BUCK1 {
  73. regulator-name = "vdd_mif";
  74. regulator-min-microvolt = <950000>;
  75. regulator-max-microvolt = <1350000>;
  76. regulator-always-on;
  77. regulator-boot-on;
  78. };
  79. buck2_reg: BUCK2 {
  80. regulator-name = "vdd_arm";
  81. regulator-min-microvolt = <950000>;
  82. regulator-max-microvolt = <1350000>;
  83. regulator-always-on;
  84. regulator-boot-on;
  85. regulator-ramp-delay = <50000>;
  86. };
  87. };
  88. };