stm32mp151.dtsi 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998
  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. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/clock/stm32mp1-clks.h>
  8. #include <dt-bindings/reset/stm32mp1-resets.h>
  9. / {
  10. #address-cells = <1>;
  11. #size-cells = <1>;
  12. cpus {
  13. #address-cells = <1>;
  14. #size-cells = <0>;
  15. cpu0: cpu@0 {
  16. compatible = "arm,cortex-a7";
  17. clock-frequency = <650000000>;
  18. device_type = "cpu";
  19. reg = <0>;
  20. };
  21. };
  22. arm-pmu {
  23. compatible = "arm,cortex-a7-pmu";
  24. interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
  25. interrupt-affinity = <&cpu0>;
  26. interrupt-parent = <&intc>;
  27. };
  28. psci {
  29. compatible = "arm,psci-1.0";
  30. method = "smc";
  31. };
  32. intc: interrupt-controller@a0021000 {
  33. compatible = "arm,cortex-a7-gic";
  34. #interrupt-cells = <3>;
  35. interrupt-controller;
  36. reg = <0xa0021000 0x1000>,
  37. <0xa0022000 0x2000>;
  38. };
  39. timer {
  40. compatible = "arm,armv7-timer";
  41. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
  42. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
  43. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
  44. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
  45. interrupt-parent = <&intc>;
  46. arm,no-tick-in-suspend;
  47. };
  48. clocks {
  49. clk_hse: clk-hse {
  50. #clock-cells = <0>;
  51. compatible = "fixed-clock";
  52. clock-frequency = <24000000>;
  53. };
  54. clk_hsi: clk-hsi {
  55. #clock-cells = <0>;
  56. compatible = "fixed-clock";
  57. clock-frequency = <64000000>;
  58. };
  59. clk_lse: clk-lse {
  60. #clock-cells = <0>;
  61. compatible = "fixed-clock";
  62. clock-frequency = <32768>;
  63. };
  64. clk_lsi: clk-lsi {
  65. #clock-cells = <0>;
  66. compatible = "fixed-clock";
  67. clock-frequency = <32000>;
  68. };
  69. clk_csi: clk-csi {
  70. #clock-cells = <0>;
  71. compatible = "fixed-clock";
  72. clock-frequency = <4000000>;
  73. };
  74. };
  75. thermal-zones {
  76. cpu_thermal: cpu-thermal {
  77. polling-delay-passive = <0>;
  78. polling-delay = <0>;
  79. thermal-sensors = <&dts>;
  80. trips {
  81. cpu_alert1: cpu-alert1 {
  82. temperature = <85000>;
  83. hysteresis = <0>;
  84. type = "passive";
  85. };
  86. cpu-crit {
  87. temperature = <120000>;
  88. hysteresis = <0>;
  89. type = "critical";
  90. };
  91. };
  92. cooling-maps {
  93. };
  94. };
  95. };
  96. booster: regulator-booster {
  97. compatible = "st,stm32mp1-booster";
  98. st,syscfg = <&syscfg>;
  99. status = "disabled";
  100. };
  101. soc {
  102. compatible = "simple-bus";
  103. #address-cells = <1>;
  104. #size-cells = <1>;
  105. interrupt-parent = <&intc>;
  106. ranges;
  107. ipcc: mailbox@4c001000 {
  108. compatible = "st,stm32mp1-ipcc";
  109. #mbox-cells = <1>;
  110. reg = <0x4c001000 0x400>;
  111. st,proc-id = <0>;
  112. interrupts-extended =
  113. <&exti 61 IRQ_TYPE_LEVEL_HIGH>,
  114. <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  115. interrupt-names = "rx", "tx";
  116. clocks = <&rcc IPCC>;
  117. wakeup-source;
  118. status = "disabled";
  119. };
  120. rcc: rcc@50000000 {
  121. compatible = "st,stm32mp1-rcc", "syscon";
  122. reg = <0x50000000 0x1000>;
  123. #clock-cells = <1>;
  124. #reset-cells = <1>;
  125. };
  126. pwr_regulators: pwr@50001000 {
  127. compatible = "st,stm32mp1,pwr-reg";
  128. reg = <0x50001000 0x10>;
  129. reg11: reg11 {
  130. regulator-name = "reg11";
  131. regulator-min-microvolt = <1100000>;
  132. regulator-max-microvolt = <1100000>;
  133. };
  134. reg18: reg18 {
  135. regulator-name = "reg18";
  136. regulator-min-microvolt = <1800000>;
  137. regulator-max-microvolt = <1800000>;
  138. };
  139. usb33: usb33 {
  140. regulator-name = "usb33";
  141. regulator-min-microvolt = <3300000>;
  142. regulator-max-microvolt = <3300000>;
  143. };
  144. };
  145. pwr_mcu: pwr_mcu@50001014 {
  146. compatible = "st,stm32mp151-pwr-mcu", "syscon";
  147. reg = <0x50001014 0x4>;
  148. };
  149. exti: interrupt-controller@5000d000 {
  150. compatible = "st,stm32mp1-exti", "syscon";
  151. interrupt-controller;
  152. #interrupt-cells = <2>;
  153. reg = <0x5000d000 0x400>;
  154. interrupts-extended =
  155. <&intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_0 */
  156. <&intc GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
  157. <&intc GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  158. <&intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
  159. <&intc GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
  160. <&intc GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
  161. <&intc GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
  162. <&intc GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
  163. <&intc GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
  164. <&intc GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
  165. <&intc GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_10 */
  166. <&intc GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  167. <&intc GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  168. <&intc GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
  169. <&intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  170. <&intc GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
  171. <&intc GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  172. <0>,
  173. <0>,
  174. <&intc GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
  175. <0>, /* EXTI_20 */
  176. <&intc GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  177. <&intc GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  178. <&intc GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  179. <&intc GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
  180. <&intc GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  181. <&intc GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  182. <&intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
  183. <&intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  184. <&intc GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
  185. <&intc GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_30 */
  186. <&intc GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
  187. <&intc GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
  188. <&intc GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
  189. <0>,
  190. <0>,
  191. <0>,
  192. <0>,
  193. <0>,
  194. <0>,
  195. <0>, /* EXTI_40 */
  196. <0>,
  197. <0>,
  198. <0>,
  199. <0>,
  200. <0>,
  201. <&intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
  202. <&intc GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
  203. <&intc GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  204. <0>,
  205. <&intc GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_50 */
  206. <0>,
  207. <&intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  208. <&intc GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  209. <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  210. <0>,
  211. <0>,
  212. <0>,
  213. <0>,
  214. <0>,
  215. <0>, /* EXTI_60 */
  216. <&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
  217. <0>,
  218. <0>,
  219. <0>,
  220. <&intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
  221. <0>,
  222. <0>,
  223. <&intc GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
  224. <0>,
  225. <&intc GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, /* EXTI_70 */
  226. <0>,
  227. <0>,
  228. <&intc GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
  229. };
  230. syscfg: syscon@50020000 {
  231. compatible = "st,stm32mp157-syscfg", "syscon";
  232. reg = <0x50020000 0x400>;
  233. clocks = <&rcc SYSCFG>;
  234. };
  235. dts: thermal@50028000 {
  236. compatible = "st,stm32-thermal";
  237. reg = <0x50028000 0x100>;
  238. interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
  239. clocks = <&rcc TMPSENS>;
  240. clock-names = "pclk";
  241. #thermal-sensor-cells = <0>;
  242. status = "disabled";
  243. };
  244. mdma1: dma-controller@58000000 {
  245. compatible = "st,stm32h7-mdma";
  246. reg = <0x58000000 0x1000>;
  247. interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  248. clocks = <&rcc MDMA>;
  249. resets = <&rcc MDMA_R>;
  250. #dma-cells = <5>;
  251. dma-channels = <32>;
  252. dma-requests = <48>;
  253. };
  254. sdmmc1: mmc@58005000 {
  255. compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
  256. arm,primecell-periphid = <0x00253180>;
  257. reg = <0x58005000 0x1000>;
  258. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  259. clocks = <&rcc SDMMC1_K>;
  260. clock-names = "apb_pclk";
  261. resets = <&rcc SDMMC1_R>;
  262. cap-sd-highspeed;
  263. cap-mmc-highspeed;
  264. max-frequency = <120000000>;
  265. status = "disabled";
  266. };
  267. sdmmc2: mmc@58007000 {
  268. compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
  269. arm,primecell-periphid = <0x00253180>;
  270. reg = <0x58007000 0x1000>;
  271. interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
  272. clocks = <&rcc SDMMC2_K>;
  273. clock-names = "apb_pclk";
  274. resets = <&rcc SDMMC2_R>;
  275. cap-sd-highspeed;
  276. cap-mmc-highspeed;
  277. max-frequency = <120000000>;
  278. status = "disabled";
  279. };
  280. crc1: crc@58009000 {
  281. compatible = "st,stm32f7-crc";
  282. reg = <0x58009000 0x400>;
  283. clocks = <&rcc CRC1>;
  284. status = "disabled";
  285. };
  286. usbh_ohci: usb@5800c000 {
  287. compatible = "generic-ohci";
  288. reg = <0x5800c000 0x1000>;
  289. clocks = <&usbphyc>, <&rcc USBH>;
  290. resets = <&rcc USBH_R>;
  291. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  292. phys = <&usbphyc_port0>;
  293. phy-names = "usb";
  294. status = "disabled";
  295. };
  296. usbh_ehci: usb@5800d000 {
  297. compatible = "generic-ehci";
  298. reg = <0x5800d000 0x1000>;
  299. clocks = <&usbphyc>, <&rcc USBH>;
  300. resets = <&rcc USBH_R>;
  301. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  302. companion = <&usbh_ohci>;
  303. phys = <&usbphyc_port0>;
  304. phy-names = "usb";
  305. status = "disabled";
  306. };
  307. ltdc: display-controller@5a001000 {
  308. compatible = "st,stm32-ltdc";
  309. reg = <0x5a001000 0x400>;
  310. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
  311. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
  312. clocks = <&rcc LTDC_PX>;
  313. clock-names = "lcd";
  314. resets = <&rcc LTDC_R>;
  315. status = "disabled";
  316. };
  317. iwdg2: watchdog@5a002000 {
  318. compatible = "st,stm32mp1-iwdg";
  319. reg = <0x5a002000 0x400>;
  320. clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
  321. clock-names = "pclk", "lsi";
  322. status = "disabled";
  323. };
  324. usbphyc: usbphyc@5a006000 {
  325. #address-cells = <1>;
  326. #size-cells = <0>;
  327. #clock-cells = <0>;
  328. compatible = "st,stm32mp1-usbphyc";
  329. reg = <0x5a006000 0x1000>;
  330. clocks = <&rcc USBPHY_K>;
  331. resets = <&rcc USBPHY_R>;
  332. vdda1v1-supply = <&reg11>;
  333. vdda1v8-supply = <&reg18>;
  334. status = "disabled";
  335. usbphyc_port0: usb-phy@0 {
  336. #phy-cells = <0>;
  337. reg = <0>;
  338. };
  339. usbphyc_port1: usb-phy@1 {
  340. #phy-cells = <1>;
  341. reg = <1>;
  342. };
  343. };
  344. rtc: rtc@5c004000 {
  345. compatible = "st,stm32mp1-rtc";
  346. reg = <0x5c004000 0x400>;
  347. clocks = <&rcc RTCAPB>, <&rcc RTC>;
  348. clock-names = "pclk", "rtc_ck";
  349. interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
  350. status = "disabled";
  351. };
  352. bsec: efuse@5c005000 {
  353. compatible = "st,stm32mp15-bsec";
  354. reg = <0x5c005000 0x400>;
  355. #address-cells = <1>;
  356. #size-cells = <1>;
  357. part_number_otp: part-number-otp@4 {
  358. reg = <0x4 0x1>;
  359. };
  360. vrefint: vrefin-cal@52 {
  361. reg = <0x52 0x2>;
  362. };
  363. ts_cal1: calib@5c {
  364. reg = <0x5c 0x2>;
  365. };
  366. ts_cal2: calib@5e {
  367. reg = <0x5e 0x2>;
  368. };
  369. };
  370. etzpc: bus@5c007000 {
  371. compatible = "st,stm32-etzpc", "simple-bus";
  372. reg = <0x5c007000 0x400>;
  373. #address-cells = <1>;
  374. #size-cells = <1>;
  375. #access-controller-cells = <1>;
  376. ranges;
  377. timers2: timer@40000000 {
  378. #address-cells = <1>;
  379. #size-cells = <0>;
  380. compatible = "st,stm32-timers";
  381. reg = <0x40000000 0x400>;
  382. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  383. interrupt-names = "global";
  384. clocks = <&rcc TIM2_K>;
  385. clock-names = "int";
  386. dmas = <&dmamux1 18 0x400 0x1>,
  387. <&dmamux1 19 0x400 0x1>,
  388. <&dmamux1 20 0x400 0x1>,
  389. <&dmamux1 21 0x400 0x1>,
  390. <&dmamux1 22 0x400 0x1>;
  391. dma-names = "ch1", "ch2", "ch3", "ch4", "up";
  392. access-controllers = <&etzpc 16>;
  393. status = "disabled";
  394. pwm {
  395. compatible = "st,stm32-pwm";
  396. #pwm-cells = <3>;
  397. status = "disabled";
  398. };
  399. timer@1 {
  400. compatible = "st,stm32h7-timer-trigger";
  401. reg = <1>;
  402. status = "disabled";
  403. };
  404. counter {
  405. compatible = "st,stm32-timer-counter";
  406. status = "disabled";
  407. };
  408. };
  409. timers3: timer@40001000 {
  410. #address-cells = <1>;
  411. #size-cells = <0>;
  412. compatible = "st,stm32-timers";
  413. reg = <0x40001000 0x400>;
  414. interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  415. interrupt-names = "global";
  416. clocks = <&rcc TIM3_K>;
  417. clock-names = "int";
  418. dmas = <&dmamux1 23 0x400 0x1>,
  419. <&dmamux1 24 0x400 0x1>,
  420. <&dmamux1 25 0x400 0x1>,
  421. <&dmamux1 26 0x400 0x1>,
  422. <&dmamux1 27 0x400 0x1>,
  423. <&dmamux1 28 0x400 0x1>;
  424. dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
  425. access-controllers = <&etzpc 17>;
  426. status = "disabled";
  427. pwm {
  428. compatible = "st,stm32-pwm";
  429. #pwm-cells = <3>;
  430. status = "disabled";
  431. };
  432. timer@2 {
  433. compatible = "st,stm32h7-timer-trigger";
  434. reg = <2>;
  435. status = "disabled";
  436. };
  437. counter {
  438. compatible = "st,stm32-timer-counter";
  439. status = "disabled";
  440. };
  441. };
  442. timers4: timer@40002000 {
  443. #address-cells = <1>;
  444. #size-cells = <0>;
  445. compatible = "st,stm32-timers";
  446. reg = <0x40002000 0x400>;
  447. interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  448. interrupt-names = "global";
  449. clocks = <&rcc TIM4_K>;
  450. clock-names = "int";
  451. dmas = <&dmamux1 29 0x400 0x1>,
  452. <&dmamux1 30 0x400 0x1>,
  453. <&dmamux1 31 0x400 0x1>,
  454. <&dmamux1 32 0x400 0x1>;
  455. dma-names = "ch1", "ch2", "ch3", "ch4";
  456. access-controllers = <&etzpc 18>;
  457. status = "disabled";
  458. pwm {
  459. compatible = "st,stm32-pwm";
  460. #pwm-cells = <3>;
  461. status = "disabled";
  462. };
  463. timer@3 {
  464. compatible = "st,stm32h7-timer-trigger";
  465. reg = <3>;
  466. status = "disabled";
  467. };
  468. counter {
  469. compatible = "st,stm32-timer-counter";
  470. status = "disabled";
  471. };
  472. };
  473. timers5: timer@40003000 {
  474. #address-cells = <1>;
  475. #size-cells = <0>;
  476. compatible = "st,stm32-timers";
  477. reg = <0x40003000 0x400>;
  478. interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
  479. interrupt-names = "global";
  480. clocks = <&rcc TIM5_K>;
  481. clock-names = "int";
  482. dmas = <&dmamux1 55 0x400 0x1>,
  483. <&dmamux1 56 0x400 0x1>,
  484. <&dmamux1 57 0x400 0x1>,
  485. <&dmamux1 58 0x400 0x1>,
  486. <&dmamux1 59 0x400 0x1>,
  487. <&dmamux1 60 0x400 0x1>;
  488. dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
  489. access-controllers = <&etzpc 19>;
  490. status = "disabled";
  491. pwm {
  492. compatible = "st,stm32-pwm";
  493. #pwm-cells = <3>;
  494. status = "disabled";
  495. };
  496. timer@4 {
  497. compatible = "st,stm32h7-timer-trigger";
  498. reg = <4>;
  499. status = "disabled";
  500. };
  501. counter {
  502. compatible = "st,stm32-timer-counter";
  503. status = "disabled";
  504. };
  505. };
  506. timers6: timer@40004000 {
  507. #address-cells = <1>;
  508. #size-cells = <0>;
  509. compatible = "st,stm32-timers";
  510. reg = <0x40004000 0x400>;
  511. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  512. interrupt-names = "global";
  513. clocks = <&rcc TIM6_K>;
  514. clock-names = "int";
  515. dmas = <&dmamux1 69 0x400 0x1>;
  516. dma-names = "up";
  517. access-controllers = <&etzpc 20>;
  518. status = "disabled";
  519. timer@5 {
  520. compatible = "st,stm32h7-timer-trigger";
  521. reg = <5>;
  522. status = "disabled";
  523. };
  524. };
  525. timers7: timer@40005000 {
  526. #address-cells = <1>;
  527. #size-cells = <0>;
  528. compatible = "st,stm32-timers";
  529. reg = <0x40005000 0x400>;
  530. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  531. interrupt-names = "global";
  532. clocks = <&rcc TIM7_K>;
  533. clock-names = "int";
  534. dmas = <&dmamux1 70 0x400 0x1>;
  535. dma-names = "up";
  536. access-controllers = <&etzpc 21>;
  537. status = "disabled";
  538. timer@6 {
  539. compatible = "st,stm32h7-timer-trigger";
  540. reg = <6>;
  541. status = "disabled";
  542. };
  543. };
  544. timers12: timer@40006000 {
  545. #address-cells = <1>;
  546. #size-cells = <0>;
  547. compatible = "st,stm32-timers";
  548. reg = <0x40006000 0x400>;
  549. interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
  550. interrupt-names = "global";
  551. clocks = <&rcc TIM12_K>;
  552. clock-names = "int";
  553. access-controllers = <&etzpc 22>;
  554. status = "disabled";
  555. pwm {
  556. compatible = "st,stm32-pwm";
  557. #pwm-cells = <3>;
  558. status = "disabled";
  559. };
  560. timer@11 {
  561. compatible = "st,stm32h7-timer-trigger";
  562. reg = <11>;
  563. status = "disabled";
  564. };
  565. };
  566. timers13: timer@40007000 {
  567. #address-cells = <1>;
  568. #size-cells = <0>;
  569. compatible = "st,stm32-timers";
  570. reg = <0x40007000 0x400>;
  571. interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
  572. interrupt-names = "global";
  573. clocks = <&rcc TIM13_K>;
  574. clock-names = "int";
  575. access-controllers = <&etzpc 23>;
  576. status = "disabled";
  577. pwm {
  578. compatible = "st,stm32-pwm";
  579. #pwm-cells = <3>;
  580. status = "disabled";
  581. };
  582. timer@12 {
  583. compatible = "st,stm32h7-timer-trigger";
  584. reg = <12>;
  585. status = "disabled";
  586. };
  587. };
  588. timers14: timer@40008000 {
  589. #address-cells = <1>;
  590. #size-cells = <0>;
  591. compatible = "st,stm32-timers";
  592. reg = <0x40008000 0x400>;
  593. interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
  594. interrupt-names = "global";
  595. clocks = <&rcc TIM14_K>;
  596. clock-names = "int";
  597. access-controllers = <&etzpc 24>;
  598. status = "disabled";
  599. pwm {
  600. compatible = "st,stm32-pwm";
  601. #pwm-cells = <3>;
  602. status = "disabled";
  603. };
  604. timer@13 {
  605. compatible = "st,stm32h7-timer-trigger";
  606. reg = <13>;
  607. status = "disabled";
  608. };
  609. };
  610. lptimer1: timer@40009000 {
  611. #address-cells = <1>;
  612. #size-cells = <0>;
  613. compatible = "st,stm32-lptimer";
  614. reg = <0x40009000 0x400>;
  615. interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
  616. clocks = <&rcc LPTIM1_K>;
  617. clock-names = "mux";
  618. wakeup-source;
  619. access-controllers = <&etzpc 25>;
  620. status = "disabled";
  621. pwm {
  622. compatible = "st,stm32-pwm-lp";
  623. #pwm-cells = <3>;
  624. status = "disabled";
  625. };
  626. trigger@0 {
  627. compatible = "st,stm32-lptimer-trigger";
  628. reg = <0>;
  629. status = "disabled";
  630. };
  631. counter {
  632. compatible = "st,stm32-lptimer-counter";
  633. status = "disabled";
  634. };
  635. };
  636. i2s2: audio-controller@4000b000 {
  637. compatible = "st,stm32h7-i2s";
  638. #sound-dai-cells = <0>;
  639. reg = <0x4000b000 0x400>;
  640. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  641. dmas = <&dmamux1 39 0x400 0x01>,
  642. <&dmamux1 40 0x400 0x01>;
  643. dma-names = "rx", "tx";
  644. access-controllers = <&etzpc 27>;
  645. status = "disabled";
  646. };
  647. spi2: spi@4000b000 {
  648. #address-cells = <1>;
  649. #size-cells = <0>;
  650. compatible = "st,stm32h7-spi";
  651. reg = <0x4000b000 0x400>;
  652. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  653. clocks = <&rcc SPI2_K>;
  654. resets = <&rcc SPI2_R>;
  655. dmas = <&dmamux1 39 0x400 0x05>,
  656. <&dmamux1 40 0x400 0x05>;
  657. dma-names = "rx", "tx";
  658. access-controllers = <&etzpc 27>;
  659. status = "disabled";
  660. };
  661. i2s3: audio-controller@4000c000 {
  662. compatible = "st,stm32h7-i2s";
  663. #sound-dai-cells = <0>;
  664. reg = <0x4000c000 0x400>;
  665. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  666. dmas = <&dmamux1 61 0x400 0x01>,
  667. <&dmamux1 62 0x400 0x01>;
  668. dma-names = "rx", "tx";
  669. access-controllers = <&etzpc 28>;
  670. status = "disabled";
  671. };
  672. spi3: spi@4000c000 {
  673. #address-cells = <1>;
  674. #size-cells = <0>;
  675. compatible = "st,stm32h7-spi";
  676. reg = <0x4000c000 0x400>;
  677. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  678. clocks = <&rcc SPI3_K>;
  679. resets = <&rcc SPI3_R>;
  680. dmas = <&dmamux1 61 0x400 0x05>,
  681. <&dmamux1 62 0x400 0x05>;
  682. dma-names = "rx", "tx";
  683. access-controllers = <&etzpc 28>;
  684. status = "disabled";
  685. };
  686. spdifrx: audio-controller@4000d000 {
  687. compatible = "st,stm32h7-spdifrx";
  688. #sound-dai-cells = <0>;
  689. reg = <0x4000d000 0x400>;
  690. clocks = <&rcc SPDIF_K>;
  691. clock-names = "kclk";
  692. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  693. dmas = <&dmamux1 93 0x400 0x01>,
  694. <&dmamux1 94 0x400 0x01>;
  695. dma-names = "rx", "rx-ctrl";
  696. access-controllers = <&etzpc 29>;
  697. status = "disabled";
  698. };
  699. usart2: serial@4000e000 {
  700. compatible = "st,stm32h7-uart";
  701. reg = <0x4000e000 0x400>;
  702. interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
  703. clocks = <&rcc USART2_K>;
  704. wakeup-source;
  705. dmas = <&dmamux1 43 0x400 0x15>,
  706. <&dmamux1 44 0x400 0x11>;
  707. dma-names = "rx", "tx";
  708. access-controllers = <&etzpc 30>;
  709. status = "disabled";
  710. };
  711. usart3: serial@4000f000 {
  712. compatible = "st,stm32h7-uart";
  713. reg = <0x4000f000 0x400>;
  714. interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
  715. clocks = <&rcc USART3_K>;
  716. wakeup-source;
  717. dmas = <&dmamux1 45 0x400 0x15>,
  718. <&dmamux1 46 0x400 0x11>;
  719. dma-names = "rx", "tx";
  720. access-controllers = <&etzpc 31>;
  721. status = "disabled";
  722. };
  723. uart4: serial@40010000 {
  724. compatible = "st,stm32h7-uart";
  725. reg = <0x40010000 0x400>;
  726. interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
  727. clocks = <&rcc UART4_K>;
  728. wakeup-source;
  729. dmas = <&dmamux1 63 0x400 0x15>,
  730. <&dmamux1 64 0x400 0x11>;
  731. dma-names = "rx", "tx";
  732. access-controllers = <&etzpc 32>;
  733. status = "disabled";
  734. };
  735. uart5: serial@40011000 {
  736. compatible = "st,stm32h7-uart";
  737. reg = <0x40011000 0x400>;
  738. interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
  739. clocks = <&rcc UART5_K>;
  740. wakeup-source;
  741. dmas = <&dmamux1 65 0x400 0x15>,
  742. <&dmamux1 66 0x400 0x11>;
  743. dma-names = "rx", "tx";
  744. access-controllers = <&etzpc 33>;
  745. status = "disabled";
  746. };
  747. i2c1: i2c@40012000 {
  748. compatible = "st,stm32mp15-i2c";
  749. reg = <0x40012000 0x400>;
  750. interrupt-names = "event", "error";
  751. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
  752. <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  753. clocks = <&rcc I2C1_K>;
  754. resets = <&rcc I2C1_R>;
  755. #address-cells = <1>;
  756. #size-cells = <0>;
  757. st,syscfg-fmp = <&syscfg 0x4 0x1>;
  758. wakeup-source;
  759. i2c-analog-filter;
  760. access-controllers = <&etzpc 34>;
  761. status = "disabled";
  762. };
  763. i2c2: i2c@40013000 {
  764. compatible = "st,stm32mp15-i2c";
  765. reg = <0x40013000 0x400>;
  766. interrupt-names = "event", "error";
  767. interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  768. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  769. clocks = <&rcc I2C2_K>;
  770. resets = <&rcc I2C2_R>;
  771. #address-cells = <1>;
  772. #size-cells = <0>;
  773. st,syscfg-fmp = <&syscfg 0x4 0x2>;
  774. wakeup-source;
  775. i2c-analog-filter;
  776. access-controllers = <&etzpc 35>;
  777. status = "disabled";
  778. };
  779. i2c3: i2c@40014000 {
  780. compatible = "st,stm32mp15-i2c";
  781. reg = <0x40014000 0x400>;
  782. interrupt-names = "event", "error";
  783. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
  784. <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  785. clocks = <&rcc I2C3_K>;
  786. resets = <&rcc I2C3_R>;
  787. #address-cells = <1>;
  788. #size-cells = <0>;
  789. st,syscfg-fmp = <&syscfg 0x4 0x4>;
  790. wakeup-source;
  791. i2c-analog-filter;
  792. access-controllers = <&etzpc 36>;
  793. status = "disabled";
  794. };
  795. i2c5: i2c@40015000 {
  796. compatible = "st,stm32mp15-i2c";
  797. reg = <0x40015000 0x400>;
  798. interrupt-names = "event", "error";
  799. interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  800. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
  801. clocks = <&rcc I2C5_K>;
  802. resets = <&rcc I2C5_R>;
  803. #address-cells = <1>;
  804. #size-cells = <0>;
  805. st,syscfg-fmp = <&syscfg 0x4 0x10>;
  806. wakeup-source;
  807. i2c-analog-filter;
  808. access-controllers = <&etzpc 37>;
  809. status = "disabled";
  810. };
  811. cec: cec@40016000 {
  812. compatible = "st,stm32-cec";
  813. reg = <0x40016000 0x400>;
  814. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  815. clocks = <&rcc CEC_K>, <&rcc CEC>;
  816. clock-names = "cec", "hdmi-cec";
  817. access-controllers = <&etzpc 38>;
  818. status = "disabled";
  819. };
  820. dac: dac@40017000 {
  821. compatible = "st,stm32h7-dac-core";
  822. reg = <0x40017000 0x400>;
  823. clocks = <&rcc DAC12>;
  824. clock-names = "pclk";
  825. #address-cells = <1>;
  826. #size-cells = <0>;
  827. access-controllers = <&etzpc 39>;
  828. status = "disabled";
  829. dac1: dac@1 {
  830. compatible = "st,stm32-dac";
  831. #io-channel-cells = <1>;
  832. reg = <1>;
  833. status = "disabled";
  834. };
  835. dac2: dac@2 {
  836. compatible = "st,stm32-dac";
  837. #io-channel-cells = <1>;
  838. reg = <2>;
  839. status = "disabled";
  840. };
  841. };
  842. uart7: serial@40018000 {
  843. compatible = "st,stm32h7-uart";
  844. reg = <0x40018000 0x400>;
  845. interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
  846. clocks = <&rcc UART7_K>;
  847. wakeup-source;
  848. dmas = <&dmamux1 79 0x400 0x15>,
  849. <&dmamux1 80 0x400 0x11>;
  850. dma-names = "rx", "tx";
  851. access-controllers = <&etzpc 40>;
  852. status = "disabled";
  853. };
  854. uart8: serial@40019000 {
  855. compatible = "st,stm32h7-uart";
  856. reg = <0x40019000 0x400>;
  857. interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
  858. clocks = <&rcc UART8_K>;
  859. wakeup-source;
  860. dmas = <&dmamux1 81 0x400 0x15>,
  861. <&dmamux1 82 0x400 0x11>;
  862. dma-names = "rx", "tx";
  863. access-controllers = <&etzpc 41>;
  864. status = "disabled";
  865. };
  866. timers1: timer@44000000 {
  867. #address-cells = <1>;
  868. #size-cells = <0>;
  869. compatible = "st,stm32-timers";
  870. reg = <0x44000000 0x400>;
  871. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
  872. <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
  873. <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
  874. <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  875. interrupt-names = "brk", "up", "trg-com", "cc";
  876. clocks = <&rcc TIM1_K>;
  877. clock-names = "int";
  878. dmas = <&dmamux1 11 0x400 0x1>,
  879. <&dmamux1 12 0x400 0x1>,
  880. <&dmamux1 13 0x400 0x1>,
  881. <&dmamux1 14 0x400 0x1>,
  882. <&dmamux1 15 0x400 0x1>,
  883. <&dmamux1 16 0x400 0x1>,
  884. <&dmamux1 17 0x400 0x1>;
  885. dma-names = "ch1", "ch2", "ch3", "ch4",
  886. "up", "trig", "com";
  887. access-controllers = <&etzpc 48>;
  888. status = "disabled";
  889. pwm {
  890. compatible = "st,stm32-pwm";
  891. #pwm-cells = <3>;
  892. status = "disabled";
  893. };
  894. timer@0 {
  895. compatible = "st,stm32h7-timer-trigger";
  896. reg = <0>;
  897. status = "disabled";
  898. };
  899. counter {
  900. compatible = "st,stm32-timer-counter";
  901. status = "disabled";
  902. };
  903. };
  904. timers8: timer@44001000 {
  905. #address-cells = <1>;
  906. #size-cells = <0>;
  907. compatible = "st,stm32-timers";
  908. reg = <0x44001000 0x400>;
  909. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
  910. <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
  911. <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
  912. <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  913. interrupt-names = "brk", "up", "trg-com", "cc";
  914. clocks = <&rcc TIM8_K>;
  915. clock-names = "int";
  916. dmas = <&dmamux1 47 0x400 0x1>,
  917. <&dmamux1 48 0x400 0x1>,
  918. <&dmamux1 49 0x400 0x1>,
  919. <&dmamux1 50 0x400 0x1>,
  920. <&dmamux1 51 0x400 0x1>,
  921. <&dmamux1 52 0x400 0x1>,
  922. <&dmamux1 53 0x400 0x1>;
  923. dma-names = "ch1", "ch2", "ch3", "ch4",
  924. "up", "trig", "com";
  925. access-controllers = <&etzpc 49>;
  926. status = "disabled";
  927. pwm {
  928. compatible = "st,stm32-pwm";
  929. #pwm-cells = <3>;
  930. status = "disabled";
  931. };
  932. timer@7 {
  933. compatible = "st,stm32h7-timer-trigger";
  934. reg = <7>;
  935. status = "disabled";
  936. };
  937. counter {
  938. compatible = "st,stm32-timer-counter";
  939. status = "disabled";
  940. };
  941. };
  942. usart6: serial@44003000 {
  943. compatible = "st,stm32h7-uart";
  944. reg = <0x44003000 0x400>;
  945. interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
  946. clocks = <&rcc USART6_K>;
  947. wakeup-source;
  948. dmas = <&dmamux1 71 0x400 0x15>,
  949. <&dmamux1 72 0x400 0x11>;
  950. dma-names = "rx", "tx";
  951. access-controllers = <&etzpc 51>;
  952. status = "disabled";
  953. };
  954. i2s1: audio-controller@44004000 {
  955. compatible = "st,stm32h7-i2s";
  956. #sound-dai-cells = <0>;
  957. reg = <0x44004000 0x400>;
  958. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  959. dmas = <&dmamux1 37 0x400 0x01>,
  960. <&dmamux1 38 0x400 0x01>;
  961. dma-names = "rx", "tx";
  962. access-controllers = <&etzpc 52>;
  963. status = "disabled";
  964. };
  965. spi1: spi@44004000 {
  966. #address-cells = <1>;
  967. #size-cells = <0>;
  968. compatible = "st,stm32h7-spi";
  969. reg = <0x44004000 0x400>;
  970. interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  971. clocks = <&rcc SPI1_K>;
  972. resets = <&rcc SPI1_R>;
  973. dmas = <&dmamux1 37 0x400 0x05>,
  974. <&dmamux1 38 0x400 0x05>;
  975. dma-names = "rx", "tx";
  976. access-controllers = <&etzpc 52>;
  977. status = "disabled";
  978. };
  979. spi4: spi@44005000 {
  980. #address-cells = <1>;
  981. #size-cells = <0>;
  982. compatible = "st,stm32h7-spi";
  983. reg = <0x44005000 0x400>;
  984. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  985. clocks = <&rcc SPI4_K>;
  986. resets = <&rcc SPI4_R>;
  987. dmas = <&dmamux1 83 0x400 0x05>,
  988. <&dmamux1 84 0x400 0x05>;
  989. dma-names = "rx", "tx";
  990. access-controllers = <&etzpc 53>;
  991. status = "disabled";
  992. };
  993. timers15: timer@44006000 {
  994. #address-cells = <1>;
  995. #size-cells = <0>;
  996. compatible = "st,stm32-timers";
  997. reg = <0x44006000 0x400>;
  998. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  999. interrupt-names = "global";
  1000. clocks = <&rcc TIM15_K>;
  1001. clock-names = "int";
  1002. dmas = <&dmamux1 105 0x400 0x1>,
  1003. <&dmamux1 106 0x400 0x1>,
  1004. <&dmamux1 107 0x400 0x1>,
  1005. <&dmamux1 108 0x400 0x1>;
  1006. dma-names = "ch1", "up", "trig", "com";
  1007. access-controllers = <&etzpc 54>;
  1008. status = "disabled";
  1009. pwm {
  1010. compatible = "st,stm32-pwm";
  1011. #pwm-cells = <3>;
  1012. status = "disabled";
  1013. };
  1014. timer@14 {
  1015. compatible = "st,stm32h7-timer-trigger";
  1016. reg = <14>;
  1017. status = "disabled";
  1018. };
  1019. };
  1020. timers16: timer@44007000 {
  1021. #address-cells = <1>;
  1022. #size-cells = <0>;
  1023. compatible = "st,stm32-timers";
  1024. reg = <0x44007000 0x400>;
  1025. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  1026. interrupt-names = "global";
  1027. clocks = <&rcc TIM16_K>;
  1028. clock-names = "int";
  1029. dmas = <&dmamux1 109 0x400 0x1>,
  1030. <&dmamux1 110 0x400 0x1>;
  1031. dma-names = "ch1", "up";
  1032. access-controllers = <&etzpc 55>;
  1033. status = "disabled";
  1034. pwm {
  1035. compatible = "st,stm32-pwm";
  1036. #pwm-cells = <3>;
  1037. status = "disabled";
  1038. };
  1039. timer@15 {
  1040. compatible = "st,stm32h7-timer-trigger";
  1041. reg = <15>;
  1042. status = "disabled";
  1043. };
  1044. };
  1045. timers17: timer@44008000 {
  1046. #address-cells = <1>;
  1047. #size-cells = <0>;
  1048. compatible = "st,stm32-timers";
  1049. reg = <0x44008000 0x400>;
  1050. interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
  1051. interrupt-names = "global";
  1052. clocks = <&rcc TIM17_K>;
  1053. clock-names = "int";
  1054. dmas = <&dmamux1 111 0x400 0x1>,
  1055. <&dmamux1 112 0x400 0x1>;
  1056. dma-names = "ch1", "up";
  1057. access-controllers = <&etzpc 56>;
  1058. status = "disabled";
  1059. pwm {
  1060. compatible = "st,stm32-pwm";
  1061. #pwm-cells = <3>;
  1062. status = "disabled";
  1063. };
  1064. timer@16 {
  1065. compatible = "st,stm32h7-timer-trigger";
  1066. reg = <16>;
  1067. status = "disabled";
  1068. };
  1069. };
  1070. spi5: spi@44009000 {
  1071. #address-cells = <1>;
  1072. #size-cells = <0>;
  1073. compatible = "st,stm32h7-spi";
  1074. reg = <0x44009000 0x400>;
  1075. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  1076. clocks = <&rcc SPI5_K>;
  1077. resets = <&rcc SPI5_R>;
  1078. dmas = <&dmamux1 85 0x400 0x05>,
  1079. <&dmamux1 86 0x400 0x05>;
  1080. dma-names = "rx", "tx";
  1081. access-controllers = <&etzpc 57>;
  1082. status = "disabled";
  1083. };
  1084. sai1: sai@4400a000 {
  1085. compatible = "st,stm32h7-sai";
  1086. #address-cells = <1>;
  1087. #size-cells = <1>;
  1088. ranges = <0 0x4400a000 0x400>;
  1089. reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
  1090. interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  1091. resets = <&rcc SAI1_R>;
  1092. access-controllers = <&etzpc 58>;
  1093. status = "disabled";
  1094. sai1a: audio-controller@4400a004 {
  1095. #sound-dai-cells = <0>;
  1096. compatible = "st,stm32-sai-sub-a";
  1097. reg = <0x4 0x20>;
  1098. clocks = <&rcc SAI1_K>;
  1099. clock-names = "sai_ck";
  1100. dmas = <&dmamux1 87 0x400 0x01>;
  1101. status = "disabled";
  1102. };
  1103. sai1b: audio-controller@4400a024 {
  1104. #sound-dai-cells = <0>;
  1105. compatible = "st,stm32-sai-sub-b";
  1106. reg = <0x24 0x20>;
  1107. clocks = <&rcc SAI1_K>;
  1108. clock-names = "sai_ck";
  1109. dmas = <&dmamux1 88 0x400 0x01>;
  1110. status = "disabled";
  1111. };
  1112. };
  1113. sai2: sai@4400b000 {
  1114. compatible = "st,stm32h7-sai";
  1115. #address-cells = <1>;
  1116. #size-cells = <1>;
  1117. ranges = <0 0x4400b000 0x400>;
  1118. reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
  1119. interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
  1120. resets = <&rcc SAI2_R>;
  1121. access-controllers = <&etzpc 59>;
  1122. status = "disabled";
  1123. sai2a: audio-controller@4400b004 {
  1124. #sound-dai-cells = <0>;
  1125. compatible = "st,stm32-sai-sub-a";
  1126. reg = <0x4 0x20>;
  1127. clocks = <&rcc SAI2_K>;
  1128. clock-names = "sai_ck";
  1129. dmas = <&dmamux1 89 0x400 0x01>;
  1130. status = "disabled";
  1131. };
  1132. sai2b: audio-controller@4400b024 {
  1133. #sound-dai-cells = <0>;
  1134. compatible = "st,stm32-sai-sub-b";
  1135. reg = <0x24 0x20>;
  1136. clocks = <&rcc SAI2_K>;
  1137. clock-names = "sai_ck";
  1138. dmas = <&dmamux1 90 0x400 0x01>;
  1139. status = "disabled";
  1140. };
  1141. };
  1142. sai3: sai@4400c000 {
  1143. compatible = "st,stm32h7-sai";
  1144. #address-cells = <1>;
  1145. #size-cells = <1>;
  1146. ranges = <0 0x4400c000 0x400>;
  1147. reg = <0x4400c000 0x4>, <0x4400c3f0 0x10>;
  1148. interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
  1149. resets = <&rcc SAI3_R>;
  1150. access-controllers = <&etzpc 60>;
  1151. status = "disabled";
  1152. sai3a: audio-controller@4400c004 {
  1153. #sound-dai-cells = <0>;
  1154. compatible = "st,stm32-sai-sub-a";
  1155. reg = <0x04 0x20>;
  1156. clocks = <&rcc SAI3_K>;
  1157. clock-names = "sai_ck";
  1158. dmas = <&dmamux1 113 0x400 0x01>;
  1159. status = "disabled";
  1160. };
  1161. sai3b: audio-controller@4400c024 {
  1162. #sound-dai-cells = <0>;
  1163. compatible = "st,stm32-sai-sub-b";
  1164. reg = <0x24 0x20>;
  1165. clocks = <&rcc SAI3_K>;
  1166. clock-names = "sai_ck";
  1167. dmas = <&dmamux1 114 0x400 0x01>;
  1168. status = "disabled";
  1169. };
  1170. };
  1171. dfsdm: dfsdm@4400d000 {
  1172. compatible = "st,stm32mp1-dfsdm";
  1173. reg = <0x4400d000 0x800>;
  1174. clocks = <&rcc DFSDM_K>;
  1175. clock-names = "dfsdm";
  1176. #address-cells = <1>;
  1177. #size-cells = <0>;
  1178. access-controllers = <&etzpc 61>;
  1179. status = "disabled";
  1180. dfsdm0: filter@0 {
  1181. compatible = "st,stm32-dfsdm-adc";
  1182. #io-channel-cells = <1>;
  1183. reg = <0>;
  1184. interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
  1185. dmas = <&dmamux1 101 0x400 0x01>;
  1186. dma-names = "rx";
  1187. status = "disabled";
  1188. };
  1189. dfsdm1: filter@1 {
  1190. compatible = "st,stm32-dfsdm-adc";
  1191. #io-channel-cells = <1>;
  1192. reg = <1>;
  1193. interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  1194. dmas = <&dmamux1 102 0x400 0x01>;
  1195. dma-names = "rx";
  1196. status = "disabled";
  1197. };
  1198. dfsdm2: filter@2 {
  1199. compatible = "st,stm32-dfsdm-adc";
  1200. #io-channel-cells = <1>;
  1201. reg = <2>;
  1202. interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
  1203. dmas = <&dmamux1 103 0x400 0x01>;
  1204. dma-names = "rx";
  1205. status = "disabled";
  1206. };
  1207. dfsdm3: filter@3 {
  1208. compatible = "st,stm32-dfsdm-adc";
  1209. #io-channel-cells = <1>;
  1210. reg = <3>;
  1211. interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
  1212. dmas = <&dmamux1 104 0x400 0x01>;
  1213. dma-names = "rx";
  1214. status = "disabled";
  1215. };
  1216. dfsdm4: filter@4 {
  1217. compatible = "st,stm32-dfsdm-adc";
  1218. #io-channel-cells = <1>;
  1219. reg = <4>;
  1220. interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
  1221. dmas = <&dmamux1 91 0x400 0x01>;
  1222. dma-names = "rx";
  1223. status = "disabled";
  1224. };
  1225. dfsdm5: filter@5 {
  1226. compatible = "st,stm32-dfsdm-adc";
  1227. #io-channel-cells = <1>;
  1228. reg = <5>;
  1229. interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
  1230. dmas = <&dmamux1 92 0x400 0x01>;
  1231. dma-names = "rx";
  1232. status = "disabled";
  1233. };
  1234. };
  1235. dma1: dma-controller@48000000 {
  1236. compatible = "st,stm32-dma";
  1237. reg = <0x48000000 0x400>;
  1238. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
  1239. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
  1240. <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
  1241. <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
  1242. <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
  1243. <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
  1244. <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
  1245. <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
  1246. clocks = <&rcc DMA1>;
  1247. resets = <&rcc DMA1_R>;
  1248. #dma-cells = <4>;
  1249. st,mem2mem;
  1250. dma-requests = <8>;
  1251. access-controllers = <&etzpc 88>;
  1252. };
  1253. dma2: dma-controller@48001000 {
  1254. compatible = "st,stm32-dma";
  1255. reg = <0x48001000 0x400>;
  1256. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
  1257. <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
  1258. <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
  1259. <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
  1260. <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
  1261. <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
  1262. <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
  1263. <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  1264. clocks = <&rcc DMA2>;
  1265. resets = <&rcc DMA2_R>;
  1266. #dma-cells = <4>;
  1267. st,mem2mem;
  1268. dma-requests = <8>;
  1269. access-controllers = <&etzpc 89>;
  1270. };
  1271. dmamux1: dma-router@48002000 {
  1272. compatible = "st,stm32h7-dmamux";
  1273. reg = <0x48002000 0x40>;
  1274. #dma-cells = <3>;
  1275. dma-requests = <128>;
  1276. dma-masters = <&dma1 &dma2>;
  1277. dma-channels = <16>;
  1278. clocks = <&rcc DMAMUX>;
  1279. resets = <&rcc DMAMUX_R>;
  1280. access-controllers = <&etzpc 90>;
  1281. };
  1282. adc: adc@48003000 {
  1283. compatible = "st,stm32mp1-adc-core";
  1284. reg = <0x48003000 0x400>;
  1285. interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
  1286. <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  1287. clocks = <&rcc ADC12>, <&rcc ADC12_K>;
  1288. clock-names = "bus", "adc";
  1289. interrupt-controller;
  1290. st,syscfg = <&syscfg>;
  1291. #interrupt-cells = <1>;
  1292. #address-cells = <1>;
  1293. #size-cells = <0>;
  1294. access-controllers = <&etzpc 72>;
  1295. status = "disabled";
  1296. adc1: adc@0 {
  1297. compatible = "st,stm32mp1-adc";
  1298. #io-channel-cells = <1>;
  1299. #address-cells = <1>;
  1300. #size-cells = <0>;
  1301. reg = <0x0>;
  1302. interrupt-parent = <&adc>;
  1303. interrupts = <0>;
  1304. dmas = <&dmamux1 9 0x400 0x01>;
  1305. dma-names = "rx";
  1306. status = "disabled";
  1307. };
  1308. adc2: adc@100 {
  1309. compatible = "st,stm32mp1-adc";
  1310. #io-channel-cells = <1>;
  1311. #address-cells = <1>;
  1312. #size-cells = <0>;
  1313. reg = <0x100>;
  1314. interrupt-parent = <&adc>;
  1315. interrupts = <1>;
  1316. dmas = <&dmamux1 10 0x400 0x01>;
  1317. dma-names = "rx";
  1318. nvmem-cells = <&vrefint>;
  1319. nvmem-cell-names = "vrefint";
  1320. status = "disabled";
  1321. channel@13 {
  1322. reg = <13>;
  1323. label = "vrefint";
  1324. };
  1325. channel@14 {
  1326. reg = <14>;
  1327. label = "vddcore";
  1328. };
  1329. };
  1330. };
  1331. sdmmc3: mmc@48004000 {
  1332. compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
  1333. arm,primecell-periphid = <0x00253180>;
  1334. reg = <0x48004000 0x400>;
  1335. interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
  1336. clocks = <&rcc SDMMC3_K>;
  1337. clock-names = "apb_pclk";
  1338. resets = <&rcc SDMMC3_R>;
  1339. cap-sd-highspeed;
  1340. cap-mmc-highspeed;
  1341. max-frequency = <120000000>;
  1342. access-controllers = <&etzpc 86>;
  1343. status = "disabled";
  1344. };
  1345. usbotg_hs: usb-otg@49000000 {
  1346. compatible = "st,stm32mp15-hsotg", "snps,dwc2";
  1347. reg = <0x49000000 0x10000>;
  1348. clocks = <&rcc USBO_K>, <&usbphyc>;
  1349. clock-names = "otg", "utmi";
  1350. resets = <&rcc USBO_R>;
  1351. reset-names = "dwc2";
  1352. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  1353. g-rx-fifo-size = <512>;
  1354. g-np-tx-fifo-size = <32>;
  1355. g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
  1356. dr_mode = "otg";
  1357. otg-rev = <0x200>;
  1358. usb33d-supply = <&usb33>;
  1359. access-controllers = <&etzpc 85>;
  1360. status = "disabled";
  1361. };
  1362. dcmi: dcmi@4c006000 {
  1363. compatible = "st,stm32-dcmi";
  1364. reg = <0x4c006000 0x400>;
  1365. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  1366. resets = <&rcc CAMITF_R>;
  1367. clocks = <&rcc DCMI>;
  1368. clock-names = "mclk";
  1369. dmas = <&dmamux1 75 0x400 0x01>;
  1370. dma-names = "tx";
  1371. access-controllers = <&etzpc 70>;
  1372. status = "disabled";
  1373. };
  1374. lptimer2: timer@50021000 {
  1375. #address-cells = <1>;
  1376. #size-cells = <0>;
  1377. compatible = "st,stm32-lptimer";
  1378. reg = <0x50021000 0x400>;
  1379. interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
  1380. clocks = <&rcc LPTIM2_K>;
  1381. clock-names = "mux";
  1382. wakeup-source;
  1383. access-controllers = <&etzpc 64>;
  1384. status = "disabled";
  1385. pwm {
  1386. compatible = "st,stm32-pwm-lp";
  1387. #pwm-cells = <3>;
  1388. status = "disabled";
  1389. };
  1390. trigger@1 {
  1391. compatible = "st,stm32-lptimer-trigger";
  1392. reg = <1>;
  1393. status = "disabled";
  1394. };
  1395. counter {
  1396. compatible = "st,stm32-lptimer-counter";
  1397. status = "disabled";
  1398. };
  1399. };
  1400. lptimer3: timer@50022000 {
  1401. #address-cells = <1>;
  1402. #size-cells = <0>;
  1403. compatible = "st,stm32-lptimer";
  1404. reg = <0x50022000 0x400>;
  1405. interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
  1406. clocks = <&rcc LPTIM3_K>;
  1407. clock-names = "mux";
  1408. wakeup-source;
  1409. access-controllers = <&etzpc 65>;
  1410. status = "disabled";
  1411. pwm {
  1412. compatible = "st,stm32-pwm-lp";
  1413. #pwm-cells = <3>;
  1414. status = "disabled";
  1415. };
  1416. trigger@2 {
  1417. compatible = "st,stm32-lptimer-trigger";
  1418. reg = <2>;
  1419. status = "disabled";
  1420. };
  1421. };
  1422. lptimer4: timer@50023000 {
  1423. compatible = "st,stm32-lptimer";
  1424. reg = <0x50023000 0x400>;
  1425. interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
  1426. clocks = <&rcc LPTIM4_K>;
  1427. clock-names = "mux";
  1428. wakeup-source;
  1429. access-controllers = <&etzpc 66>;
  1430. status = "disabled";
  1431. pwm {
  1432. compatible = "st,stm32-pwm-lp";
  1433. #pwm-cells = <3>;
  1434. status = "disabled";
  1435. };
  1436. };
  1437. lptimer5: timer@50024000 {
  1438. compatible = "st,stm32-lptimer";
  1439. reg = <0x50024000 0x400>;
  1440. interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
  1441. clocks = <&rcc LPTIM5_K>;
  1442. clock-names = "mux";
  1443. wakeup-source;
  1444. access-controllers = <&etzpc 67>;
  1445. status = "disabled";
  1446. pwm {
  1447. compatible = "st,stm32-pwm-lp";
  1448. #pwm-cells = <3>;
  1449. status = "disabled";
  1450. };
  1451. };
  1452. vrefbuf: vrefbuf@50025000 {
  1453. compatible = "st,stm32-vrefbuf";
  1454. reg = <0x50025000 0x8>;
  1455. regulator-min-microvolt = <1500000>;
  1456. regulator-max-microvolt = <2500000>;
  1457. clocks = <&rcc VREF>;
  1458. access-controllers = <&etzpc 69>;
  1459. status = "disabled";
  1460. };
  1461. sai4: sai@50027000 {
  1462. compatible = "st,stm32h7-sai";
  1463. #address-cells = <1>;
  1464. #size-cells = <1>;
  1465. ranges = <0 0x50027000 0x400>;
  1466. reg = <0x50027000 0x4>, <0x500273f0 0x10>;
  1467. interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
  1468. resets = <&rcc SAI4_R>;
  1469. access-controllers = <&etzpc 68>;
  1470. status = "disabled";
  1471. sai4a: audio-controller@50027004 {
  1472. #sound-dai-cells = <0>;
  1473. compatible = "st,stm32-sai-sub-a";
  1474. reg = <0x04 0x20>;
  1475. clocks = <&rcc SAI4_K>;
  1476. clock-names = "sai_ck";
  1477. dmas = <&dmamux1 99 0x400 0x01>;
  1478. status = "disabled";
  1479. };
  1480. sai4b: audio-controller@50027024 {
  1481. #sound-dai-cells = <0>;
  1482. compatible = "st,stm32-sai-sub-b";
  1483. reg = <0x24 0x20>;
  1484. clocks = <&rcc SAI4_K>;
  1485. clock-names = "sai_ck";
  1486. dmas = <&dmamux1 100 0x400 0x01>;
  1487. status = "disabled";
  1488. };
  1489. };
  1490. hash1: hash@54002000 {
  1491. compatible = "st,stm32f756-hash";
  1492. reg = <0x54002000 0x400>;
  1493. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  1494. clocks = <&rcc HASH1>;
  1495. resets = <&rcc HASH1_R>;
  1496. dmas = <&mdma1 31 0x2 0x1000A02 0x0 0x0>;
  1497. dma-names = "in";
  1498. dma-maxburst = <2>;
  1499. access-controllers = <&etzpc 8>;
  1500. status = "disabled";
  1501. };
  1502. rng1: rng@54003000 {
  1503. compatible = "st,stm32-rng";
  1504. reg = <0x54003000 0x400>;
  1505. clocks = <&rcc RNG1_K>;
  1506. resets = <&rcc RNG1_R>;
  1507. access-controllers = <&etzpc 7>;
  1508. status = "disabled";
  1509. };
  1510. fmc: memory-controller@58002000 {
  1511. #address-cells = <2>;
  1512. #size-cells = <1>;
  1513. compatible = "st,stm32mp1-fmc2-ebi";
  1514. reg = <0x58002000 0x1000>;
  1515. clocks = <&rcc FMC_K>;
  1516. resets = <&rcc FMC_R>;
  1517. access-controllers = <&etzpc 91>;
  1518. status = "disabled";
  1519. ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
  1520. <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
  1521. <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
  1522. <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
  1523. <4 0 0x80000000 0x10000000>; /* NAND */
  1524. nand-controller@4,0 {
  1525. #address-cells = <1>;
  1526. #size-cells = <0>;
  1527. compatible = "st,stm32mp1-fmc2-nfc";
  1528. reg = <4 0x00000000 0x1000>,
  1529. <4 0x08010000 0x1000>,
  1530. <4 0x08020000 0x1000>,
  1531. <4 0x01000000 0x1000>,
  1532. <4 0x09010000 0x1000>,
  1533. <4 0x09020000 0x1000>;
  1534. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  1535. dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
  1536. <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
  1537. <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
  1538. dma-names = "tx", "rx", "ecc";
  1539. status = "disabled";
  1540. };
  1541. };
  1542. qspi: spi@58003000 {
  1543. compatible = "st,stm32f469-qspi";
  1544. reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
  1545. reg-names = "qspi", "qspi_mm";
  1546. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  1547. dmas = <&mdma1 22 0x2 0x10100002 0x0 0x0>,
  1548. <&mdma1 22 0x2 0x10100008 0x0 0x0>;
  1549. dma-names = "tx", "rx";
  1550. clocks = <&rcc QSPI_K>;
  1551. resets = <&rcc QSPI_R>;
  1552. #address-cells = <1>;
  1553. #size-cells = <0>;
  1554. access-controllers = <&etzpc 92>;
  1555. status = "disabled";
  1556. };
  1557. ethernet0: ethernet@5800a000 {
  1558. compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a";
  1559. reg = <0x5800a000 0x2000>;
  1560. reg-names = "stmmaceth";
  1561. interrupts-extended = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
  1562. interrupt-names = "macirq";
  1563. clock-names = "stmmaceth",
  1564. "mac-clk-tx",
  1565. "mac-clk-rx",
  1566. "eth-ck",
  1567. "ptp_ref",
  1568. "ethstp";
  1569. clocks = <&rcc ETHMAC>,
  1570. <&rcc ETHTX>,
  1571. <&rcc ETHRX>,
  1572. <&rcc ETHCK_K>,
  1573. <&rcc ETHPTP_K>,
  1574. <&rcc ETHSTP>;
  1575. st,syscon = <&syscfg 0x4>;
  1576. snps,mixed-burst;
  1577. snps,pbl = <2>;
  1578. snps,en-tx-lpi-clockgating;
  1579. snps,axi-config = <&stmmac_axi_config_0>;
  1580. snps,tso;
  1581. access-controllers = <&etzpc 94>;
  1582. status = "disabled";
  1583. stmmac_axi_config_0: stmmac-axi-config {
  1584. snps,wr_osr_lmt = <0x7>;
  1585. snps,rd_osr_lmt = <0x7>;
  1586. snps,blen = <0 0 0 0 16 8 4>;
  1587. };
  1588. };
  1589. usart1: serial@5c000000 {
  1590. compatible = "st,stm32h7-uart";
  1591. reg = <0x5c000000 0x400>;
  1592. interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
  1593. clocks = <&rcc USART1_K>;
  1594. wakeup-source;
  1595. access-controllers = <&etzpc 3>;
  1596. status = "disabled";
  1597. };
  1598. spi6: spi@5c001000 {
  1599. #address-cells = <1>;
  1600. #size-cells = <0>;
  1601. compatible = "st,stm32h7-spi";
  1602. reg = <0x5c001000 0x400>;
  1603. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  1604. clocks = <&rcc SPI6_K>;
  1605. resets = <&rcc SPI6_R>;
  1606. dmas = <&mdma1 34 0x0 0x40008 0x0 0x0>,
  1607. <&mdma1 35 0x0 0x40002 0x0 0x0>;
  1608. access-controllers = <&etzpc 4>;
  1609. dma-names = "rx", "tx";
  1610. status = "disabled";
  1611. };
  1612. i2c4: i2c@5c002000 {
  1613. compatible = "st,stm32mp15-i2c";
  1614. reg = <0x5c002000 0x400>;
  1615. interrupt-names = "event", "error";
  1616. interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
  1617. <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  1618. clocks = <&rcc I2C4_K>;
  1619. resets = <&rcc I2C4_R>;
  1620. #address-cells = <1>;
  1621. #size-cells = <0>;
  1622. st,syscfg-fmp = <&syscfg 0x4 0x8>;
  1623. wakeup-source;
  1624. i2c-analog-filter;
  1625. access-controllers = <&etzpc 5>;
  1626. status = "disabled";
  1627. };
  1628. i2c6: i2c@5c009000 {
  1629. compatible = "st,stm32mp15-i2c";
  1630. reg = <0x5c009000 0x400>;
  1631. interrupt-names = "event", "error";
  1632. interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  1633. <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
  1634. clocks = <&rcc I2C6_K>;
  1635. resets = <&rcc I2C6_R>;
  1636. #address-cells = <1>;
  1637. #size-cells = <0>;
  1638. st,syscfg-fmp = <&syscfg 0x4 0x20>;
  1639. wakeup-source;
  1640. i2c-analog-filter;
  1641. access-controllers = <&etzpc 12>;
  1642. status = "disabled";
  1643. };
  1644. };
  1645. tamp: tamp@5c00a000 {
  1646. compatible = "st,stm32-tamp", "syscon", "simple-mfd";
  1647. reg = <0x5c00a000 0x400>;
  1648. };
  1649. /*
  1650. * Break node order to solve dependency probe issue between
  1651. * pinctrl and exti.
  1652. */
  1653. pinctrl: pinctrl@50002000 {
  1654. #address-cells = <1>;
  1655. #size-cells = <1>;
  1656. compatible = "st,stm32mp157-pinctrl";
  1657. ranges = <0 0x50002000 0xa400>;
  1658. interrupt-parent = <&exti>;
  1659. st,syscfg = <&exti 0x60 0xff>;
  1660. gpioa: gpio@50002000 {
  1661. gpio-controller;
  1662. #gpio-cells = <2>;
  1663. interrupt-controller;
  1664. #interrupt-cells = <2>;
  1665. reg = <0x0 0x400>;
  1666. clocks = <&rcc GPIOA>;
  1667. st,bank-name = "GPIOA";
  1668. status = "disabled";
  1669. };
  1670. gpiob: gpio@50003000 {
  1671. gpio-controller;
  1672. #gpio-cells = <2>;
  1673. interrupt-controller;
  1674. #interrupt-cells = <2>;
  1675. reg = <0x1000 0x400>;
  1676. clocks = <&rcc GPIOB>;
  1677. st,bank-name = "GPIOB";
  1678. status = "disabled";
  1679. };
  1680. gpioc: gpio@50004000 {
  1681. gpio-controller;
  1682. #gpio-cells = <2>;
  1683. interrupt-controller;
  1684. #interrupt-cells = <2>;
  1685. reg = <0x2000 0x400>;
  1686. clocks = <&rcc GPIOC>;
  1687. st,bank-name = "GPIOC";
  1688. status = "disabled";
  1689. };
  1690. gpiod: gpio@50005000 {
  1691. gpio-controller;
  1692. #gpio-cells = <2>;
  1693. interrupt-controller;
  1694. #interrupt-cells = <2>;
  1695. reg = <0x3000 0x400>;
  1696. clocks = <&rcc GPIOD>;
  1697. st,bank-name = "GPIOD";
  1698. status = "disabled";
  1699. };
  1700. gpioe: gpio@50006000 {
  1701. gpio-controller;
  1702. #gpio-cells = <2>;
  1703. interrupt-controller;
  1704. #interrupt-cells = <2>;
  1705. reg = <0x4000 0x400>;
  1706. clocks = <&rcc GPIOE>;
  1707. st,bank-name = "GPIOE";
  1708. status = "disabled";
  1709. };
  1710. gpiof: gpio@50007000 {
  1711. gpio-controller;
  1712. #gpio-cells = <2>;
  1713. interrupt-controller;
  1714. #interrupt-cells = <2>;
  1715. reg = <0x5000 0x400>;
  1716. clocks = <&rcc GPIOF>;
  1717. st,bank-name = "GPIOF";
  1718. status = "disabled";
  1719. };
  1720. gpiog: gpio@50008000 {
  1721. gpio-controller;
  1722. #gpio-cells = <2>;
  1723. interrupt-controller;
  1724. #interrupt-cells = <2>;
  1725. reg = <0x6000 0x400>;
  1726. clocks = <&rcc GPIOG>;
  1727. st,bank-name = "GPIOG";
  1728. status = "disabled";
  1729. };
  1730. gpioh: gpio@50009000 {
  1731. gpio-controller;
  1732. #gpio-cells = <2>;
  1733. interrupt-controller;
  1734. #interrupt-cells = <2>;
  1735. reg = <0x7000 0x400>;
  1736. clocks = <&rcc GPIOH>;
  1737. st,bank-name = "GPIOH";
  1738. status = "disabled";
  1739. };
  1740. gpioi: gpio@5000a000 {
  1741. gpio-controller;
  1742. #gpio-cells = <2>;
  1743. interrupt-controller;
  1744. #interrupt-cells = <2>;
  1745. reg = <0x8000 0x400>;
  1746. clocks = <&rcc GPIOI>;
  1747. st,bank-name = "GPIOI";
  1748. status = "disabled";
  1749. };
  1750. gpioj: gpio@5000b000 {
  1751. gpio-controller;
  1752. #gpio-cells = <2>;
  1753. interrupt-controller;
  1754. #interrupt-cells = <2>;
  1755. reg = <0x9000 0x400>;
  1756. clocks = <&rcc GPIOJ>;
  1757. st,bank-name = "GPIOJ";
  1758. status = "disabled";
  1759. };
  1760. gpiok: gpio@5000c000 {
  1761. gpio-controller;
  1762. #gpio-cells = <2>;
  1763. interrupt-controller;
  1764. #interrupt-cells = <2>;
  1765. reg = <0xa000 0x400>;
  1766. clocks = <&rcc GPIOK>;
  1767. st,bank-name = "GPIOK";
  1768. status = "disabled";
  1769. };
  1770. };
  1771. pinctrl_z: pinctrl@54004000 {
  1772. #address-cells = <1>;
  1773. #size-cells = <1>;
  1774. compatible = "st,stm32mp157-z-pinctrl";
  1775. ranges = <0 0x54004000 0x400>;
  1776. interrupt-parent = <&exti>;
  1777. st,syscfg = <&exti 0x60 0xff>;
  1778. gpioz: gpio@54004000 {
  1779. gpio-controller;
  1780. #gpio-cells = <2>;
  1781. interrupt-controller;
  1782. #interrupt-cells = <2>;
  1783. reg = <0 0x400>;
  1784. clocks = <&rcc GPIOZ>;
  1785. st,bank-name = "GPIOZ";
  1786. st,bank-ioport = <11>;
  1787. status = "disabled";
  1788. };
  1789. };
  1790. };
  1791. mlahb: ahb {
  1792. compatible = "st,mlahb", "simple-bus";
  1793. #address-cells = <1>;
  1794. #size-cells = <1>;
  1795. ranges;
  1796. dma-ranges = <0x00000000 0x38000000 0x10000>,
  1797. <0x10000000 0x10000000 0x60000>,
  1798. <0x30000000 0x30000000 0x60000>;
  1799. m4_rproc: m4@10000000 {
  1800. compatible = "st,stm32mp1-m4";
  1801. reg = <0x10000000 0x40000>,
  1802. <0x30000000 0x40000>,
  1803. <0x38000000 0x10000>;
  1804. resets = <&rcc MCU_R>;
  1805. reset-names = "mcu_rst";
  1806. st,syscfg-holdboot = <&rcc 0x10C 0x1>;
  1807. st,syscfg-pdds = <&pwr_mcu 0x0 0x1>;
  1808. st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
  1809. st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
  1810. status = "disabled";
  1811. };
  1812. };
  1813. };