pfuze100.txt 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. PFUZE100 family of regulators
  2. Required properties:
  3. - compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001"
  4. - reg: I2C slave address
  5. Optional properties:
  6. - fsl,pfuze-support-disable-sw: Boolean, if present disable all unused switch
  7. regulators to save power consumption. Attention, ensure that all important
  8. regulators (e.g. DDR ref, DDR supply) has set the "regulator-always-on"
  9. property. If not present, the switched regualtors are always on and can't be
  10. disabled. This binding is a workaround to keep backward compatibility with
  11. old dtb's which rely on the fact that the switched regulators are always on
  12. and don't mark them explicit as "regulator-always-on".
  13. Required child node:
  14. - regulators: This is the list of child nodes that specify the regulator
  15. initialization data for defined regulators. Please refer to below doc
  16. Documentation/devicetree/bindings/regulator/regulator.txt.
  17. The valid names for regulators are:
  18. --PFUZE100
  19. sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
  20. --PFUZE200
  21. sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin
  22. --PFUZE3000
  23. sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
  24. --PFUZE3001
  25. sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4
  26. Each regulator is defined using the standard binding for regulators.
  27. Example 1: PFUZE100
  28. pfuze100: pmic@8 {
  29. compatible = "fsl,pfuze100";
  30. reg = <0x08>;
  31. regulators {
  32. sw1a_reg: sw1ab {
  33. regulator-min-microvolt = <300000>;
  34. regulator-max-microvolt = <1875000>;
  35. regulator-boot-on;
  36. regulator-always-on;
  37. regulator-ramp-delay = <6250>;
  38. };
  39. sw1c_reg: sw1c {
  40. regulator-min-microvolt = <300000>;
  41. regulator-max-microvolt = <1875000>;
  42. regulator-boot-on;
  43. regulator-always-on;
  44. };
  45. sw2_reg: sw2 {
  46. regulator-min-microvolt = <800000>;
  47. regulator-max-microvolt = <3300000>;
  48. regulator-boot-on;
  49. regulator-always-on;
  50. };
  51. sw3a_reg: sw3a {
  52. regulator-min-microvolt = <400000>;
  53. regulator-max-microvolt = <1975000>;
  54. regulator-boot-on;
  55. regulator-always-on;
  56. };
  57. sw3b_reg: sw3b {
  58. regulator-min-microvolt = <400000>;
  59. regulator-max-microvolt = <1975000>;
  60. regulator-boot-on;
  61. regulator-always-on;
  62. };
  63. sw4_reg: sw4 {
  64. regulator-min-microvolt = <800000>;
  65. regulator-max-microvolt = <3300000>;
  66. };
  67. swbst_reg: swbst {
  68. regulator-min-microvolt = <5000000>;
  69. regulator-max-microvolt = <5150000>;
  70. };
  71. snvs_reg: vsnvs {
  72. regulator-min-microvolt = <1000000>;
  73. regulator-max-microvolt = <3000000>;
  74. regulator-boot-on;
  75. regulator-always-on;
  76. };
  77. vref_reg: vrefddr {
  78. regulator-boot-on;
  79. regulator-always-on;
  80. };
  81. vgen1_reg: vgen1 {
  82. regulator-min-microvolt = <800000>;
  83. regulator-max-microvolt = <1550000>;
  84. };
  85. vgen2_reg: vgen2 {
  86. regulator-min-microvolt = <800000>;
  87. regulator-max-microvolt = <1550000>;
  88. };
  89. vgen3_reg: vgen3 {
  90. regulator-min-microvolt = <1800000>;
  91. regulator-max-microvolt = <3300000>;
  92. };
  93. vgen4_reg: vgen4 {
  94. regulator-min-microvolt = <1800000>;
  95. regulator-max-microvolt = <3300000>;
  96. regulator-always-on;
  97. };
  98. vgen5_reg: vgen5 {
  99. regulator-min-microvolt = <1800000>;
  100. regulator-max-microvolt = <3300000>;
  101. regulator-always-on;
  102. };
  103. vgen6_reg: vgen6 {
  104. regulator-min-microvolt = <1800000>;
  105. regulator-max-microvolt = <3300000>;
  106. regulator-always-on;
  107. };
  108. };
  109. };
  110. Example 2: PFUZE200
  111. pfuze200: pmic@8 {
  112. compatible = "fsl,pfuze200";
  113. reg = <0x08>;
  114. regulators {
  115. sw1a_reg: sw1ab {
  116. regulator-min-microvolt = <300000>;
  117. regulator-max-microvolt = <1875000>;
  118. regulator-boot-on;
  119. regulator-always-on;
  120. regulator-ramp-delay = <6250>;
  121. };
  122. sw2_reg: sw2 {
  123. regulator-min-microvolt = <800000>;
  124. regulator-max-microvolt = <3300000>;
  125. regulator-boot-on;
  126. regulator-always-on;
  127. };
  128. sw3a_reg: sw3a {
  129. regulator-min-microvolt = <400000>;
  130. regulator-max-microvolt = <1975000>;
  131. regulator-boot-on;
  132. regulator-always-on;
  133. };
  134. sw3b_reg: sw3b {
  135. regulator-min-microvolt = <400000>;
  136. regulator-max-microvolt = <1975000>;
  137. regulator-boot-on;
  138. regulator-always-on;
  139. };
  140. swbst_reg: swbst {
  141. regulator-min-microvolt = <5000000>;
  142. regulator-max-microvolt = <5150000>;
  143. };
  144. snvs_reg: vsnvs {
  145. regulator-min-microvolt = <1000000>;
  146. regulator-max-microvolt = <3000000>;
  147. regulator-boot-on;
  148. regulator-always-on;
  149. };
  150. vref_reg: vrefddr {
  151. regulator-boot-on;
  152. regulator-always-on;
  153. };
  154. vgen1_reg: vgen1 {
  155. regulator-min-microvolt = <800000>;
  156. regulator-max-microvolt = <1550000>;
  157. };
  158. vgen2_reg: vgen2 {
  159. regulator-min-microvolt = <800000>;
  160. regulator-max-microvolt = <1550000>;
  161. };
  162. vgen3_reg: vgen3 {
  163. regulator-min-microvolt = <1800000>;
  164. regulator-max-microvolt = <3300000>;
  165. };
  166. vgen4_reg: vgen4 {
  167. regulator-min-microvolt = <1800000>;
  168. regulator-max-microvolt = <3300000>;
  169. regulator-always-on;
  170. };
  171. vgen5_reg: vgen5 {
  172. regulator-min-microvolt = <1800000>;
  173. regulator-max-microvolt = <3300000>;
  174. regulator-always-on;
  175. };
  176. vgen6_reg: vgen6 {
  177. regulator-min-microvolt = <1800000>;
  178. regulator-max-microvolt = <3300000>;
  179. regulator-always-on;
  180. };
  181. coin_reg: coin {
  182. regulator-min-microvolt = <2500000>;
  183. regulator-max-microvolt = <3300000>;
  184. regulator-always-on;
  185. };
  186. };
  187. };
  188. Example 3: PFUZE3000
  189. pfuze3000: pmic@8 {
  190. compatible = "fsl,pfuze3000";
  191. reg = <0x08>;
  192. regulators {
  193. sw1a_reg: sw1a {
  194. regulator-min-microvolt = <700000>;
  195. regulator-max-microvolt = <1475000>;
  196. regulator-boot-on;
  197. regulator-always-on;
  198. regulator-ramp-delay = <6250>;
  199. };
  200. /* use sw1c_reg to align with pfuze100/pfuze200 */
  201. sw1c_reg: sw1b {
  202. regulator-min-microvolt = <700000>;
  203. regulator-max-microvolt = <1475000>;
  204. regulator-boot-on;
  205. regulator-always-on;
  206. regulator-ramp-delay = <6250>;
  207. };
  208. sw2_reg: sw2 {
  209. regulator-min-microvolt = <2500000>;
  210. regulator-max-microvolt = <3300000>;
  211. regulator-boot-on;
  212. regulator-always-on;
  213. };
  214. sw3a_reg: sw3 {
  215. regulator-min-microvolt = <900000>;
  216. regulator-max-microvolt = <1650000>;
  217. regulator-boot-on;
  218. regulator-always-on;
  219. };
  220. swbst_reg: swbst {
  221. regulator-min-microvolt = <5000000>;
  222. regulator-max-microvolt = <5150000>;
  223. };
  224. snvs_reg: vsnvs {
  225. regulator-min-microvolt = <1000000>;
  226. regulator-max-microvolt = <3000000>;
  227. regulator-boot-on;
  228. regulator-always-on;
  229. };
  230. vref_reg: vrefddr {
  231. regulator-boot-on;
  232. regulator-always-on;
  233. };
  234. vgen1_reg: vldo1 {
  235. regulator-min-microvolt = <1800000>;
  236. regulator-max-microvolt = <3300000>;
  237. regulator-always-on;
  238. };
  239. vgen2_reg: vldo2 {
  240. regulator-min-microvolt = <800000>;
  241. regulator-max-microvolt = <1550000>;
  242. };
  243. vgen3_reg: vccsd {
  244. regulator-min-microvolt = <2850000>;
  245. regulator-max-microvolt = <3300000>;
  246. regulator-always-on;
  247. };
  248. vgen4_reg: v33 {
  249. regulator-min-microvolt = <2850000>;
  250. regulator-max-microvolt = <3300000>;
  251. };
  252. vgen5_reg: vldo3 {
  253. regulator-min-microvolt = <1800000>;
  254. regulator-max-microvolt = <3300000>;
  255. regulator-always-on;
  256. };
  257. vgen6_reg: vldo4 {
  258. regulator-min-microvolt = <1800000>;
  259. regulator-max-microvolt = <3300000>;
  260. regulator-always-on;
  261. };
  262. };
  263. };
  264. Example 4: PFUZE 3001
  265. pfuze3001: pmic@8 {
  266. compatible = "fsl,pfuze3001";
  267. reg = <0x08>;
  268. regulators {
  269. sw1_reg: sw1 {
  270. regulator-min-microvolt = <700000>;
  271. regulator-max-microvolt = <3300000>;
  272. regulator-boot-on;
  273. regulator-always-on;
  274. };
  275. sw2_reg: sw2 {
  276. regulator-min-microvolt = <1500000>;
  277. regulator-max-microvolt = <3300000>;
  278. regulator-boot-on;
  279. regulator-always-on;
  280. };
  281. sw3_reg: sw3 {
  282. regulator-min-microvolt = <900000>;
  283. regulator-max-microvolt = <1650000>;
  284. regulator-boot-on;
  285. regulator-always-on;
  286. };
  287. snvs_reg: vsnvs {
  288. regulator-min-microvolt = <1000000>;
  289. regulator-max-microvolt = <3000000>;
  290. regulator-boot-on;
  291. regulator-always-on;
  292. };
  293. vgen1_reg: vldo1 {
  294. regulator-min-microvolt = <1800000>;
  295. regulator-max-microvolt = <3300000>;
  296. regulator-always-on;
  297. };
  298. vgen2_reg: vldo2 {
  299. regulator-min-microvolt = <800000>;
  300. regulator-max-microvolt = <1550000>;
  301. regulator-always-on;
  302. };
  303. vgen3_reg: vccsd {
  304. regulator-min-microvolt = <2850000>;
  305. regulator-max-microvolt = <3300000>;
  306. regulator-always-on;
  307. };
  308. vgen4_reg: v33 {
  309. regulator-min-microvolt = <2850000>;
  310. regulator-max-microvolt = <3300000>;
  311. regulator-always-on;
  312. };
  313. vgen5_reg: vldo3 {
  314. regulator-min-microvolt = <1800000>;
  315. regulator-max-microvolt = <3300000>;
  316. regulator-always-on;
  317. };
  318. vgen6_reg: vldo4 {
  319. regulator-min-microvolt = <1800000>;
  320. regulator-max-microvolt = <3300000>;
  321. regulator-always-on;
  322. };
  323. };
  324. };