stm32mp151.dtsi 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  1. // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
  2. /*
  3. * Copyright (c) 2017-2024, STMicroelectronics - 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. device_type = "cpu";
  18. reg = <0>;
  19. nvmem-cells = <&part_number_otp>;
  20. nvmem-cell-names = "part_number";
  21. };
  22. };
  23. psci {
  24. compatible = "arm,psci-1.0";
  25. method = "smc";
  26. };
  27. intc: interrupt-controller@a0021000 {
  28. compatible = "arm,cortex-a7-gic";
  29. #interrupt-cells = <3>;
  30. interrupt-controller;
  31. reg = <0xa0021000 0x1000>,
  32. <0xa0022000 0x2000>;
  33. };
  34. clocks {
  35. clk_hse: clk-hse {
  36. #clock-cells = <0>;
  37. compatible = "fixed-clock";
  38. clock-frequency = <24000000>;
  39. };
  40. clk_hsi: clk-hsi {
  41. #clock-cells = <0>;
  42. compatible = "fixed-clock";
  43. clock-frequency = <64000000>;
  44. };
  45. clk_lse: clk-lse {
  46. #clock-cells = <0>;
  47. compatible = "fixed-clock";
  48. clock-frequency = <32768>;
  49. };
  50. clk_lsi: clk-lsi {
  51. #clock-cells = <0>;
  52. compatible = "fixed-clock";
  53. clock-frequency = <32000>;
  54. };
  55. clk_csi: clk-csi {
  56. #clock-cells = <0>;
  57. compatible = "fixed-clock";
  58. clock-frequency = <4000000>;
  59. };
  60. };
  61. soc {
  62. compatible = "simple-bus";
  63. #address-cells = <1>;
  64. #size-cells = <1>;
  65. interrupt-parent = <&intc>;
  66. ranges;
  67. timers12: timer@40006000 {
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. compatible = "st,stm32-timers";
  71. reg = <0x40006000 0x400>;
  72. clocks = <&rcc TIM12_K>;
  73. clock-names = "int";
  74. status = "disabled";
  75. };
  76. usart2: serial@4000e000 {
  77. compatible = "st,stm32h7-uart";
  78. reg = <0x4000e000 0x400>;
  79. interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
  80. clocks = <&rcc USART2_K>;
  81. resets = <&rcc USART2_R>;
  82. status = "disabled";
  83. };
  84. usart3: serial@4000f000 {
  85. compatible = "st,stm32h7-uart";
  86. reg = <0x4000f000 0x400>;
  87. interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
  88. clocks = <&rcc USART3_K>;
  89. resets = <&rcc USART3_R>;
  90. status = "disabled";
  91. };
  92. uart4: serial@40010000 {
  93. compatible = "st,stm32h7-uart";
  94. reg = <0x40010000 0x400>;
  95. interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
  96. clocks = <&rcc UART4_K>;
  97. resets = <&rcc UART4_R>;
  98. wakeup-source;
  99. status = "disabled";
  100. };
  101. uart5: serial@40011000 {
  102. compatible = "st,stm32h7-uart";
  103. reg = <0x40011000 0x400>;
  104. interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
  105. clocks = <&rcc UART5_K>;
  106. resets = <&rcc UART5_R>;
  107. status = "disabled";
  108. };
  109. i2c2: i2c@40013000 {
  110. compatible = "st,stm32mp15-i2c";
  111. reg = <0x40013000 0x400>;
  112. interrupt-names = "event", "error";
  113. interrupts-extended = <&exti 22 IRQ_TYPE_LEVEL_HIGH>,
  114. <&intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  115. clocks = <&rcc I2C2_K>;
  116. resets = <&rcc I2C2_R>;
  117. #address-cells = <1>;
  118. #size-cells = <0>;
  119. st,syscfg-fmp = <&syscfg 0x4 0x2>;
  120. wakeup-source;
  121. status = "disabled";
  122. };
  123. uart7: serial@40018000 {
  124. compatible = "st,stm32h7-uart";
  125. reg = <0x40018000 0x400>;
  126. interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
  127. clocks = <&rcc UART7_K>;
  128. resets = <&rcc UART7_R>;
  129. status = "disabled";
  130. };
  131. uart8: serial@40019000 {
  132. compatible = "st,stm32h7-uart";
  133. reg = <0x40019000 0x400>;
  134. interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
  135. clocks = <&rcc UART8_K>;
  136. resets = <&rcc UART8_R>;
  137. status = "disabled";
  138. };
  139. usart6: serial@44003000 {
  140. compatible = "st,stm32h7-uart";
  141. reg = <0x44003000 0x400>;
  142. interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
  143. clocks = <&rcc USART6_K>;
  144. resets = <&rcc USART6_R>;
  145. status = "disabled";
  146. };
  147. timers15: timer@44006000 {
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. compatible = "st,stm32-timers";
  151. reg = <0x44006000 0x400>;
  152. clocks = <&rcc TIM15_K>;
  153. clock-names = "int";
  154. status = "disabled";
  155. };
  156. usbotg_hs: usb-otg@49000000 {
  157. compatible = "st,stm32mp15-hsotg", "snps,dwc2";
  158. reg = <0x49000000 0x10000>;
  159. clocks = <&rcc USBO_K>;
  160. clock-names = "otg";
  161. resets = <&rcc USBO_R>;
  162. reset-names = "dwc2";
  163. interrupts-extended = <&exti 44 IRQ_TYPE_LEVEL_HIGH>;
  164. g-rx-fifo-size = <512>;
  165. g-np-tx-fifo-size = <32>;
  166. g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
  167. dr_mode = "otg";
  168. usb33d-supply = <&usb33>;
  169. status = "disabled";
  170. };
  171. rcc: rcc@50000000 {
  172. compatible = "st,stm32mp1-rcc", "syscon";
  173. reg = <0x50000000 0x1000>;
  174. #address-cells = <1>;
  175. #size-cells = <0>;
  176. #clock-cells = <1>;
  177. #reset-cells = <1>;
  178. interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
  179. secure-interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
  180. secure-interrupt-names = "wakeup";
  181. };
  182. pwr_regulators: pwr@50001000 {
  183. compatible = "st,stm32mp1,pwr-reg";
  184. reg = <0x50001000 0x10>;
  185. st,tzcr = <&rcc 0x0 0x1>;
  186. reg11: reg11 {
  187. regulator-name = "reg11";
  188. regulator-min-microvolt = <1100000>;
  189. regulator-max-microvolt = <1100000>;
  190. };
  191. reg18: reg18 {
  192. regulator-name = "reg18";
  193. regulator-min-microvolt = <1800000>;
  194. regulator-max-microvolt = <1800000>;
  195. };
  196. usb33: usb33 {
  197. regulator-name = "usb33";
  198. regulator-min-microvolt = <3300000>;
  199. regulator-max-microvolt = <3300000>;
  200. };
  201. };
  202. pwr_mcu: pwr_mcu@50001014 {
  203. compatible = "st,stm32mp151-pwr-mcu", "syscon";
  204. reg = <0x50001014 0x4>;
  205. };
  206. pwr_irq: pwr@50001020 {
  207. compatible = "st,stm32mp1-pwr";
  208. reg = <0x50001020 0x100>;
  209. interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
  210. interrupt-controller;
  211. #interrupt-cells = <3>;
  212. };
  213. exti: interrupt-controller@5000d000 {
  214. compatible = "st,stm32mp1-exti", "syscon";
  215. interrupt-controller;
  216. #interrupt-cells = <2>;
  217. reg = <0x5000d000 0x400>;
  218. /* exti_pwr is an extra interrupt controller used for
  219. * EXTI 55 to 60. It's mapped on pwr interrupt
  220. * controller.
  221. */
  222. exti_pwr: exti-pwr {
  223. interrupt-controller;
  224. #interrupt-cells = <2>;
  225. interrupt-parent = <&pwr_irq>;
  226. st,irq-number = <6>;
  227. };
  228. };
  229. syscfg: syscon@50020000 {
  230. compatible = "st,stm32mp157-syscfg", "syscon";
  231. reg = <0x50020000 0x400>;
  232. clocks = <&rcc SYSCFG>;
  233. };
  234. hash1: hash@54002000 {
  235. compatible = "st,stm32f756-hash";
  236. reg = <0x54002000 0x400>;
  237. interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  238. clocks = <&rcc HASH1>;
  239. resets = <&rcc HASH1_R>;
  240. status = "disabled";
  241. };
  242. rng1: rng@54003000 {
  243. compatible = "st,stm32-rng";
  244. reg = <0x54003000 0x400>;
  245. clocks = <&rcc RNG1_K>;
  246. resets = <&rcc RNG1_R>;
  247. status = "disabled";
  248. };
  249. fmc: memory-controller@58002000 {
  250. #address-cells = <2>;
  251. #size-cells = <1>;
  252. compatible = "st,stm32mp1-fmc2-ebi";
  253. reg = <0x58002000 0x1000>;
  254. clocks = <&rcc FMC_K>;
  255. resets = <&rcc FMC_R>;
  256. status = "disabled";
  257. ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
  258. <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
  259. <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
  260. <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
  261. <4 0 0x80000000 0x10000000>; /* NAND */
  262. nand-controller@4,0 {
  263. #address-cells = <1>;
  264. #size-cells = <0>;
  265. compatible = "st,stm32mp1-fmc2-nfc";
  266. reg = <4 0x00000000 0x1000>,
  267. <4 0x08010000 0x1000>,
  268. <4 0x08020000 0x1000>,
  269. <4 0x01000000 0x1000>,
  270. <4 0x09010000 0x1000>,
  271. <4 0x09020000 0x1000>;
  272. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
  273. status = "disabled";
  274. };
  275. };
  276. qspi: spi@58003000 {
  277. compatible = "st,stm32f469-qspi";
  278. reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
  279. reg-names = "qspi", "qspi_mm";
  280. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  281. clocks = <&rcc QSPI_K>;
  282. resets = <&rcc QSPI_R>;
  283. status = "disabled";
  284. };
  285. sdmmc1: mmc@58005000 {
  286. compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
  287. arm,primecell-periphid = <0x00253180>;
  288. reg = <0x58005000 0x1000>;
  289. interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
  290. clocks = <&rcc SDMMC1_K>;
  291. clock-names = "apb_pclk";
  292. resets = <&rcc SDMMC1_R>;
  293. cap-sd-highspeed;
  294. cap-mmc-highspeed;
  295. max-frequency = <120000000>;
  296. status = "disabled";
  297. };
  298. sdmmc2: mmc@58007000 {
  299. compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
  300. arm,primecell-periphid = <0x00253180>;
  301. reg = <0x58007000 0x1000>;
  302. interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
  303. clocks = <&rcc SDMMC2_K>;
  304. clock-names = "apb_pclk";
  305. resets = <&rcc SDMMC2_R>;
  306. cap-sd-highspeed;
  307. cap-mmc-highspeed;
  308. max-frequency = <120000000>;
  309. status = "disabled";
  310. };
  311. iwdg2: watchdog@5a002000 {
  312. compatible = "st,stm32mp1-iwdg";
  313. reg = <0x5a002000 0x400>;
  314. secure-interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
  315. clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
  316. clock-names = "pclk", "lsi";
  317. status = "disabled";
  318. };
  319. ddr: ddr@5a003000 {
  320. compatible = "st,stm32mp1-ddr";
  321. reg = <0x5A003000 0x550 0x5A004000 0x234>;
  322. clocks = <&rcc AXIDCG>,
  323. <&rcc DDRC1>,
  324. <&rcc DDRC2>,
  325. <&rcc DDRPHYC>,
  326. <&rcc DDRCAPB>,
  327. <&rcc DDRPHYCAPB>;
  328. clock-names = "axidcg",
  329. "ddrc1",
  330. "ddrc2",
  331. "ddrphyc",
  332. "ddrcapb",
  333. "ddrphycapb";
  334. status = "okay";
  335. };
  336. usbphyc: usbphyc@5a006000 {
  337. #address-cells = <1>;
  338. #size-cells = <0>;
  339. #clock-cells = <0>;
  340. compatible = "st,stm32mp1-usbphyc";
  341. reg = <0x5a006000 0x1000>;
  342. clocks = <&rcc USBPHY_K>;
  343. resets = <&rcc USBPHY_R>;
  344. vdda1v1-supply = <&reg11>;
  345. vdda1v8-supply = <&reg18>;
  346. status = "disabled";
  347. usbphyc_port0: usb-phy@0 {
  348. #phy-cells = <0>;
  349. reg = <0>;
  350. };
  351. usbphyc_port1: usb-phy@1 {
  352. #phy-cells = <1>;
  353. reg = <1>;
  354. };
  355. };
  356. usart1: serial@5c000000 {
  357. compatible = "st,stm32h7-uart";
  358. reg = <0x5c000000 0x400>;
  359. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  360. clocks = <&rcc USART1_K>;
  361. resets = <&rcc USART1_R>;
  362. status = "disabled";
  363. };
  364. spi6: spi@5c001000 {
  365. #address-cells = <1>;
  366. #size-cells = <0>;
  367. compatible = "st,stm32h7-spi";
  368. reg = <0x5c001000 0x400>;
  369. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
  370. clocks = <&rcc SPI6_K>;
  371. resets = <&rcc SPI6_R>;
  372. status = "disabled";
  373. };
  374. i2c4: i2c@5c002000 {
  375. compatible = "st,stm32mp15-i2c";
  376. reg = <0x5c002000 0x400>;
  377. interrupt-names = "event", "error";
  378. interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>,
  379. <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  380. clocks = <&rcc I2C4_K>;
  381. resets = <&rcc I2C4_R>;
  382. #address-cells = <1>;
  383. #size-cells = <0>;
  384. st,syscfg-fmp = <&syscfg 0x4 0x8>;
  385. wakeup-source;
  386. status = "disabled";
  387. };
  388. iwdg1: watchdog@5c003000 {
  389. compatible = "st,stm32mp1-iwdg";
  390. reg = <0x5C003000 0x400>;
  391. interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
  392. clocks = <&rcc IWDG1>, <&rcc CK_LSI>;
  393. clock-names = "pclk", "lsi";
  394. status = "disabled";
  395. };
  396. rtc: rtc@5c004000 {
  397. compatible = "st,stm32mp1-rtc";
  398. reg = <0x5c004000 0x400>;
  399. clocks = <&rcc RTCAPB>, <&rcc RTC>;
  400. clock-names = "pclk", "rtc_ck";
  401. interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
  402. status = "disabled";
  403. };
  404. bsec: efuse@5c005000 {
  405. compatible = "st,stm32mp15-bsec";
  406. reg = <0x5c005000 0x400>;
  407. #address-cells = <1>;
  408. #size-cells = <1>;
  409. cfg0_otp: cfg0-otp@0 {
  410. reg = <0x0 0x1>;
  411. };
  412. part_number_otp: part-number-otp@4 {
  413. reg = <0x4 0x1>;
  414. };
  415. monotonic_otp: monotonic-otp@10 {
  416. reg = <0x10 0x4>;
  417. };
  418. nand_otp: nand-otp@24 {
  419. reg = <0x24 0x4>;
  420. };
  421. uid_otp: uid-otp@34 {
  422. reg = <0x34 0xc>;
  423. };
  424. package_otp: package-otp@40 {
  425. reg = <0x40 0x4>;
  426. };
  427. hw2_otp: hw2-otp@48 {
  428. reg = <0x48 0x4>;
  429. };
  430. ts_cal1: calib@5c {
  431. reg = <0x5c 0x2>;
  432. };
  433. ts_cal2: calib@5e {
  434. reg = <0x5e 0x2>;
  435. };
  436. pkh_otp: pkh-otp@60 {
  437. reg = <0x60 0x20>;
  438. };
  439. ethernet_mac_address: mac@e4 {
  440. reg = <0xe4 0x8>;
  441. st,non-secure-otp;
  442. };
  443. };
  444. etzpc: etzpc@5c007000 {
  445. compatible = "st,stm32-etzpc";
  446. reg = <0x5C007000 0x400>;
  447. clocks = <&rcc TZPC>;
  448. };
  449. stgen: stgen@5c008000 {
  450. compatible = "st,stm32-stgen";
  451. reg = <0x5C008000 0x1000>;
  452. };
  453. i2c6: i2c@5c009000 {
  454. compatible = "st,stm32mp15-i2c";
  455. reg = <0x5c009000 0x400>;
  456. interrupt-names = "event", "error";
  457. interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>,
  458. <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
  459. clocks = <&rcc I2C6_K>;
  460. resets = <&rcc I2C6_R>;
  461. #address-cells = <1>;
  462. #size-cells = <0>;
  463. st,syscfg-fmp = <&syscfg 0x4 0x20>;
  464. wakeup-source;
  465. status = "disabled";
  466. };
  467. tamp: tamp@5c00a000 {
  468. compatible = "st,stm32-tamp", "syscon", "simple-mfd";
  469. reg = <0x5c00a000 0x400>;
  470. secure-interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
  471. clocks = <&rcc RTCAPB>;
  472. };
  473. /*
  474. * Break node order to solve dependency probe issue between
  475. * pinctrl and exti.
  476. */
  477. pinctrl: pinctrl@50002000 {
  478. #address-cells = <1>;
  479. #size-cells = <1>;
  480. compatible = "st,stm32mp157-pinctrl";
  481. ranges = <0 0x50002000 0xa400>;
  482. interrupt-parent = <&exti>;
  483. st,syscfg = <&exti 0x60 0xff>;
  484. gpioa: gpio@50002000 {
  485. gpio-controller;
  486. #gpio-cells = <2>;
  487. interrupt-controller;
  488. #interrupt-cells = <2>;
  489. reg = <0x0 0x400>;
  490. clocks = <&rcc GPIOA>;
  491. st,bank-name = "GPIOA";
  492. status = "disabled";
  493. };
  494. gpiob: gpio@50003000 {
  495. gpio-controller;
  496. #gpio-cells = <2>;
  497. interrupt-controller;
  498. #interrupt-cells = <2>;
  499. reg = <0x1000 0x400>;
  500. clocks = <&rcc GPIOB>;
  501. st,bank-name = "GPIOB";
  502. status = "disabled";
  503. };
  504. gpioc: gpio@50004000 {
  505. gpio-controller;
  506. #gpio-cells = <2>;
  507. interrupt-controller;
  508. #interrupt-cells = <2>;
  509. reg = <0x2000 0x400>;
  510. clocks = <&rcc GPIOC>;
  511. st,bank-name = "GPIOC";
  512. status = "disabled";
  513. };
  514. gpiod: gpio@50005000 {
  515. gpio-controller;
  516. #gpio-cells = <2>;
  517. interrupt-controller;
  518. #interrupt-cells = <2>;
  519. reg = <0x3000 0x400>;
  520. clocks = <&rcc GPIOD>;
  521. st,bank-name = "GPIOD";
  522. status = "disabled";
  523. };
  524. gpioe: gpio@50006000 {
  525. gpio-controller;
  526. #gpio-cells = <2>;
  527. interrupt-controller;
  528. #interrupt-cells = <2>;
  529. reg = <0x4000 0x400>;
  530. clocks = <&rcc GPIOE>;
  531. st,bank-name = "GPIOE";
  532. status = "disabled";
  533. };
  534. gpiof: gpio@50007000 {
  535. gpio-controller;
  536. #gpio-cells = <2>;
  537. interrupt-controller;
  538. #interrupt-cells = <2>;
  539. reg = <0x5000 0x400>;
  540. clocks = <&rcc GPIOF>;
  541. st,bank-name = "GPIOF";
  542. status = "disabled";
  543. };
  544. gpiog: gpio@50008000 {
  545. gpio-controller;
  546. #gpio-cells = <2>;
  547. interrupt-controller;
  548. #interrupt-cells = <2>;
  549. reg = <0x6000 0x400>;
  550. clocks = <&rcc GPIOG>;
  551. st,bank-name = "GPIOG";
  552. status = "disabled";
  553. };
  554. gpioh: gpio@50009000 {
  555. gpio-controller;
  556. #gpio-cells = <2>;
  557. interrupt-controller;
  558. #interrupt-cells = <2>;
  559. reg = <0x7000 0x400>;
  560. clocks = <&rcc GPIOH>;
  561. st,bank-name = "GPIOH";
  562. status = "disabled";
  563. };
  564. gpioi: gpio@5000a000 {
  565. gpio-controller;
  566. #gpio-cells = <2>;
  567. interrupt-controller;
  568. #interrupt-cells = <2>;
  569. reg = <0x8000 0x400>;
  570. clocks = <&rcc GPIOI>;
  571. st,bank-name = "GPIOI";
  572. status = "disabled";
  573. };
  574. gpioj: gpio@5000b000 {
  575. gpio-controller;
  576. #gpio-cells = <2>;
  577. interrupt-controller;
  578. #interrupt-cells = <2>;
  579. reg = <0x9000 0x400>;
  580. clocks = <&rcc GPIOJ>;
  581. st,bank-name = "GPIOJ";
  582. status = "disabled";
  583. };
  584. gpiok: gpio@5000c000 {
  585. gpio-controller;
  586. #gpio-cells = <2>;
  587. interrupt-controller;
  588. #interrupt-cells = <2>;
  589. reg = <0xa000 0x400>;
  590. clocks = <&rcc GPIOK>;
  591. st,bank-name = "GPIOK";
  592. status = "disabled";
  593. };
  594. };
  595. pinctrl_z: pinctrl@54004000 {
  596. #address-cells = <1>;
  597. #size-cells = <1>;
  598. compatible = "st,stm32mp157-z-pinctrl";
  599. ranges = <0 0x54004000 0x400>;
  600. interrupt-parent = <&exti>;
  601. st,syscfg = <&exti 0x60 0xff>;
  602. gpioz: gpio@54004000 {
  603. gpio-controller;
  604. #gpio-cells = <2>;
  605. interrupt-controller;
  606. #interrupt-cells = <2>;
  607. reg = <0 0x400>;
  608. clocks = <&rcc GPIOZ>;
  609. st,bank-name = "GPIOZ";
  610. st,bank-ioport = <11>;
  611. status = "disabled";
  612. };
  613. };
  614. };
  615. };