xref: /openbmc/u-boot/arch/arm/dts/stm32f746.dtsi (revision d3651aac4685a21a716c33b0c9636288b013da38)
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>
50fa87abb6SPatrice Chotard#include <dt-bindings/clock/stm32fx-clock.h>
51fa87abb6SPatrice 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>;
79fa87abb6SPatrice 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>;
91fa87abb6SPatrice 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>;
98fa87abb6SPatrice Chotard			clocks = <&rcc 0 STM32F7_APB2_CLOCK(USART1)>;
9984bfdc17SVikas Manocha			status = "disabled";
10084bfdc17SVikas Manocha			u-boot,dm-pre-reloc;
10184bfdc17SVikas Manocha		};
102*d3651aacSPatrice Chotard
103*d3651aacSPatrice Chotard		pwrcfg: power-config@58024800 {
104*d3651aacSPatrice Chotard			compatible = "syscon";
105*d3651aacSPatrice Chotard			reg = <0x40007000 0x400>;
106*d3651aacSPatrice Chotard		};
107*d3651aacSPatrice Chotard
10884bfdc17SVikas Manocha		rcc: rcc@40023810 {
10984bfdc17SVikas Manocha			#reset-cells = <1>;
11084bfdc17SVikas Manocha			#clock-cells = <2>;
11184bfdc17SVikas Manocha			compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
11284bfdc17SVikas Manocha			reg = <0x40023800 0x400>;
11384bfdc17SVikas Manocha			clocks = <&clk_hse>;
114*d3651aacSPatrice Chotard			st,syscfg = <&pwrcfg>;
11584bfdc17SVikas Manocha			u-boot,dm-pre-reloc;
11684bfdc17SVikas Manocha		};
11784bfdc17SVikas Manocha
118da4e17f2SVikas Manocha		pinctrl: pin-controller {
119da4e17f2SVikas Manocha			#address-cells = <1>;
120da4e17f2SVikas Manocha			#size-cells = <1>;
121da4e17f2SVikas Manocha			compatible = "st,stm32f746-pinctrl";
122da4e17f2SVikas Manocha			ranges = <0 0x40020000 0x3000>;
123da4e17f2SVikas Manocha			u-boot,dm-pre-reloc;
124da4e17f2SVikas Manocha			pins-are-numbered;
125e34e19feSVikas Manocha
126d33a6a2fSVikas Manocha			gpioa: gpio@40020000 {
127d33a6a2fSVikas Manocha				gpio-controller;
128d33a6a2fSVikas Manocha				#gpio-cells = <2>;
129d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
130d33a6a2fSVikas Manocha				reg = <0x0 0x400>;
131fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>;
132d33a6a2fSVikas Manocha				st,bank-name = "GPIOA";
133d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
134d33a6a2fSVikas Manocha			};
135d33a6a2fSVikas Manocha
136d33a6a2fSVikas Manocha			gpiob: gpio@40020400 {
137d33a6a2fSVikas Manocha				gpio-controller;
138d33a6a2fSVikas Manocha				#gpio-cells = <2>;
139d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
140d33a6a2fSVikas Manocha				reg = <0x400 0x400>;
141fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>;
142d33a6a2fSVikas Manocha				st,bank-name = "GPIOB";
143d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
144d33a6a2fSVikas Manocha			};
145d33a6a2fSVikas Manocha
146d33a6a2fSVikas Manocha
147d33a6a2fSVikas Manocha			gpioc: gpio@40020800 {
148d33a6a2fSVikas Manocha				gpio-controller;
149d33a6a2fSVikas Manocha				#gpio-cells = <2>;
150d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
151d33a6a2fSVikas Manocha				reg = <0x800 0x400>;
152fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>;
153d33a6a2fSVikas Manocha				st,bank-name = "GPIOC";
154d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
155d33a6a2fSVikas Manocha			};
156d33a6a2fSVikas Manocha
157d33a6a2fSVikas Manocha			gpiod: gpio@40020c00 {
158d33a6a2fSVikas Manocha				gpio-controller;
159d33a6a2fSVikas Manocha				#gpio-cells = <2>;
160d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
161d33a6a2fSVikas Manocha				reg = <0xc00 0x400>;
162fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>;
163d33a6a2fSVikas Manocha				st,bank-name = "GPIOD";
164d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
165d33a6a2fSVikas Manocha			};
166d33a6a2fSVikas Manocha
167d33a6a2fSVikas Manocha			gpioe: gpio@40021000 {
168d33a6a2fSVikas Manocha				gpio-controller;
169d33a6a2fSVikas Manocha				#gpio-cells = <2>;
170d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
171d33a6a2fSVikas Manocha				reg = <0x1000 0x400>;
172fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>;
173d33a6a2fSVikas Manocha				st,bank-name = "GPIOE";
174d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
175d33a6a2fSVikas Manocha			};
176d33a6a2fSVikas Manocha
177d33a6a2fSVikas Manocha			gpiof: gpio@40021400 {
178d33a6a2fSVikas Manocha				gpio-controller;
179d33a6a2fSVikas Manocha				#gpio-cells = <2>;
180d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
181d33a6a2fSVikas Manocha				reg = <0x1400 0x400>;
182fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>;
183d33a6a2fSVikas Manocha				st,bank-name = "GPIOF";
184d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
185d33a6a2fSVikas Manocha			};
186d33a6a2fSVikas Manocha
187d33a6a2fSVikas Manocha			gpiog: gpio@40021800 {
188d33a6a2fSVikas Manocha				gpio-controller;
189d33a6a2fSVikas Manocha				#gpio-cells = <2>;
190d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
191d33a6a2fSVikas Manocha				reg = <0x1800 0x400>;
192fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>;
193d33a6a2fSVikas Manocha				st,bank-name = "GPIOG";
194d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
195d33a6a2fSVikas Manocha			};
196d33a6a2fSVikas Manocha
197d33a6a2fSVikas Manocha			gpioh: gpio@40021c00 {
198d33a6a2fSVikas Manocha				gpio-controller;
199d33a6a2fSVikas Manocha				#gpio-cells = <2>;
200d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
201d33a6a2fSVikas Manocha				reg = <0x1c00 0x400>;
202fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>;
203d33a6a2fSVikas Manocha				st,bank-name = "GPIOH";
204d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
205d33a6a2fSVikas Manocha			};
206d33a6a2fSVikas Manocha
207d33a6a2fSVikas Manocha			gpioi: gpio@40022000 {
208d33a6a2fSVikas Manocha				gpio-controller;
209d33a6a2fSVikas Manocha				#gpio-cells = <2>;
210d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
211d33a6a2fSVikas Manocha				reg = <0x2000 0x400>;
212fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>;
213d33a6a2fSVikas Manocha				st,bank-name = "GPIOI";
214d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
215d33a6a2fSVikas Manocha			};
216d33a6a2fSVikas Manocha
217d33a6a2fSVikas Manocha			gpioj: gpio@40022400 {
218d33a6a2fSVikas Manocha				gpio-controller;
219d33a6a2fSVikas Manocha				#gpio-cells = <2>;
220d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
221d33a6a2fSVikas Manocha				reg = <0x2400 0x400>;
222fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>;
223d33a6a2fSVikas Manocha				st,bank-name = "GPIOJ";
224d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
225d33a6a2fSVikas Manocha			};
226d33a6a2fSVikas Manocha
227d33a6a2fSVikas Manocha			gpiok: gpio@40022800 {
228d33a6a2fSVikas Manocha				gpio-controller;
229d33a6a2fSVikas Manocha				#gpio-cells = <2>;
230d33a6a2fSVikas Manocha				compatible = "st,stm32-gpio";
231d33a6a2fSVikas Manocha				reg = <0x2800 0x400>;
232fa87abb6SPatrice Chotard				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>;
233d33a6a2fSVikas Manocha				st,bank-name = "GPIOK";
234d33a6a2fSVikas Manocha				u-boot,dm-pre-reloc;
235d33a6a2fSVikas Manocha			};
236d33a6a2fSVikas Manocha
237da4e17f2SVikas Manocha		};
238b1a8de7eSMichael Kurz	};
239b1a8de7eSMichael Kurz};
240b1a8de7eSMichael Kurz
241b1a8de7eSMichael Kurz&systick {
242b1a8de7eSMichael Kurz	status = "okay";
243b1a8de7eSMichael Kurz};
244