stm32f746.dtsi 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. /*
  2. * Copyright 2016 - Michael Kurz <michi.kurz@gmail.com>
  3. * Copyright 2016 - Vikas MANOCHA <vikas.manocha@st.com>
  4. *
  5. * Based on:
  6. * stm32f429.dtsi from Linux
  7. * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com>
  8. *
  9. * This file is dual-licensed: you can use it either under the terms
  10. * of the GPL or the X11 license, at your option. Note that this dual
  11. * licensing only applies to this file, and not this project as a
  12. * whole.
  13. *
  14. * a) This file is free software; you can redistribute it and/or
  15. * modify it under the terms of the GNU General Public License as
  16. * published by the Free Software Foundation; either version 2 of the
  17. * License, or (at your option) any later version.
  18. *
  19. * This file is distributed in the hope that it will be useful,
  20. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. * GNU General Public License for more details.
  23. *
  24. * Or, alternatively,
  25. *
  26. * b) Permission is hereby granted, free of charge, to any person
  27. * obtaining a copy of this software and associated documentation
  28. * files (the "Software"), to deal in the Software without
  29. * restriction, including without limitation the rights to use,
  30. * copy, modify, merge, publish, distribute, sublicense, and/or
  31. * sell copies of the Software, and to permit persons to whom the
  32. * Software is furnished to do so, subject to the following
  33. * conditions:
  34. *
  35. * The above copyright notice and this permission notice shall be
  36. * included in all copies or substantial portions of the Software.
  37. *
  38. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  39. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  40. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  41. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  42. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  43. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  44. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  45. * OTHER DEALINGS IN THE SOFTWARE.
  46. */
  47. #include "armv7-m.dtsi"
  48. #include <dt-bindings/pinctrl/stm32f746-pinfunc.h>
  49. / {
  50. clocks {
  51. clk_hse: clk-hse {
  52. #clock-cells = <0>;
  53. compatible = "fixed-clock";
  54. clock-frequency = <0>;
  55. };
  56. };
  57. soc {
  58. u-boot,dm-pre-reloc;
  59. mac: ethernet@40028000 {
  60. compatible = "st,stm32-dwmac";
  61. reg = <0x40028000 0x8000>;
  62. reg-names = "stmmaceth";
  63. interrupts = <61>, <62>;
  64. interrupt-names = "macirq", "eth_wake_irq";
  65. snps,pbl = <8>;
  66. snps,mixed-burst;
  67. dma-ranges;
  68. status = "disabled";
  69. };
  70. fmc: fmc@A0000000 {
  71. compatible = "st,stm32-fmc";
  72. reg = <0xA0000000 0x1000>;
  73. clocks = <&rcc 0 64>;
  74. u-boot,dm-pre-reloc;
  75. };
  76. qspi: quadspi@A0001000 {
  77. compatible = "st,stm32-qspi";
  78. #address-cells = <1>;
  79. #size-cells = <0>;
  80. reg = <0xA0001000 0x1000>, <0x90000000 0x10000000>;
  81. reg-names = "QuadSPI", "QuadSPI-memory";
  82. interrupts = <92>;
  83. spi-max-frequency = <108000000>;
  84. clocks = <&rcc 0 65>;
  85. status = "disabled";
  86. };
  87. usart1: serial@40011000 {
  88. compatible = "st,stm32-usart", "st,stm32-uart";
  89. reg = <0x40011000 0x400>;
  90. interrupts = <37>;
  91. clocks = <&rcc 0 164>;
  92. status = "disabled";
  93. u-boot,dm-pre-reloc;
  94. };
  95. rcc: rcc@40023810 {
  96. #reset-cells = <1>;
  97. #clock-cells = <2>;
  98. compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
  99. reg = <0x40023800 0x400>;
  100. clocks = <&clk_hse>;
  101. u-boot,dm-pre-reloc;
  102. };
  103. pinctrl: pin-controller {
  104. #address-cells = <1>;
  105. #size-cells = <1>;
  106. compatible = "st,stm32f746-pinctrl";
  107. ranges = <0 0x40020000 0x3000>;
  108. u-boot,dm-pre-reloc;
  109. pins-are-numbered;
  110. usart1_pins_a: usart1@0 {
  111. pins1 {
  112. pinmux = <STM32F746_PA9_FUNC_USART1_TX>;
  113. bias-disable;
  114. drive-push-pull;
  115. slew-rate = <2>;
  116. };
  117. pins2 {
  118. pinmux = <STM32F746_PB7_FUNC_USART1_RX>;
  119. bias-disable;
  120. };
  121. };
  122. ethernet_mii: mii@0 {
  123. pins {
  124. pinmux = <STM32F746_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0>,
  125. <STM32F746_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1>,
  126. <STM32F746_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN>,
  127. <STM32F746_PA2_FUNC_ETH_MDIO>,
  128. <STM32F746_PC1_FUNC_ETH_MDC>,
  129. <STM32F746_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK>,
  130. <STM32F746_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV>,
  131. <STM32F746_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0>,
  132. <STM32F746_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1>;
  133. slew-rate = <2>;
  134. };
  135. };
  136. qspi_pins: qspi@0{
  137. pins {
  138. pinmux = <STM32F746_PB2_FUNC_QUADSPI_CLK>,
  139. <STM32F746_PB6_FUNC_QUADSPI_BK1_NCS>,
  140. <STM32F746_PD11_FUNC_QUADSPI_BK1_IO0>,
  141. <STM32F746_PD12_FUNC_QUADSPI_BK1_IO1>,
  142. <STM32F746_PD13_FUNC_QUADSPI_BK1_IO3>,
  143. <STM32F746_PE2_FUNC_QUADSPI_BK1_IO2>;
  144. slew-rate = <2>;
  145. };
  146. };
  147. fmc_pins: fmc@0 {
  148. pins {
  149. pinmux = <STM32F746_PD10_FUNC_FMC_D15>,
  150. <STM32F746_PD9_FUNC_FMC_D14>,
  151. <STM32F746_PD8_FUNC_FMC_D13>,
  152. <STM32F746_PE15_FUNC_FMC_D12>,
  153. <STM32F746_PE14_FUNC_FMC_D11>,
  154. <STM32F746_PE13_FUNC_FMC_D10>,
  155. <STM32F746_PE12_FUNC_FMC_D9>,
  156. <STM32F746_PE11_FUNC_FMC_D8>,
  157. <STM32F746_PE10_FUNC_FMC_D7>,
  158. <STM32F746_PE9_FUNC_FMC_D6>,
  159. <STM32F746_PE8_FUNC_FMC_D5>,
  160. <STM32F746_PE7_FUNC_FMC_D4>,
  161. <STM32F746_PD1_FUNC_FMC_D3>,
  162. <STM32F746_PD0_FUNC_FMC_D2>,
  163. <STM32F746_PD15_FUNC_FMC_D1>,
  164. <STM32F746_PD14_FUNC_FMC_D0>,
  165. <STM32F746_PE1_FUNC_FMC_NBL1>,
  166. <STM32F746_PE0_FUNC_FMC_NBL0>,
  167. <STM32F746_PG5_FUNC_FMC_A15_FMC_BA1>,
  168. <STM32F746_PG4_FUNC_FMC_A14_FMC_BA0>,
  169. <STM32F746_PG1_FUNC_FMC_A11>,
  170. <STM32F746_PG0_FUNC_FMC_A10>,
  171. <STM32F746_PF15_FUNC_FMC_A9>,
  172. <STM32F746_PF14_FUNC_FMC_A8>,
  173. <STM32F746_PF13_FUNC_FMC_A7>,
  174. <STM32F746_PF12_FUNC_FMC_A6>,
  175. <STM32F746_PF5_FUNC_FMC_A5>,
  176. <STM32F746_PF4_FUNC_FMC_A4>,
  177. <STM32F746_PF3_FUNC_FMC_A3>,
  178. <STM32F746_PF2_FUNC_FMC_A2>,
  179. <STM32F746_PF1_FUNC_FMC_A1>,
  180. <STM32F746_PF0_FUNC_FMC_A0>,
  181. <STM32F746_PH3_FUNC_FMC_SDNE0>,
  182. <STM32F746_PH5_FUNC_FMC_SDNWE>,
  183. <STM32F746_PF11_FUNC_FMC_SDNRAS>,
  184. <STM32F746_PG15_FUNC_FMC_SDNCAS>,
  185. <STM32F746_PC3_FUNC_FMC_SDCKE0>,
  186. <STM32F746_PG8_FUNC_FMC_SDCLK>;
  187. slew-rate = <2>;
  188. };
  189. };
  190. };
  191. };
  192. };
  193. &systick {
  194. status = "okay";
  195. };