1*791651e3SPatrice Chotard/*
2*791651e3SPatrice Chotard * Copyright (C) 2017, STMicroelectronics - All Rights Reserved
3*791651e3SPatrice Chotard * Author(s): Patrice Chotard, <patrice.chotard@st.com> for STMicroelectronics.
4*791651e3SPatrice Chotard *
5*791651e3SPatrice Chotard * SPDX-License-Identifier:	GPL-2.0+
6*791651e3SPatrice Chotard */
7*791651e3SPatrice Chotard
8*791651e3SPatrice Chotard#include <dt-bindings/memory/stm32-sdram.h>
9*791651e3SPatrice Chotard/{
10*791651e3SPatrice Chotard	clocks {
11*791651e3SPatrice Chotard		u-boot,dm-pre-reloc;
12*791651e3SPatrice Chotard	};
13*791651e3SPatrice Chotard
14*791651e3SPatrice Chotard	aliases {
15*791651e3SPatrice Chotard		/* Aliases for gpios so as to use sequence */
16*791651e3SPatrice Chotard		gpio0 = &gpioa;
17*791651e3SPatrice Chotard		gpio1 = &gpiob;
18*791651e3SPatrice Chotard		gpio2 = &gpioc;
19*791651e3SPatrice Chotard		gpio3 = &gpiod;
20*791651e3SPatrice Chotard		gpio4 = &gpioe;
21*791651e3SPatrice Chotard		gpio5 = &gpiof;
22*791651e3SPatrice Chotard		gpio6 = &gpiog;
23*791651e3SPatrice Chotard		gpio7 = &gpioh;
24*791651e3SPatrice Chotard		gpio8 = &gpioi;
25*791651e3SPatrice Chotard		gpio9 = &gpioj;
26*791651e3SPatrice Chotard		gpio10 = &gpiok;
27*791651e3SPatrice Chotard	};
28*791651e3SPatrice Chotard
29*791651e3SPatrice Chotard	soc {
30*791651e3SPatrice Chotard		u-boot,dm-pre-reloc;
31*791651e3SPatrice Chotard		pin-controller {
32*791651e3SPatrice Chotard			u-boot,dm-pre-reloc;
33*791651e3SPatrice Chotard		};
34*791651e3SPatrice Chotard
35*791651e3SPatrice Chotard		fmc: fmc@A0000000 {
36*791651e3SPatrice Chotard			compatible = "st,stm32-fmc";
37*791651e3SPatrice Chotard			reg = <0xA0000000 0x1000>;
38*791651e3SPatrice Chotard			clocks = <&rcc 0 STM32F4_AHB3_CLOCK(FMC)>;
39*791651e3SPatrice Chotard			pinctrl-0 = <&fmc_pins>;
40*791651e3SPatrice Chotard			pinctrl-names = "default";
41*791651e3SPatrice Chotard			u-boot,dm-pre-reloc;
42*791651e3SPatrice Chotard
43*791651e3SPatrice Chotard			/*
44*791651e3SPatrice Chotard			 * Memory configuration from sdram datasheet
45*791651e3SPatrice Chotard			 * IS42S16400J
46*791651e3SPatrice Chotard			 */
47*791651e3SPatrice Chotard			bank1: bank@1 {
48*791651e3SPatrice Chotard			       st,sdram-control = /bits/ 8 <NO_COL_8
49*791651e3SPatrice Chotard							    NO_ROW_12
50*791651e3SPatrice Chotard							    MWIDTH_16
51*791651e3SPatrice Chotard							    BANKS_4
52*791651e3SPatrice Chotard							    CAS_3
53*791651e3SPatrice Chotard							    SDCLK_2
54*791651e3SPatrice Chotard							    RD_BURST_EN
55*791651e3SPatrice Chotard							    RD_PIPE_DL_0>;
56*791651e3SPatrice Chotard			       st,sdram-timing = /bits/ 8 <TMRD_3
57*791651e3SPatrice Chotard							   TXSR_7
58*791651e3SPatrice Chotard							   TRAS_4
59*791651e3SPatrice Chotard							   TRC_6
60*791651e3SPatrice Chotard							   TWR_2
61*791651e3SPatrice Chotard							   TRP_2 TRCD_2>;
62*791651e3SPatrice Chotard			       st,sdram-refcount = < 1386 >;
63*791651e3SPatrice Chotard		       };
64*791651e3SPatrice Chotard		};
65*791651e3SPatrice Chotard	};
66*791651e3SPatrice Chotard};
67*791651e3SPatrice Chotard
68*791651e3SPatrice Chotard&clk_hse {
69*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
70*791651e3SPatrice Chotard};
71*791651e3SPatrice Chotard
72*791651e3SPatrice Chotard&clk_lse {
73*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
74*791651e3SPatrice Chotard};
75*791651e3SPatrice Chotard
76*791651e3SPatrice Chotard&clk_i2s_ckin {
77*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
78*791651e3SPatrice Chotard};
79*791651e3SPatrice Chotard
80*791651e3SPatrice Chotard&pwrcfg {
81*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
82*791651e3SPatrice Chotard};
83*791651e3SPatrice Chotard
84*791651e3SPatrice Chotard&rcc {
85*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
86*791651e3SPatrice Chotard};
87*791651e3SPatrice Chotard
88*791651e3SPatrice Chotard&gpioa {
89*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
90*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
91*791651e3SPatrice Chotard};
92*791651e3SPatrice Chotard
93*791651e3SPatrice Chotard&gpiob {
94*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
95*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
96*791651e3SPatrice Chotard};
97*791651e3SPatrice Chotard
98*791651e3SPatrice Chotard&gpioc {
99*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
100*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
101*791651e3SPatrice Chotard};
102*791651e3SPatrice Chotard
103*791651e3SPatrice Chotard&gpiod {
104*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
105*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
106*791651e3SPatrice Chotard};
107*791651e3SPatrice Chotard
108*791651e3SPatrice Chotard&gpioe {
109*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
110*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
111*791651e3SPatrice Chotard};
112*791651e3SPatrice Chotard
113*791651e3SPatrice Chotard&gpiof {
114*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
115*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
116*791651e3SPatrice Chotard};
117*791651e3SPatrice Chotard
118*791651e3SPatrice Chotard&gpiog {
119*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
120*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
121*791651e3SPatrice Chotard};
122*791651e3SPatrice Chotard
123*791651e3SPatrice Chotard&gpioh {
124*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
125*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
126*791651e3SPatrice Chotard};
127*791651e3SPatrice Chotard
128*791651e3SPatrice Chotard&gpioi {
129*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
130*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
131*791651e3SPatrice Chotard};
132*791651e3SPatrice Chotard
133*791651e3SPatrice Chotard&gpioj {
134*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
135*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
136*791651e3SPatrice Chotard};
137*791651e3SPatrice Chotard
138*791651e3SPatrice Chotard&gpiok {
139*791651e3SPatrice Chotard	compatible = "st,stm32-gpio";
140*791651e3SPatrice Chotard	u-boot,dm-pre-reloc;
141*791651e3SPatrice Chotard};
142*791651e3SPatrice Chotard
143*791651e3SPatrice Chotard&pinctrl {
144*791651e3SPatrice Chotard	usart1_pins_a: usart1@0	{
145*791651e3SPatrice Chotard		u-boot,dm-pre-reloc;
146*791651e3SPatrice Chotard		pins1 {
147*791651e3SPatrice Chotard			u-boot,dm-pre-reloc;
148*791651e3SPatrice Chotard		};
149*791651e3SPatrice Chotard		pins2 {
150*791651e3SPatrice Chotard			u-boot,dm-pre-reloc;
151*791651e3SPatrice Chotard		};
152*791651e3SPatrice Chotard	};
153*791651e3SPatrice Chotard
154*791651e3SPatrice Chotard	fmc_pins: fmc@0 {
155*791651e3SPatrice Chotard		u-boot,dm-pre-reloc;
156*791651e3SPatrice Chotard		pins
157*791651e3SPatrice Chotard		{
158*791651e3SPatrice Chotard			pinmux = <STM32_PINMUX('D',10, AF12)>, /* D15 */
159*791651e3SPatrice Chotard				 <STM32_PINMUX('D', 9, AF12)>, /* D14 */
160*791651e3SPatrice Chotard				 <STM32_PINMUX('D', 8, AF12)>, /* D13 */
161*791651e3SPatrice Chotard				 <STM32_PINMUX('E',15, AF12)>, /* D12 */
162*791651e3SPatrice Chotard				 <STM32_PINMUX('E',14, AF12)>, /* D11 */
163*791651e3SPatrice Chotard				 <STM32_PINMUX('E',13, AF12)>, /* D10 */
164*791651e3SPatrice Chotard				 <STM32_PINMUX('E',12, AF12)>, /* D09 */
165*791651e3SPatrice Chotard				 <STM32_PINMUX('E',11, AF12)>, /* D08 */
166*791651e3SPatrice Chotard				 <STM32_PINMUX('E',10, AF12)>, /* D07 */
167*791651e3SPatrice Chotard				 <STM32_PINMUX('E', 9, AF12)>, /* D06 */
168*791651e3SPatrice Chotard				 <STM32_PINMUX('E', 8, AF12)>, /* D05 */
169*791651e3SPatrice Chotard				 <STM32_PINMUX('E', 7, AF12)>, /* D04 */
170*791651e3SPatrice Chotard				 <STM32_PINMUX('D', 1, AF12)>, /* D03 */
171*791651e3SPatrice Chotard				 <STM32_PINMUX('D', 0, AF12)>, /* D02 */
172*791651e3SPatrice Chotard				 <STM32_PINMUX('D',15, AF12)>, /* D01 */
173*791651e3SPatrice Chotard				 <STM32_PINMUX('D',14, AF12)>, /* D00 */
174*791651e3SPatrice Chotard
175*791651e3SPatrice Chotard				 <STM32_PINMUX('E', 0, AF12)>, /* NBL0 */
176*791651e3SPatrice Chotard				 <STM32_PINMUX('E', 1, AF12)>, /* NBL1 */
177*791651e3SPatrice Chotard
178*791651e3SPatrice Chotard				 <STM32_PINMUX('G', 5, AF12)>, /* BA1 */
179*791651e3SPatrice Chotard				 <STM32_PINMUX('G', 4, AF12)>, /* BA0 */
180*791651e3SPatrice Chotard
181*791651e3SPatrice Chotard				 <STM32_PINMUX('G', 1, AF12)>, /* A11 */
182*791651e3SPatrice Chotard				 <STM32_PINMUX('G', 0, AF12)>, /* A10 */
183*791651e3SPatrice Chotard				 <STM32_PINMUX('F',15, AF12)>, /* A09 */
184*791651e3SPatrice Chotard				 <STM32_PINMUX('F',14, AF12)>, /* A08 */
185*791651e3SPatrice Chotard				 <STM32_PINMUX('F',13, AF12)>, /* A07 */
186*791651e3SPatrice Chotard				 <STM32_PINMUX('F',12, AF12)>, /* A06 */
187*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 5, AF12)>, /* A05 */
188*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 4, AF12)>, /* A04 */
189*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 3, AF12)>, /* A03 */
190*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 2, AF12)>, /* A02 */
191*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 1, AF12)>, /* A01 */
192*791651e3SPatrice Chotard				 <STM32_PINMUX('F', 0, AF12)>, /* A00 */
193*791651e3SPatrice Chotard
194*791651e3SPatrice Chotard				 <STM32_PINMUX('B', 6, AF12)>, /* SDNE1 */
195*791651e3SPatrice Chotard				 <STM32_PINMUX('C', 0, AF12)>, /* SDNWE */
196*791651e3SPatrice Chotard				 <STM32_PINMUX('F',11, AF12)>, /* SDNRAS */
197*791651e3SPatrice Chotard				 <STM32_PINMUX('G',15, AF12)>, /* SDNCAS */
198*791651e3SPatrice Chotard				 <STM32_PINMUX('B', 5, AF12)>, /* SDCKE1 */
199*791651e3SPatrice Chotard				 <STM32_PINMUX('G', 8, AF12)>; /* SDCLK */
200*791651e3SPatrice Chotard			slew-rate = <2>;
201*791651e3SPatrice Chotard			u-boot,dm-pre-reloc;
202*791651e3SPatrice Chotard		};
203*791651e3SPatrice Chotard	};
204*791651e3SPatrice Chotard};
205