blob: ceab5e5933d6c1fd3db5f8270331ec32822c8513 [file] [log] [blame]
Patrice Chotarddf2e02a2019-02-19 00:37:20 +01001// SPDX-License-Identifier: GPL-2.0+
2
3#include <stm32f7-u-boot.dtsi>
4/{
5 chosen {
6 bootargs = "root=/dev/ram rdinit=/linuxrc";
7 };
8
9 aliases {
10 /* Aliases for gpios so as to use sequence */
11 gpio0 = &gpioa;
12 gpio1 = &gpiob;
13 gpio2 = &gpioc;
14 gpio3 = &gpiod;
15 gpio4 = &gpioe;
16 gpio5 = &gpiof;
17 gpio6 = &gpiog;
18 gpio7 = &gpioh;
19 gpio8 = &gpioi;
20 gpio9 = &gpioj;
21 gpio10 = &gpiok;
22 mmc0 = &sdio;
23 spi0 = &qspi;
24 };
25
26 backlight: backlight {
27 compatible = "gpio-backlight";
28 gpios = <&gpiok 3 0>;
29 status = "okay";
30 };
31
32 button1 {
33 compatible = "st,button1";
34 button-gpio = <&gpioi 11 0>;
35 };
36
37 led1 {
38 compatible = "st,led1";
39 led-gpio = <&gpioi 1 0>;
40 };
41
42 panel-rgb@0 {
43 compatible = "simple-panel";
44 backlight = <&backlight>;
45 enable-gpios = <&gpioi 12 0>;
46 status = "okay";
47
48 display-timings {
49 timing@0 {
50 clock-frequency = <9000000>;
51 hactive = <480>;
52 vactive = <272>;
53 hfront-porch = <2>;
54 hback-porch = <2>;
55 hsync-len = <41>;
56 vfront-porch = <2>;
57 vback-porch = <2>;
58 vsync-len = <10>;
59 hsync-active = <0>;
60 vsync-active = <0>;
61 de-active = <0>;
62 pixelclk-active = <1>;
63 };
64 };
65 };
66
67 soc {
68 ltdc: display-controller@40016800 {
69 compatible = "st,stm32-ltdc";
70 reg = <0x40016800 0x200>;
71 resets = <&rcc STM32F7_APB2_RESET(LTDC)>;
72 clocks = <&rcc 0 STM32F7_APB2_CLOCK(LTDC)>;
73 pinctrl-0 = <&ltdc_pins>;
74
75 status = "okay";
76 u-boot,dm-pre-reloc;
77 };
78 };
79};
80
81&clk_hse {
82 u-boot,dm-pre-reloc;
83};
84
85&fmc {
86 /* Memory configuration from sdram datasheet MT48LC_4M32_B2B5-6A */
87 bank1: bank@0 {
88 u-boot,dm-pre-reloc;
89 st,sdram-control = /bits/ 8 <NO_COL_8
90 NO_ROW_12
91 MWIDTH_16
92 BANKS_4
93 CAS_3
94 SDCLK_2
95 RD_BURST_EN
96 RD_PIPE_DL_0>;
97 st,sdram-timing = /bits/ 8 <TMRD_2
98 TXSR_6
99 TRAS_4
100 TRC_6
101 TWR_2
102 TRP_2
103 TRCD_2>;
104 /* refcount = (64msec/total_row_sdram)*freq - 20 */
105 st,sdram-refcount = < 1542 >;
106 };
107};
108
109&pinctrl {
110 ethernet_mii: mii@0 {
111 pins {
112 pinmux = <STM32F746_PG13_FUNC_ETH_MII_TXD0_ETH_RMII_TXD0>,
113 <STM32F746_PG14_FUNC_ETH_MII_TXD1_ETH_RMII_TXD1>,
114 <STM32F746_PG11_FUNC_ETH_MII_TX_EN_ETH_RMII_TX_EN>,
115 <STM32F746_PA2_FUNC_ETH_MDIO>,
116 <STM32F746_PC1_FUNC_ETH_MDC>,
117 <STM32F746_PA1_FUNC_ETH_MII_RX_CLK_ETH_RMII_REF_CLK>,
118 <STM32F746_PA7_FUNC_ETH_MII_RX_DV_ETH_RMII_CRS_DV>,
119 <STM32F746_PC4_FUNC_ETH_MII_RXD0_ETH_RMII_RXD0>,
120 <STM32F746_PC5_FUNC_ETH_MII_RXD1_ETH_RMII_RXD1>;
121 slew-rate = <2>;
122 };
123 };
124
125 fmc_pins: fmc@0 {
126 u-boot,dm-pre-reloc;
127 pins {
128 u-boot,dm-pre-reloc;
129 pinmux = <STM32F746_PD10_FUNC_FMC_D15>,
130 <STM32F746_PD9_FUNC_FMC_D14>,
131 <STM32F746_PD8_FUNC_FMC_D13>,
132 <STM32F746_PE15_FUNC_FMC_D12>,
133 <STM32F746_PE14_FUNC_FMC_D11>,
134 <STM32F746_PE13_FUNC_FMC_D10>,
135 <STM32F746_PE12_FUNC_FMC_D9>,
136 <STM32F746_PE11_FUNC_FMC_D8>,
137 <STM32F746_PE10_FUNC_FMC_D7>,
138 <STM32F746_PE9_FUNC_FMC_D6>,
139 <STM32F746_PE8_FUNC_FMC_D5>,
140 <STM32F746_PE7_FUNC_FMC_D4>,
141 <STM32F746_PD1_FUNC_FMC_D3>,
142 <STM32F746_PD0_FUNC_FMC_D2>,
143 <STM32F746_PD15_FUNC_FMC_D1>,
144 <STM32F746_PD14_FUNC_FMC_D0>,
145
146 <STM32F746_PE1_FUNC_FMC_NBL1>,
147 <STM32F746_PE0_FUNC_FMC_NBL0>,
148
149 <STM32F746_PG5_FUNC_FMC_A15_FMC_BA1>,
150 <STM32F746_PG4_FUNC_FMC_A14_FMC_BA0>,
151
152 <STM32F746_PG1_FUNC_FMC_A11>,
153 <STM32F746_PG0_FUNC_FMC_A10>,
154 <STM32F746_PF15_FUNC_FMC_A9>,
155 <STM32F746_PF14_FUNC_FMC_A8>,
156 <STM32F746_PF13_FUNC_FMC_A7>,
157 <STM32F746_PF12_FUNC_FMC_A6>,
158 <STM32F746_PF5_FUNC_FMC_A5>,
159 <STM32F746_PF4_FUNC_FMC_A4>,
160 <STM32F746_PF3_FUNC_FMC_A3>,
161 <STM32F746_PF2_FUNC_FMC_A2>,
162 <STM32F746_PF1_FUNC_FMC_A1>,
163 <STM32F746_PF0_FUNC_FMC_A0>,
164
165 <STM32F746_PH3_FUNC_FMC_SDNE0>,
166 <STM32F746_PH5_FUNC_FMC_SDNWE>,
167 <STM32F746_PF11_FUNC_FMC_SDNRAS>,
168 <STM32F746_PG15_FUNC_FMC_SDNCAS>,
169 <STM32F746_PC3_FUNC_FMC_SDCKE0>,
170 <STM32F746_PG8_FUNC_FMC_SDCLK>;
171 slew-rate = <2>;
172 };
173 };
174
175 ltdc_pins: ltdc@0 {
176 pins {
177 pinmux = <STM32F746_PE4_FUNC_LCD_B0>,
178 <STM32F746_PG12_FUNC_LCD_B4>,
179 <STM32F746_PI9_FUNC_LCD_VSYNC>,
180 <STM32F746_PI10_FUNC_LCD_HSYNC>,
181 <STM32F746_PI14_FUNC_LCD_CLK>,
182 <STM32F746_PI15_FUNC_LCD_R0>,
183 <STM32F746_PJ0_FUNC_LCD_R1>,
184 <STM32F746_PJ1_FUNC_LCD_R2>,
185 <STM32F746_PJ2_FUNC_LCD_R3>,
186 <STM32F746_PJ3_FUNC_LCD_R4>,
187 <STM32F746_PJ4_FUNC_LCD_R5>,
188 <STM32F746_PJ5_FUNC_LCD_R6>,
189 <STM32F746_PJ6_FUNC_LCD_R7>,
190 <STM32F746_PJ7_FUNC_LCD_G0>,
191 <STM32F746_PJ8_FUNC_LCD_G1>,
192 <STM32F746_PJ9_FUNC_LCD_G2>,
193 <STM32F746_PJ10_FUNC_LCD_G3>,
194 <STM32F746_PJ11_FUNC_LCD_G4>,
195 <STM32F746_PJ13_FUNC_LCD_B1>,
196 <STM32F746_PJ14_FUNC_LCD_B2>,
197 <STM32F746_PJ15_FUNC_LCD_B3>,
198 <STM32F746_PK0_FUNC_LCD_G5>,
199 <STM32F746_PK1_FUNC_LCD_G6>,
200 <STM32F746_PK2_FUNC_LCD_G7>,
201 <STM32F746_PK4_FUNC_LCD_B5>,
202 <STM32F746_PK5_FUNC_LCD_B6>,
203 <STM32F746_PK6_FUNC_LCD_B7>,
204 <STM32F746_PK7_FUNC_LCD_DE>;
205 slew-rate = <2>;
206 };
207 };
208
209 qspi_pins: qspi@0 {
210 pins {
211 pinmux = <STM32F746_PB2_FUNC_QUADSPI_CLK>,
212 <STM32F746_PB6_FUNC_QUADSPI_BK1_NCS>,
213 <STM32F746_PD11_FUNC_QUADSPI_BK1_IO0>,
214 <STM32F746_PD12_FUNC_QUADSPI_BK1_IO1>,
215 <STM32F746_PD13_FUNC_QUADSPI_BK1_IO3>,
216 <STM32F746_PE2_FUNC_QUADSPI_BK1_IO2>;
217 slew-rate = <2>;
218 };
219 };
220
221 usart1_pins_a: usart1@0 {
222 u-boot,dm-pre-reloc;
223 pins1 {
224 u-boot,dm-pre-reloc;
225 };
226 pins2 {
227 u-boot,dm-pre-reloc;
228 };
229 };
230};
231
232&pwrcfg {
233 u-boot,dm-pre-reloc;
234};
235
236&qspi {
237 qflash0: n25q128a {
238 #address-cells = <1>;
239 #size-cells = <1>;
240 compatible = "micron,n25q128a13", "jedec,spi-nor";
241 spi-max-frequency = <108000000>;
242 spi-tx-bus-width = <1>;
243 spi-rx-bus-width = <1>;
244 memory-map = <0x90000000 0x1000000>;
245 reg = <0>;
246 };
247};
248
249&timer5 {
250 u-boot,dm-pre-reloc;
251};