stm32mp151.dtsi 44 KB

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