stm32mp157c-ed1.dts 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
  2. /*
  3. * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
  4. * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
  5. */
  6. /dts-v1/;
  7. #include "stm32mp157c.dtsi"
  8. #include "stm32mp157-pinctrl.dtsi"
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/mfd/st,stpmu1.h>
  11. / {
  12. model = "STMicroelectronics STM32MP157C eval daughter";
  13. compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
  14. chosen {
  15. stdout-path = "serial3:115200n8";
  16. };
  17. memory@c0000000 {
  18. reg = <0xC0000000 0x40000000>;
  19. };
  20. sd_switch: regulator-sd_switch {
  21. compatible = "regulator-gpio";
  22. regulator-name = "sd_switch";
  23. regulator-min-microvolt = <1800000>;
  24. regulator-max-microvolt = <2900000>;
  25. regulator-type = "voltage";
  26. regulator-always-on;
  27. gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
  28. gpios-states = <0>;
  29. states = <1800000 0x1 2900000 0x0>;
  30. };
  31. };
  32. &rng1 {
  33. status = "okay";
  34. };
  35. &timers6 {
  36. status = "okay";
  37. timer@5 {
  38. status = "okay";
  39. };
  40. };
  41. &i2c4 {
  42. pinctrl-names = "default";
  43. pinctrl-0 = <&i2c4_pins_a>;
  44. i2c-scl-rising-time-ns = <185>;
  45. i2c-scl-falling-time-ns = <20>;
  46. status = "okay";
  47. pmic: stpmu1@33 {
  48. compatible = "st,stpmu1";
  49. reg = <0x33>;
  50. interrupts = <0 2>;
  51. interrupt-parent = <&gpioa>;
  52. interrupt-controller;
  53. #interrupt-cells = <2>;
  54. status = "okay";
  55. st,main_control_register = <0x04>;
  56. st,vin_control_register = <0xc0>;
  57. st,usb_control_register = <0x30>;
  58. regulators {
  59. compatible = "st,stpmu1-regulators";
  60. ldo1-supply = <&v3v3>;
  61. ldo2-supply = <&v3v3>;
  62. ldo3-supply = <&vdd_ddr>;
  63. ldo5-supply = <&v3v3>;
  64. ldo6-supply = <&v3v3>;
  65. pwr_sw1-supply = <&bst_out>;
  66. pwr_sw2-supply = <&bst_out>;
  67. vddcore: buck1 {
  68. regulator-name = "vddcore";
  69. regulator-min-microvolt = <800000>;
  70. regulator-max-microvolt = <1350000>;
  71. regulator-always-on;
  72. regulator-initial-mode = <2>;
  73. regulator-over-current-protection;
  74. regulator-state-standby {
  75. regulator-on-in-suspend;
  76. regulator-suspend-microvolt = <1200000>;
  77. regulator-mode = <8>;
  78. };
  79. regulator-state-mem {
  80. regulator-off-in-suspend;
  81. };
  82. regulator-state-disk {
  83. regulator-off-in-suspend;
  84. };
  85. };
  86. vdd_ddr: buck2 {
  87. regulator-name = "vdd_ddr";
  88. regulator-min-microvolt = <1350000>;
  89. regulator-max-microvolt = <1350000>;
  90. regulator-always-on;
  91. regulator-initial-mode = <2>;
  92. regulator-over-current-protection;
  93. regulator-state-standby {
  94. regulator-suspend-microvolt = <1350000>;
  95. regulator-on-in-suspend;
  96. regulator-mode = <8>;
  97. };
  98. regulator-state-mem {
  99. regulator-suspend-microvolt = <1350000>;
  100. regulator-on-in-suspend;
  101. regulator-mode = <8>;
  102. };
  103. regulator-state-disk {
  104. regulator-off-in-suspend;
  105. };
  106. };
  107. vdd: buck3 {
  108. regulator-name = "vdd";
  109. regulator-min-microvolt = <3300000>;
  110. regulator-max-microvolt = <3300000>;
  111. regulator-always-on;
  112. st,mask_reset;
  113. regulator-initial-mode = <8>;
  114. regulator-over-current-protection;
  115. regulator-state-standby {
  116. regulator-suspend-microvolt = <3300000>;
  117. regulator-on-in-suspend;
  118. regulator-mode = <8>;
  119. };
  120. regulator-state-mem {
  121. regulator-suspend-microvolt = <3300000>;
  122. regulator-on-in-suspend;
  123. regulator-mode = <8>;
  124. };
  125. regulator-state-disk {
  126. regulator-suspend-microvolt = <3300000>;
  127. regulator-on-in-suspend;
  128. regulator-mode = <8>;
  129. };
  130. };
  131. v3v3: buck4 {
  132. regulator-name = "v3v3";
  133. regulator-min-microvolt = <3300000>;
  134. regulator-max-microvolt = <3300000>;
  135. regulator-boot-on;
  136. regulator-over-current-protection;
  137. regulator-initial-mode = <8>;
  138. regulator-state-standby {
  139. regulator-suspend-microvolt = <3300000>;
  140. regulator-unchanged-in-suspend;
  141. regulator-mode = <8>;
  142. };
  143. regulator-state-mem {
  144. regulator-off-in-suspend;
  145. };
  146. regulator-state-disk {
  147. regulator-off-in-suspend;
  148. };
  149. };
  150. vdda: ldo1 {
  151. regulator-name = "vdda";
  152. regulator-min-microvolt = <2900000>;
  153. regulator-max-microvolt = <2900000>;
  154. interrupts = <IT_CURLIM_LDO1 0>;
  155. interrupt-parent = <&pmic>;
  156. regulator-state-standby {
  157. regulator-suspend-microvolt = <2900000>;
  158. regulator-unchanged-in-suspend;
  159. };
  160. regulator-state-mem {
  161. regulator-off-in-suspend;
  162. };
  163. regulator-state-disk {
  164. regulator-off-in-suspend;
  165. };
  166. };
  167. v2v8: ldo2 {
  168. regulator-name = "v2v8";
  169. regulator-min-microvolt = <2800000>;
  170. regulator-max-microvolt = <2800000>;
  171. interrupts = <IT_CURLIM_LDO2 0>;
  172. interrupt-parent = <&pmic>;
  173. regulator-state-standby {
  174. regulator-suspend-microvolt = <2800000>;
  175. regulator-unchanged-in-suspend;
  176. };
  177. regulator-state-mem {
  178. regulator-off-in-suspend;
  179. };
  180. regulator-state-disk {
  181. regulator-off-in-suspend;
  182. };
  183. };
  184. vtt_ddr: ldo3 {
  185. regulator-name = "vtt_ddr";
  186. regulator-min-microvolt = <0000000>;
  187. regulator-max-microvolt = <1000000>;
  188. regulator-always-on;
  189. regulator-over-current-protection;
  190. regulator-state-standby {
  191. regulator-off-in-suspend;
  192. };
  193. regulator-state-mem {
  194. regulator-off-in-suspend;
  195. };
  196. regulator-state-disk {
  197. regulator-off-in-suspend;
  198. };
  199. };
  200. vdd_usb: ldo4 {
  201. regulator-name = "vdd_usb";
  202. regulator-min-microvolt = <3300000>;
  203. regulator-max-microvolt = <3300000>;
  204. interrupts = <IT_CURLIM_LDO4 0>;
  205. interrupt-parent = <&pmic>;
  206. regulator-state-standby {
  207. regulator-unchanged-in-suspend;
  208. };
  209. regulator-state-mem {
  210. regulator-off-in-suspend;
  211. };
  212. regulator-state-disk {
  213. regulator-off-in-suspend;
  214. };
  215. };
  216. vdd_sd: ldo5 {
  217. regulator-name = "vdd_sd";
  218. regulator-min-microvolt = <2900000>;
  219. regulator-max-microvolt = <2900000>;
  220. interrupts = <IT_CURLIM_LDO5 0>;
  221. interrupt-parent = <&pmic>;
  222. regulator-boot-on;
  223. regulator-state-standby {
  224. regulator-suspend-microvolt = <2900000>;
  225. regulator-unchanged-in-suspend;
  226. };
  227. regulator-state-mem {
  228. regulator-off-in-suspend;
  229. };
  230. regulator-state-disk {
  231. regulator-off-in-suspend;
  232. };
  233. };
  234. v1v8: ldo6 {
  235. regulator-name = "v1v8";
  236. regulator-min-microvolt = <1800000>;
  237. regulator-max-microvolt = <1800000>;
  238. interrupts = <IT_CURLIM_LDO6 0>;
  239. interrupt-parent = <&pmic>;
  240. regulator-state-standby {
  241. regulator-suspend-microvolt = <1800000>;
  242. regulator-unchanged-in-suspend;
  243. };
  244. regulator-state-mem {
  245. regulator-off-in-suspend;
  246. };
  247. regulator-state-disk {
  248. regulator-off-in-suspend;
  249. };
  250. };
  251. vref_ddr: vref_ddr {
  252. regulator-name = "vref_ddr";
  253. regulator-always-on;
  254. regulator-over-current-protection;
  255. regulator-state-standby {
  256. regulator-on-in-suspend;
  257. };
  258. regulator-state-mem {
  259. regulator-on-in-suspend;
  260. };
  261. regulator-state-disk {
  262. regulator-off-in-suspend;
  263. };
  264. };
  265. bst_out: boost {
  266. regulator-name = "bst_out";
  267. interrupts = <IT_OCP_BOOST 0>;
  268. interrupt-parent = <&pmic>;
  269. };
  270. vbus_otg: pwr_sw1 {
  271. regulator-name = "vbus_otg";
  272. interrupts = <IT_OCP_OTG 0>;
  273. interrupt-parent = <&pmic>;
  274. regulator-active-discharge;
  275. };
  276. vbus_sw: pwr_sw2 {
  277. regulator-name = "vbus_sw";
  278. interrupts = <IT_OCP_SWOUT 0>;
  279. interrupt-parent = <&pmic>;
  280. regulator-active-discharge;
  281. };
  282. };
  283. };
  284. };
  285. &pwr {
  286. pwr-supply = <&vdd>;
  287. };
  288. &sdmmc1 {
  289. pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
  290. broken-cd;
  291. st,dirpol;
  292. st,negedge;
  293. st,pin-ckin;
  294. bus-width = <4>;
  295. vmmc-supply = <&vdd_sd>;
  296. vqmmc-supply = <&sd_switch>;
  297. sd-uhs-sdr12;
  298. sd-uhs-sdr25;
  299. sd-uhs-sdr50;
  300. sd-uhs-ddr50;
  301. sd-uhs-sdr104;
  302. status = "okay";
  303. };
  304. &sdmmc2 {
  305. pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
  306. non-removable;
  307. no-sd;
  308. no-sdio;
  309. st,dirpol;
  310. st,negedge;
  311. bus-width = <8>;
  312. vmmc-supply = <&v3v3>;
  313. vqmmc-supply = <&vdd>;
  314. status = "okay";
  315. };
  316. &uart4 {
  317. pinctrl-names = "default";
  318. pinctrl-0 = <&uart4_pins_a>;
  319. status = "okay";
  320. };
  321. &usbotg_hs {
  322. usb33d-supply = <&usb33>;
  323. };
  324. &usbphyc_port0 {
  325. phy-supply = <&vdd_usb>;
  326. vdda1v1-supply = <&reg11>;
  327. vdda1v8-supply = <&reg18>;
  328. };
  329. &usbphyc_port1 {
  330. phy-supply = <&vdd_usb>;
  331. vdda1v1-supply = <&reg11>;
  332. vdda1v8-supply = <&reg18>;
  333. };