stm32f746.dtsi 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693
  1. /*
  2. * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
  3. *
  4. * This file is dual-licensed: you can use it either under the terms
  5. * of the GPL or the X11 license, at your option. Note that this dual
  6. * licensing only applies to this file, and not this project as a
  7. * whole.
  8. *
  9. * a) This file is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License as
  11. * published by the Free Software Foundation; either version 2 of the
  12. * License, or (at your option) any later version.
  13. *
  14. * This file is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * Or, alternatively,
  20. *
  21. * b) Permission is hereby granted, free of charge, to any person
  22. * obtaining a copy of this software and associated documentation
  23. * files (the "Software"), to deal in the Software without
  24. * restriction, including without limitation the rights to use,
  25. * copy, modify, merge, publish, distribute, sublicense, and/or
  26. * sell copies of the Software, and to permit persons to whom the
  27. * Software is furnished to do so, subject to the following
  28. * conditions:
  29. *
  30. * The above copyright notice and this permission notice shall be
  31. * included in all copies or substantial portions of the Software.
  32. *
  33. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  34. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  35. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  36. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  37. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  38. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  39. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  40. * OTHER DEALINGS IN THE SOFTWARE.
  41. */
  42. #include "../armv7-m.dtsi"
  43. #include <dt-bindings/clock/stm32fx-clock.h>
  44. #include <dt-bindings/mfd/stm32f7-rcc.h>
  45. / {
  46. #address-cells = <1>;
  47. #size-cells = <1>;
  48. clocks {
  49. clk_hse: clk-hse {
  50. #clock-cells = <0>;
  51. compatible = "fixed-clock";
  52. clock-frequency = <0>;
  53. };
  54. clk-lse {
  55. #clock-cells = <0>;
  56. compatible = "fixed-clock";
  57. clock-frequency = <32768>;
  58. };
  59. clk-lsi {
  60. #clock-cells = <0>;
  61. compatible = "fixed-clock";
  62. clock-frequency = <32000>;
  63. };
  64. clk_i2s_ckin: clk-i2s-ckin {
  65. #clock-cells = <0>;
  66. compatible = "fixed-clock";
  67. clock-frequency = <48000000>;
  68. };
  69. };
  70. soc {
  71. timers2: timers@40000000 {
  72. #address-cells = <1>;
  73. #size-cells = <0>;
  74. compatible = "st,stm32-timers";
  75. reg = <0x40000000 0x400>;
  76. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>;
  77. clock-names = "int";
  78. status = "disabled";
  79. pwm {
  80. compatible = "st,stm32-pwm";
  81. #pwm-cells = <3>;
  82. status = "disabled";
  83. };
  84. timer@1 {
  85. compatible = "st,stm32-timer-trigger";
  86. reg = <1>;
  87. status = "disabled";
  88. };
  89. };
  90. timers3: timers@40000400 {
  91. #address-cells = <1>;
  92. #size-cells = <0>;
  93. compatible = "st,stm32-timers";
  94. reg = <0x40000400 0x400>;
  95. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>;
  96. clock-names = "int";
  97. status = "disabled";
  98. pwm {
  99. compatible = "st,stm32-pwm";
  100. #pwm-cells = <3>;
  101. status = "disabled";
  102. };
  103. timer@2 {
  104. compatible = "st,stm32-timer-trigger";
  105. reg = <2>;
  106. status = "disabled";
  107. };
  108. };
  109. timers4: timers@40000800 {
  110. #address-cells = <1>;
  111. #size-cells = <0>;
  112. compatible = "st,stm32-timers";
  113. reg = <0x40000800 0x400>;
  114. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>;
  115. clock-names = "int";
  116. status = "disabled";
  117. pwm {
  118. compatible = "st,stm32-pwm";
  119. #pwm-cells = <3>;
  120. status = "disabled";
  121. };
  122. timer@3 {
  123. compatible = "st,stm32-timer-trigger";
  124. reg = <3>;
  125. status = "disabled";
  126. };
  127. };
  128. timers5: timers@40000c00 {
  129. #address-cells = <1>;
  130. #size-cells = <0>;
  131. compatible = "st,stm32-timers";
  132. reg = <0x40000C00 0x400>;
  133. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>;
  134. clock-names = "int";
  135. status = "disabled";
  136. pwm {
  137. compatible = "st,stm32-pwm";
  138. #pwm-cells = <3>;
  139. status = "disabled";
  140. };
  141. timer@4 {
  142. compatible = "st,stm32-timer-trigger";
  143. reg = <4>;
  144. status = "disabled";
  145. };
  146. };
  147. timers6: timers@40001000 {
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. compatible = "st,stm32-timers";
  151. reg = <0x40001000 0x400>;
  152. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>;
  153. clock-names = "int";
  154. status = "disabled";
  155. timer@5 {
  156. compatible = "st,stm32-timer-trigger";
  157. reg = <5>;
  158. status = "disabled";
  159. };
  160. };
  161. timers7: timers@40001400 {
  162. #address-cells = <1>;
  163. #size-cells = <0>;
  164. compatible = "st,stm32-timers";
  165. reg = <0x40001400 0x400>;
  166. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>;
  167. clock-names = "int";
  168. status = "disabled";
  169. timer@6 {
  170. compatible = "st,stm32-timer-trigger";
  171. reg = <6>;
  172. status = "disabled";
  173. };
  174. };
  175. timers12: timers@40001800 {
  176. #address-cells = <1>;
  177. #size-cells = <0>;
  178. compatible = "st,stm32-timers";
  179. reg = <0x40001800 0x400>;
  180. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM12)>;
  181. clock-names = "int";
  182. status = "disabled";
  183. pwm {
  184. compatible = "st,stm32-pwm";
  185. #pwm-cells = <3>;
  186. status = "disabled";
  187. };
  188. timer@11 {
  189. compatible = "st,stm32-timer-trigger";
  190. reg = <11>;
  191. status = "disabled";
  192. };
  193. };
  194. timers13: timers@40001c00 {
  195. compatible = "st,stm32-timers";
  196. reg = <0x40001C00 0x400>;
  197. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM13)>;
  198. clock-names = "int";
  199. status = "disabled";
  200. pwm {
  201. compatible = "st,stm32-pwm";
  202. #pwm-cells = <3>;
  203. status = "disabled";
  204. };
  205. };
  206. timers14: timers@40002000 {
  207. compatible = "st,stm32-timers";
  208. reg = <0x40002000 0x400>;
  209. clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM14)>;
  210. clock-names = "int";
  211. status = "disabled";
  212. pwm {
  213. compatible = "st,stm32-pwm";
  214. #pwm-cells = <3>;
  215. status = "disabled";
  216. };
  217. };
  218. rtc: rtc@40002800 {
  219. compatible = "st,stm32-rtc";
  220. reg = <0x40002800 0x400>;
  221. clocks = <&rcc 1 CLK_RTC>;
  222. assigned-clocks = <&rcc 1 CLK_RTC>;
  223. assigned-clock-parents = <&rcc 1 CLK_LSE>;
  224. interrupt-parent = <&exti>;
  225. interrupts = <17 1>;
  226. st,syscfg = <&pwrcfg 0x00 0x100>;
  227. status = "disabled";
  228. };
  229. spi2: spi@40003800 {
  230. #address-cells = <1>;
  231. #size-cells = <0>;
  232. compatible = "st,stm32f7-spi";
  233. reg = <0x40003800 0x400>;
  234. interrupts = <36>;
  235. clocks = <&rcc 0 STM32F7_APB1_CLOCK(SPI2)>;
  236. status = "disabled";
  237. };
  238. spi3: spi@40003c00 {
  239. #address-cells = <1>;
  240. #size-cells = <0>;
  241. compatible = "st,stm32f7-spi";
  242. reg = <0x40003c00 0x400>;
  243. interrupts = <51>;
  244. clocks = <&rcc 0 STM32F7_APB1_CLOCK(SPI3)>;
  245. status = "disabled";
  246. };
  247. usart2: serial@40004400 {
  248. compatible = "st,stm32f7-uart";
  249. reg = <0x40004400 0x400>;
  250. interrupts = <38>;
  251. clocks = <&rcc 1 CLK_USART2>;
  252. status = "disabled";
  253. };
  254. usart3: serial@40004800 {
  255. compatible = "st,stm32f7-uart";
  256. reg = <0x40004800 0x400>;
  257. interrupts = <39>;
  258. clocks = <&rcc 1 CLK_USART3>;
  259. status = "disabled";
  260. };
  261. usart4: serial@40004c00 {
  262. compatible = "st,stm32f7-uart";
  263. reg = <0x40004c00 0x400>;
  264. interrupts = <52>;
  265. clocks = <&rcc 1 CLK_UART4>;
  266. status = "disabled";
  267. };
  268. usart5: serial@40005000 {
  269. compatible = "st,stm32f7-uart";
  270. reg = <0x40005000 0x400>;
  271. interrupts = <53>;
  272. clocks = <&rcc 1 CLK_UART5>;
  273. status = "disabled";
  274. };
  275. i2c1: i2c@40005400 {
  276. compatible = "st,stm32f7-i2c";
  277. reg = <0x40005400 0x400>;
  278. interrupts = <31>,
  279. <32>;
  280. resets = <&rcc STM32F7_APB1_RESET(I2C1)>;
  281. clocks = <&rcc 1 CLK_I2C1>;
  282. #address-cells = <1>;
  283. #size-cells = <0>;
  284. status = "disabled";
  285. };
  286. i2c2: i2c@40005800 {
  287. compatible = "st,stm32f7-i2c";
  288. reg = <0x40005800 0x400>;
  289. interrupts = <33>,
  290. <34>;
  291. resets = <&rcc STM32F7_APB1_RESET(I2C2)>;
  292. clocks = <&rcc 1 CLK_I2C2>;
  293. #address-cells = <1>;
  294. #size-cells = <0>;
  295. status = "disabled";
  296. };
  297. i2c3: i2c@40005c00 {
  298. compatible = "st,stm32f7-i2c";
  299. reg = <0x40005c00 0x400>;
  300. interrupts = <72>,
  301. <73>;
  302. resets = <&rcc STM32F7_APB1_RESET(I2C3)>;
  303. clocks = <&rcc 1 CLK_I2C3>;
  304. #address-cells = <1>;
  305. #size-cells = <0>;
  306. status = "disabled";
  307. };
  308. i2c4: i2c@40006000 {
  309. compatible = "st,stm32f7-i2c";
  310. reg = <0x40006000 0x400>;
  311. interrupts = <95>,
  312. <96>;
  313. resets = <&rcc STM32F7_APB1_RESET(I2C4)>;
  314. clocks = <&rcc 1 CLK_I2C4>;
  315. #address-cells = <1>;
  316. #size-cells = <0>;
  317. status = "disabled";
  318. };
  319. can1: can@40006400 {
  320. compatible = "st,stm32f4-bxcan";
  321. reg = <0x40006400 0x200>;
  322. interrupts = <19>, <20>, <21>, <22>;
  323. interrupt-names = "tx", "rx0", "rx1", "sce";
  324. resets = <&rcc STM32F7_APB1_RESET(CAN1)>;
  325. clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN1)>;
  326. st,can-primary;
  327. st,gcan = <&gcan1>;
  328. status = "disabled";
  329. };
  330. gcan1: gcan@40006600 {
  331. compatible = "st,stm32f4-gcan", "syscon";
  332. reg = <0x40006600 0x200>;
  333. clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN1)>;
  334. };
  335. can2: can@40006800 {
  336. compatible = "st,stm32f4-bxcan";
  337. reg = <0x40006800 0x200>;
  338. interrupts = <63>, <64>, <65>, <66>;
  339. interrupt-names = "tx", "rx0", "rx1", "sce";
  340. resets = <&rcc STM32F7_APB1_RESET(CAN2)>;
  341. clocks = <&rcc 0 STM32F7_APB1_CLOCK(CAN2)>;
  342. st,can-secondary;
  343. st,gcan = <&gcan1>;
  344. status = "disabled";
  345. };
  346. cec: cec@40006c00 {
  347. compatible = "st,stm32-cec";
  348. reg = <0x40006C00 0x400>;
  349. interrupts = <94>;
  350. clocks = <&rcc 0 STM32F7_APB1_CLOCK(CEC)>, <&rcc 1 CLK_HDMI_CEC>;
  351. clock-names = "cec", "hdmi-cec";
  352. status = "disabled";
  353. };
  354. usart7: serial@40007800 {
  355. compatible = "st,stm32f7-uart";
  356. reg = <0x40007800 0x400>;
  357. interrupts = <82>;
  358. clocks = <&rcc 1 CLK_UART7>;
  359. status = "disabled";
  360. };
  361. usart8: serial@40007c00 {
  362. compatible = "st,stm32f7-uart";
  363. reg = <0x40007c00 0x400>;
  364. interrupts = <83>;
  365. clocks = <&rcc 1 CLK_UART8>;
  366. status = "disabled";
  367. };
  368. timers1: timers@40010000 {
  369. #address-cells = <1>;
  370. #size-cells = <0>;
  371. compatible = "st,stm32-timers";
  372. reg = <0x40010000 0x400>;
  373. clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM1)>;
  374. clock-names = "int";
  375. status = "disabled";
  376. pwm {
  377. compatible = "st,stm32-pwm";
  378. #pwm-cells = <3>;
  379. status = "disabled";
  380. };
  381. timer@0 {
  382. compatible = "st,stm32-timer-trigger";
  383. reg = <0>;
  384. status = "disabled";
  385. };
  386. };
  387. timers8: timers@40010400 {
  388. #address-cells = <1>;
  389. #size-cells = <0>;
  390. compatible = "st,stm32-timers";
  391. reg = <0x40010400 0x400>;
  392. clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM8)>;
  393. clock-names = "int";
  394. status = "disabled";
  395. pwm {
  396. compatible = "st,stm32-pwm";
  397. #pwm-cells = <3>;
  398. status = "disabled";
  399. };
  400. timer@7 {
  401. compatible = "st,stm32-timer-trigger";
  402. reg = <7>;
  403. status = "disabled";
  404. };
  405. };
  406. usart1: serial@40011000 {
  407. compatible = "st,stm32f7-uart";
  408. reg = <0x40011000 0x400>;
  409. interrupts = <37>;
  410. clocks = <&rcc 1 CLK_USART1>;
  411. status = "disabled";
  412. };
  413. usart6: serial@40011400 {
  414. compatible = "st,stm32f7-uart";
  415. reg = <0x40011400 0x400>;
  416. interrupts = <71>;
  417. clocks = <&rcc 1 CLK_USART6>;
  418. status = "disabled";
  419. };
  420. sdio2: mmc@40011c00 {
  421. compatible = "arm,pl180", "arm,primecell";
  422. arm,primecell-periphid = <0x00880180>;
  423. reg = <0x40011c00 0x400>;
  424. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC2)>;
  425. clock-names = "apb_pclk";
  426. interrupts = <103>;
  427. max-frequency = <48000000>;
  428. status = "disabled";
  429. };
  430. sdio1: mmc@40012c00 {
  431. compatible = "arm,pl180", "arm,primecell";
  432. arm,primecell-periphid = <0x00880180>;
  433. reg = <0x40012c00 0x400>;
  434. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC1)>;
  435. clock-names = "apb_pclk";
  436. interrupts = <49>;
  437. max-frequency = <48000000>;
  438. status = "disabled";
  439. };
  440. spi1: spi@40013000 {
  441. #address-cells = <1>;
  442. #size-cells = <0>;
  443. compatible = "st,stm32f7-spi";
  444. reg = <0x40013000 0x400>;
  445. interrupts = <35>;
  446. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SPI1)>;
  447. status = "disabled";
  448. };
  449. spi4: spi@40013400 {
  450. #address-cells = <1>;
  451. #size-cells = <0>;
  452. compatible = "st,stm32f7-spi";
  453. reg = <0x40013400 0x400>;
  454. interrupts = <84>;
  455. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SPI4)>;
  456. status = "disabled";
  457. };
  458. syscfg: syscon@40013800 {
  459. compatible = "st,stm32-syscfg", "syscon";
  460. reg = <0x40013800 0x400>;
  461. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SYSCFG)>;
  462. };
  463. exti: interrupt-controller@40013c00 {
  464. compatible = "st,stm32-exti";
  465. interrupt-controller;
  466. #interrupt-cells = <2>;
  467. reg = <0x40013C00 0x400>;
  468. interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
  469. };
  470. timers9: timers@40014000 {
  471. #address-cells = <1>;
  472. #size-cells = <0>;
  473. compatible = "st,stm32-timers";
  474. reg = <0x40014000 0x400>;
  475. clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM9)>;
  476. clock-names = "int";
  477. status = "disabled";
  478. pwm {
  479. compatible = "st,stm32-pwm";
  480. #pwm-cells = <3>;
  481. status = "disabled";
  482. };
  483. timer@8 {
  484. compatible = "st,stm32-timer-trigger";
  485. reg = <8>;
  486. status = "disabled";
  487. };
  488. };
  489. timers10: timers@40014400 {
  490. compatible = "st,stm32-timers";
  491. reg = <0x40014400 0x400>;
  492. clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM10)>;
  493. clock-names = "int";
  494. status = "disabled";
  495. pwm {
  496. compatible = "st,stm32-pwm";
  497. #pwm-cells = <3>;
  498. status = "disabled";
  499. };
  500. };
  501. timers11: timers@40014800 {
  502. compatible = "st,stm32-timers";
  503. reg = <0x40014800 0x400>;
  504. clocks = <&rcc 0 STM32F7_APB2_CLOCK(TIM11)>;
  505. clock-names = "int";
  506. status = "disabled";
  507. pwm {
  508. compatible = "st,stm32-pwm";
  509. #pwm-cells = <3>;
  510. status = "disabled";
  511. };
  512. };
  513. spi5: spi@40015000 {
  514. #address-cells = <1>;
  515. #size-cells = <0>;
  516. compatible = "st,stm32f7-spi";
  517. reg = <0x40015000 0x400>;
  518. interrupts = <85>;
  519. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SPI5)>;
  520. status = "disabled";
  521. };
  522. spi6: spi@40015400 {
  523. #address-cells = <1>;
  524. #size-cells = <0>;
  525. compatible = "st,stm32f7-spi";
  526. reg = <0x40015400 0x400>;
  527. interrupts = <86>;
  528. clocks = <&rcc 0 STM32F7_APB2_CLOCK(SPI6)>;
  529. status = "disabled";
  530. };
  531. ltdc: display-controller@40016800 {
  532. compatible = "st,stm32-ltdc";
  533. reg = <0x40016800 0x200>;
  534. interrupts = <88>, <89>;
  535. resets = <&rcc STM32F7_APB2_RESET(LTDC)>;
  536. clocks = <&rcc 1 CLK_LCD>;
  537. clock-names = "lcd";
  538. status = "disabled";
  539. };
  540. pwrcfg: power-config@40007000 {
  541. compatible = "st,stm32-power-config", "syscon";
  542. reg = <0x40007000 0x400>;
  543. };
  544. crc: crc@40023000 {
  545. compatible = "st,stm32f7-crc";
  546. reg = <0x40023000 0x400>;
  547. clocks = <&rcc 0 STM32F7_AHB1_CLOCK(CRC)>;
  548. status = "disabled";
  549. };
  550. rcc: rcc@40023800 {
  551. #reset-cells = <1>;
  552. #clock-cells = <2>;
  553. compatible = "st,stm32f746-rcc", "st,stm32-rcc";
  554. reg = <0x40023800 0x400>;
  555. clocks = <&clk_hse>, <&clk_i2s_ckin>;
  556. st,syscfg = <&pwrcfg>;
  557. assigned-clocks = <&rcc 1 CLK_HSE_RTC>;
  558. assigned-clock-rates = <1000000>;
  559. };
  560. dma1: dma-controller@40026000 {
  561. compatible = "st,stm32-dma";
  562. reg = <0x40026000 0x400>;
  563. interrupts = <11>,
  564. <12>,
  565. <13>,
  566. <14>,
  567. <15>,
  568. <16>,
  569. <17>,
  570. <47>;
  571. clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA1)>;
  572. #dma-cells = <4>;
  573. status = "disabled";
  574. };
  575. dma2: dma-controller@40026400 {
  576. compatible = "st,stm32-dma";
  577. reg = <0x40026400 0x400>;
  578. interrupts = <56>,
  579. <57>,
  580. <58>,
  581. <59>,
  582. <60>,
  583. <68>,
  584. <69>,
  585. <70>;
  586. clocks = <&rcc 0 STM32F7_AHB1_CLOCK(DMA2)>;
  587. #dma-cells = <4>;
  588. st,mem2mem;
  589. status = "disabled";
  590. };
  591. usbotg_hs: usb@40040000 {
  592. compatible = "st,stm32f7-hsotg";
  593. reg = <0x40040000 0x40000>;
  594. interrupts = <77>;
  595. clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>;
  596. clock-names = "otg";
  597. g-rx-fifo-size = <256>;
  598. g-np-tx-fifo-size = <32>;
  599. g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
  600. status = "disabled";
  601. };
  602. usbotg_fs: usb@50000000 {
  603. compatible = "st,stm32f4x9-fsotg";
  604. reg = <0x50000000 0x40000>;
  605. interrupts = <67>;
  606. clocks = <&rcc 0 STM32F7_AHB2_CLOCK(OTGFS)>;
  607. clock-names = "otg";
  608. status = "disabled";
  609. };
  610. };
  611. };
  612. &systick {
  613. clocks = <&rcc 1 0>;
  614. status = "okay";
  615. };