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