1b1a8de7eSMichael Kurz/* 2b1a8de7eSMichael Kurz * Copyright 2016 - Michael Kurz <michi.kurz@gmail.com> 3fd198ee1SVikas Manocha * Copyright 2016 - Vikas MANOCHA <vikas.manocha@st.com> 4b1a8de7eSMichael Kurz * 5b1a8de7eSMichael Kurz * Based on: 6b1a8de7eSMichael Kurz * stm32f429.dtsi from Linux 7b1a8de7eSMichael Kurz * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> 8b1a8de7eSMichael Kurz * 9b1a8de7eSMichael Kurz * This file is dual-licensed: you can use it either under the terms 10b1a8de7eSMichael Kurz * of the GPL or the X11 license, at your option. Note that this dual 11b1a8de7eSMichael Kurz * licensing only applies to this file, and not this project as a 12b1a8de7eSMichael Kurz * whole. 13b1a8de7eSMichael Kurz * 14b1a8de7eSMichael Kurz * a) This file is free software; you can redistribute it and/or 15b1a8de7eSMichael Kurz * modify it under the terms of the GNU General Public License as 16b1a8de7eSMichael Kurz * published by the Free Software Foundation; either version 2 of the 17b1a8de7eSMichael Kurz * License, or (at your option) any later version. 18b1a8de7eSMichael Kurz * 19b1a8de7eSMichael Kurz * This file is distributed in the hope that it will be useful, 20b1a8de7eSMichael Kurz * but WITHOUT ANY WARRANTY; without even the implied warranty of 21b1a8de7eSMichael Kurz * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22b1a8de7eSMichael Kurz * GNU General Public License for more details. 23b1a8de7eSMichael Kurz * 24b1a8de7eSMichael Kurz * Or, alternatively, 25b1a8de7eSMichael Kurz * 26b1a8de7eSMichael Kurz * b) Permission is hereby granted, free of charge, to any person 27b1a8de7eSMichael Kurz * obtaining a copy of this software and associated documentation 28b1a8de7eSMichael Kurz * files (the "Software"), to deal in the Software without 29b1a8de7eSMichael Kurz * restriction, including without limitation the rights to use, 30b1a8de7eSMichael Kurz * copy, modify, merge, publish, distribute, sublicense, and/or 31b1a8de7eSMichael Kurz * sell copies of the Software, and to permit persons to whom the 32b1a8de7eSMichael Kurz * Software is furnished to do so, subject to the following 33b1a8de7eSMichael Kurz * conditions: 34b1a8de7eSMichael Kurz * 35b1a8de7eSMichael Kurz * The above copyright notice and this permission notice shall be 36b1a8de7eSMichael Kurz * included in all copies or substantial portions of the Software. 37b1a8de7eSMichael Kurz * 38b1a8de7eSMichael Kurz * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 39b1a8de7eSMichael Kurz * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 40b1a8de7eSMichael Kurz * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 41b1a8de7eSMichael Kurz * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 42b1a8de7eSMichael Kurz * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 43b1a8de7eSMichael Kurz * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 44b1a8de7eSMichael Kurz * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 45b1a8de7eSMichael Kurz * OTHER DEALINGS IN THE SOFTWARE. 46b1a8de7eSMichael Kurz */ 47b1a8de7eSMichael Kurz 48b1a8de7eSMichael Kurz#include "armv7-m.dtsi" 49b1a8de7eSMichael Kurz#include <dt-bindings/pinctrl/stm32f746-pinfunc.h> 50*fa87abb6SPatrice Chotard#include <dt-bindings/clock/stm32fx-clock.h> 51*fa87abb6SPatrice Chotard#include <dt-bindings/mfd/stm32f7-rcc.h> 52b1a8de7eSMichael Kurz 53b1a8de7eSMichael Kurz/ { 5484bfdc17SVikas Manocha clocks { 5584bfdc17SVikas Manocha clk_hse: clk-hse { 5684bfdc17SVikas Manocha #clock-cells = <0>; 5784bfdc17SVikas Manocha compatible = "fixed-clock"; 5884bfdc17SVikas Manocha clock-frequency = <0>; 5984bfdc17SVikas Manocha }; 6084bfdc17SVikas Manocha}; 6184bfdc17SVikas Manocha 62b1a8de7eSMichael Kurz soc { 6384bfdc17SVikas Manocha u-boot,dm-pre-reloc; 64b1a8de7eSMichael Kurz mac: ethernet@40028000 { 65b1a8de7eSMichael Kurz compatible = "st,stm32-dwmac"; 66b1a8de7eSMichael Kurz reg = <0x40028000 0x8000>; 67b1a8de7eSMichael Kurz reg-names = "stmmaceth"; 68b1a8de7eSMichael Kurz interrupts = <61>, <62>; 69b1a8de7eSMichael Kurz interrupt-names = "macirq", "eth_wake_irq"; 70b1a8de7eSMichael Kurz snps,pbl = <8>; 71b1a8de7eSMichael Kurz snps,mixed-burst; 72b1a8de7eSMichael Kurz dma-ranges; 73b1a8de7eSMichael Kurz status = "disabled"; 74b1a8de7eSMichael Kurz }; 75b1a8de7eSMichael Kurz 76fd198ee1SVikas Manocha fmc: fmc@A0000000 { 77fd198ee1SVikas Manocha compatible = "st,stm32-fmc"; 78fd198ee1SVikas Manocha reg = <0xA0000000 0x1000>; 79*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB3_CLOCK(FMC)>; 80fd198ee1SVikas Manocha u-boot,dm-pre-reloc; 81fd198ee1SVikas Manocha }; 82fd198ee1SVikas Manocha 83b1a8de7eSMichael Kurz qspi: quadspi@A0001000 { 84b1a8de7eSMichael Kurz compatible = "st,stm32-qspi"; 85b1a8de7eSMichael Kurz #address-cells = <1>; 86b1a8de7eSMichael Kurz #size-cells = <0>; 87b1a8de7eSMichael Kurz reg = <0xA0001000 0x1000>, <0x90000000 0x10000000>; 88b1a8de7eSMichael Kurz reg-names = "QuadSPI", "QuadSPI-memory"; 89b1a8de7eSMichael Kurz interrupts = <92>; 90b1a8de7eSMichael Kurz spi-max-frequency = <108000000>; 91*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB3_CLOCK(QSPI)>; 92b1a8de7eSMichael Kurz status = "disabled"; 93b1a8de7eSMichael Kurz }; 9484bfdc17SVikas Manocha usart1: serial@40011000 { 951113ad49SPatrice Chotard compatible = "st,stm32f7-usart", "st,stm32f7-uart"; 9684bfdc17SVikas Manocha reg = <0x40011000 0x400>; 9784bfdc17SVikas Manocha interrupts = <37>; 98*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_APB2_CLOCK(USART1)>; 9984bfdc17SVikas Manocha status = "disabled"; 10084bfdc17SVikas Manocha u-boot,dm-pre-reloc; 10184bfdc17SVikas Manocha }; 10284bfdc17SVikas Manocha rcc: rcc@40023810 { 10384bfdc17SVikas Manocha #reset-cells = <1>; 10484bfdc17SVikas Manocha #clock-cells = <2>; 10584bfdc17SVikas Manocha compatible = "st,stm32f42xx-rcc", "st,stm32-rcc"; 10684bfdc17SVikas Manocha reg = <0x40023800 0x400>; 10784bfdc17SVikas Manocha clocks = <&clk_hse>; 10884bfdc17SVikas Manocha u-boot,dm-pre-reloc; 10984bfdc17SVikas Manocha }; 11084bfdc17SVikas Manocha 111da4e17f2SVikas Manocha pinctrl: pin-controller { 112da4e17f2SVikas Manocha #address-cells = <1>; 113da4e17f2SVikas Manocha #size-cells = <1>; 114da4e17f2SVikas Manocha compatible = "st,stm32f746-pinctrl"; 115da4e17f2SVikas Manocha ranges = <0 0x40020000 0x3000>; 116da4e17f2SVikas Manocha u-boot,dm-pre-reloc; 117da4e17f2SVikas Manocha pins-are-numbered; 118e34e19feSVikas Manocha 119d33a6a2fSVikas Manocha gpioa: gpio@40020000 { 120d33a6a2fSVikas Manocha gpio-controller; 121d33a6a2fSVikas Manocha #gpio-cells = <2>; 122d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 123d33a6a2fSVikas Manocha reg = <0x0 0x400>; 124*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>; 125d33a6a2fSVikas Manocha st,bank-name = "GPIOA"; 126d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 127d33a6a2fSVikas Manocha }; 128d33a6a2fSVikas Manocha 129d33a6a2fSVikas Manocha gpiob: gpio@40020400 { 130d33a6a2fSVikas Manocha gpio-controller; 131d33a6a2fSVikas Manocha #gpio-cells = <2>; 132d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 133d33a6a2fSVikas Manocha reg = <0x400 0x400>; 134*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>; 135d33a6a2fSVikas Manocha st,bank-name = "GPIOB"; 136d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 137d33a6a2fSVikas Manocha }; 138d33a6a2fSVikas Manocha 139d33a6a2fSVikas Manocha 140d33a6a2fSVikas Manocha gpioc: gpio@40020800 { 141d33a6a2fSVikas Manocha gpio-controller; 142d33a6a2fSVikas Manocha #gpio-cells = <2>; 143d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 144d33a6a2fSVikas Manocha reg = <0x800 0x400>; 145*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>; 146d33a6a2fSVikas Manocha st,bank-name = "GPIOC"; 147d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 148d33a6a2fSVikas Manocha }; 149d33a6a2fSVikas Manocha 150d33a6a2fSVikas Manocha gpiod: gpio@40020c00 { 151d33a6a2fSVikas Manocha gpio-controller; 152d33a6a2fSVikas Manocha #gpio-cells = <2>; 153d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 154d33a6a2fSVikas Manocha reg = <0xc00 0x400>; 155*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>; 156d33a6a2fSVikas Manocha st,bank-name = "GPIOD"; 157d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 158d33a6a2fSVikas Manocha }; 159d33a6a2fSVikas Manocha 160d33a6a2fSVikas Manocha gpioe: gpio@40021000 { 161d33a6a2fSVikas Manocha gpio-controller; 162d33a6a2fSVikas Manocha #gpio-cells = <2>; 163d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 164d33a6a2fSVikas Manocha reg = <0x1000 0x400>; 165*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>; 166d33a6a2fSVikas Manocha st,bank-name = "GPIOE"; 167d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 168d33a6a2fSVikas Manocha }; 169d33a6a2fSVikas Manocha 170d33a6a2fSVikas Manocha gpiof: gpio@40021400 { 171d33a6a2fSVikas Manocha gpio-controller; 172d33a6a2fSVikas Manocha #gpio-cells = <2>; 173d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 174d33a6a2fSVikas Manocha reg = <0x1400 0x400>; 175*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>; 176d33a6a2fSVikas Manocha st,bank-name = "GPIOF"; 177d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 178d33a6a2fSVikas Manocha }; 179d33a6a2fSVikas Manocha 180d33a6a2fSVikas Manocha gpiog: gpio@40021800 { 181d33a6a2fSVikas Manocha gpio-controller; 182d33a6a2fSVikas Manocha #gpio-cells = <2>; 183d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 184d33a6a2fSVikas Manocha reg = <0x1800 0x400>; 185*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>; 186d33a6a2fSVikas Manocha st,bank-name = "GPIOG"; 187d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 188d33a6a2fSVikas Manocha }; 189d33a6a2fSVikas Manocha 190d33a6a2fSVikas Manocha gpioh: gpio@40021c00 { 191d33a6a2fSVikas Manocha gpio-controller; 192d33a6a2fSVikas Manocha #gpio-cells = <2>; 193d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 194d33a6a2fSVikas Manocha reg = <0x1c00 0x400>; 195*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>; 196d33a6a2fSVikas Manocha st,bank-name = "GPIOH"; 197d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 198d33a6a2fSVikas Manocha }; 199d33a6a2fSVikas Manocha 200d33a6a2fSVikas Manocha gpioi: gpio@40022000 { 201d33a6a2fSVikas Manocha gpio-controller; 202d33a6a2fSVikas Manocha #gpio-cells = <2>; 203d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 204d33a6a2fSVikas Manocha reg = <0x2000 0x400>; 205*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>; 206d33a6a2fSVikas Manocha st,bank-name = "GPIOI"; 207d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 208d33a6a2fSVikas Manocha }; 209d33a6a2fSVikas Manocha 210d33a6a2fSVikas Manocha gpioj: gpio@40022400 { 211d33a6a2fSVikas Manocha gpio-controller; 212d33a6a2fSVikas Manocha #gpio-cells = <2>; 213d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 214d33a6a2fSVikas Manocha reg = <0x2400 0x400>; 215*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>; 216d33a6a2fSVikas Manocha st,bank-name = "GPIOJ"; 217d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 218d33a6a2fSVikas Manocha }; 219d33a6a2fSVikas Manocha 220d33a6a2fSVikas Manocha gpiok: gpio@40022800 { 221d33a6a2fSVikas Manocha gpio-controller; 222d33a6a2fSVikas Manocha #gpio-cells = <2>; 223d33a6a2fSVikas Manocha compatible = "st,stm32-gpio"; 224d33a6a2fSVikas Manocha reg = <0x2800 0x400>; 225*fa87abb6SPatrice Chotard clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>; 226d33a6a2fSVikas Manocha st,bank-name = "GPIOK"; 227d33a6a2fSVikas Manocha u-boot,dm-pre-reloc; 228d33a6a2fSVikas Manocha }; 229d33a6a2fSVikas Manocha 230da4e17f2SVikas Manocha }; 231b1a8de7eSMichael Kurz }; 232b1a8de7eSMichael Kurz}; 233b1a8de7eSMichael Kurz 234b1a8de7eSMichael Kurz&systick { 235b1a8de7eSMichael Kurz status = "okay"; 236b1a8de7eSMichael Kurz}; 237