Merge tag 'u-boot-rockchip-20201031' of https://gitlab.denx.de/u-boot/custodians...
[platform/kernel/u-boot.git] / arch / arm / dts / imxrt1050-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) 2019
4  * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
5  */
6
7 /dts-v1/;
8 #include "imxrt1050.dtsi"
9 #include "imxrt1050-evk-u-boot.dtsi"
10 #include <dt-bindings/pinctrl/pins-imxrt1050.h>
11
12 / {
13         model = "NXP IMXRT1050-evk board";
14         compatible = "fsl,imxrt1050-evk", "fsl,imxrt1050";
15
16         chosen {
17                 bootargs = "root=/dev/ram";
18                 stdout-path = "serial0:115200n8";
19         };
20
21         memory {
22                 reg = <0x80000000 0x2000000>;
23         };
24 };
25
26 &lpuart1 { /* console */
27         pinctrl-names = "default";
28         pinctrl-0 = <&pinctrl_lpuart1>;
29         status = "okay";
30 };
31
32 &semc {
33         /*
34          * Memory configuration from sdram datasheet IS42S16160J-6BLI
35          */
36         fsl,sdram-mux = /bits/ 8 <MUX_A8_SDRAM_A8
37                                 MUX_CSX0_SDRAM_CS1
38                                 0
39                                 0
40                                 0
41                                 0>;
42         fsl,sdram-control = /bits/ 8 <MEM_WIDTH_16BITS
43                                         BL_8
44                                         COL_9BITS
45                                         CL_3>;
46         fsl,sdram-timing = /bits/ 8 <0x2
47                                      0x2
48                                      0x9
49                                      0x1
50                                      0x5
51                                      0x6
52
53                                      0x20
54                                      0x09
55                                      0x01
56                                      0x00
57
58                                      0x04
59                                      0x0A
60                                      0x21
61                                      0x50>;
62
63         bank1: bank@0 {
64                 fsl,base-address = <0x80000000>;
65                 fsl,memory-size = <MEM_SIZE_32M>;
66         };
67 };
68
69 &iomuxc {
70         pinctrl-names = "default";
71         pinctrl-0 = <&pinctrl_lpuart1>;
72
73         imxrt1050-evk {
74                 pinctrl_lpuart1: lpuart1grp {
75                         fsl,pins = <
76                                 MXRT1050_IOMUXC_GPIO_AD_B0_12_LPUART1_TXD
77                                         0xf1
78                                 MXRT1050_IOMUXC_GPIO_AD_B0_13_LPUART1_RXD
79                                         0xf1
80                         >;
81                 };
82
83                 pinctrl_semc: semcgrp {
84                         fsl,pins = <
85                                 MXRT1050_IOMUXC_GPIO_EMC_00_SEMC_DA00
86                                         0xf1    /* SEMC_D0 */
87                                 MXRT1050_IOMUXC_GPIO_EMC_01_SEMC_DA01
88                                         0xf1    /* SEMC_D1 */
89                                 MXRT1050_IOMUXC_GPIO_EMC_02_SEMC_DA02
90                                         0xf1    /* SEMC_D2 */
91                                 MXRT1050_IOMUXC_GPIO_EMC_03_SEMC_DA03
92                                         0xf1    /* SEMC_D3 */
93                                 MXRT1050_IOMUXC_GPIO_EMC_04_SEMC_DA04
94                                         0xf1    /* SEMC_D4 */
95                                 MXRT1050_IOMUXC_GPIO_EMC_05_SEMC_DA05
96                                         0xf1    /* SEMC_D5 */
97                                 MXRT1050_IOMUXC_GPIO_EMC_06_SEMC_DA06
98                                         0xf1    /* SEMC_D6 */
99                                 MXRT1050_IOMUXC_GPIO_EMC_07_SEMC_DA07
100                                         0xf1    /* SEMC_D7 */
101                                 MXRT1050_IOMUXC_GPIO_EMC_08_SEMC_DM00
102                                         0xf1    /* SEMC_DM0 */
103                                 MXRT1050_IOMUXC_GPIO_EMC_09_SEMC_ADDR00
104                                         0xf1    /* SEMC_A0 */
105                                 MXRT1050_IOMUXC_GPIO_EMC_10_SEMC_ADDR01
106                                         0xf1    /* SEMC_A1 */
107                                 MXRT1050_IOMUXC_GPIO_EMC_11_SEMC_ADDR02
108                                         0xf1    /* SEMC_A2 */
109                                 MXRT1050_IOMUXC_GPIO_EMC_12_SEMC_ADDR03
110                                         0xf1    /* SEMC_A3 */
111                                 MXRT1050_IOMUXC_GPIO_EMC_13_SEMC_ADDR04
112                                         0xf1    /* SEMC_A4 */
113                                 MXRT1050_IOMUXC_GPIO_EMC_14_SEMC_ADDR05
114                                         0xf1    /* SEMC_A5 */
115                                 MXRT1050_IOMUXC_GPIO_EMC_15_SEMC_ADDR06
116                                         0xf1    /* SEMC_A6 */
117                                 MXRT1050_IOMUXC_GPIO_EMC_16_SEMC_ADDR07
118                                         0xf1    /* SEMC_A7 */
119                                 MXRT1050_IOMUXC_GPIO_EMC_17_SEMC_ADDR08
120                                         0xf1    /* SEMC_A8 */
121                                 MXRT1050_IOMUXC_GPIO_EMC_18_SEMC_ADDR09
122                                         0xf1    /* SEMC_A9 */
123                                 MXRT1050_IOMUXC_GPIO_EMC_19_SEMC_ADDR11
124                                         0xf1    /* SEMC_A11 */
125                                 MXRT1050_IOMUXC_GPIO_EMC_20_SEMC_ADDR12
126                                         0xf1    /* SEMC_A12 */
127                                 MXRT1050_IOMUXC_GPIO_EMC_21_SEMC_BA0
128                                         0xf1    /* SEMC_BA0 */
129                                 MXRT1050_IOMUXC_GPIO_EMC_22_SEMC_BA1
130                                         0xf1    /* SEMC_BA1 */
131                                 MXRT1050_IOMUXC_GPIO_EMC_23_SEMC_ADDR10
132                                         0xf1    /* SEMC_A10 */
133                                 MXRT1050_IOMUXC_GPIO_EMC_24_SEMC_CAS
134                                         0xf1    /* SEMC_CAS */
135                                 MXRT1050_IOMUXC_GPIO_EMC_25_SEMC_RAS
136                                         0xf1    /* SEMC_RAS */
137                                 MXRT1050_IOMUXC_GPIO_EMC_26_SEMC_CLK
138                                         0xf1    /* SEMC_CLK */
139                                 MXRT1050_IOMUXC_GPIO_EMC_27_SEMC_CKE
140                                         0xf1    /* SEMC_CKE */
141                                 MXRT1050_IOMUXC_GPIO_EMC_28_SEMC_WE
142                                         0xf1    /* SEMC_WE */
143                                 MXRT1050_IOMUXC_GPIO_EMC_29_SEMC_CS0
144                                         0xf1    /* SEMC_CS0 */
145                                 MXRT1050_IOMUXC_GPIO_EMC_30_SEMC_DA08
146                                         0xf1    /* SEMC_D8 */
147                                 MXRT1050_IOMUXC_GPIO_EMC_31_SEMC_DA09
148                                         0xf1    /* SEMC_D9 */
149                                 MXRT1050_IOMUXC_GPIO_EMC_32_SEMC_DA10
150                                         0xf1    /* SEMC_D10 */
151                                 MXRT1050_IOMUXC_GPIO_EMC_33_SEMC_DA11
152                                         0xf1    /* SEMC_D11 */
153                                 MXRT1050_IOMUXC_GPIO_EMC_34_SEMC_DA12
154                                         0xf1    /* SEMC_D12 */
155                                 MXRT1050_IOMUXC_GPIO_EMC_35_SEMC_DA13
156                                         0xf1    /* SEMC_D13 */
157                                 MXRT1050_IOMUXC_GPIO_EMC_36_SEMC_DA14
158                                         0xf1    /* SEMC_D14 */
159                                 MXRT1050_IOMUXC_GPIO_EMC_37_SEMC_DA15
160                                         0xf1    /* SEMC_D15 */
161                                 MXRT1050_IOMUXC_GPIO_EMC_38_SEMC_DM01
162                                         0xf1    /* SEMC_DM1 */
163                                 MXRT1050_IOMUXC_GPIO_EMC_39_SEMC_DQS
164                                         (IMX_PAD_SION | 0xf1)   /* SEMC_DQS */
165                         >;
166                 };
167
168                 pinctrl_usdhc0: usdhc0grp {
169                         fsl,pins = <
170                                 MXRT1050_IOMUXC_GPIO_B1_12_USDHC1_CD_B
171                                         0x1B000
172                                 MXRT1050_IOMUXC_GPIO_B1_14_USDHC1_VSELECT
173                                         0xB069
174                                 MXRT1050_IOMUXC_GPIO_SD_B0_00_USDHC1_CMD
175                                         0x17061
176                                 MXRT1050_IOMUXC_GPIO_SD_B0_01_USDHC1_CLK
177                                         0x17061
178                                 MXRT1050_IOMUXC_GPIO_SD_B0_05_USDHC1_DATA3
179                                         0x17061
180                                 MXRT1050_IOMUXC_GPIO_SD_B0_04_USDHC1_DATA2
181                                         0x17061
182                                 MXRT1050_IOMUXC_GPIO_SD_B0_03_USDHC1_DATA1
183                                         0x17061
184                                 MXRT1050_IOMUXC_GPIO_SD_B0_02_USDHC1_DATA0
185                                         0x17061
186                         >;
187                 };
188
189                 pinctrl_lcdif: lcdifgrp {
190                         u-boot,dm-spl;
191                         fsl,pins = <
192                                 MXRT1050_IOMUXC_GPIO_B0_00_LCD_CLK              0x1b0b1
193                                 MXRT1050_IOMUXC_GPIO_B0_01_LCD_ENABLE           0x1b0b1
194                                 MXRT1050_IOMUXC_GPIO_B0_02_LCD_HSYNC            0x1b0b1
195                                 MXRT1050_IOMUXC_GPIO_B0_03_LCD_VSYNC            0x1b0b1
196                                 MXRT1050_IOMUXC_GPIO_B0_04_LCD_DATA00           0x1b0b1
197                                 MXRT1050_IOMUXC_GPIO_B0_05_LCD_DATA01           0x1b0b1
198                                 MXRT1050_IOMUXC_GPIO_B0_06_LCD_DATA02           0x1b0b1
199                                 MXRT1050_IOMUXC_GPIO_B0_07_LCD_DATA03           0x1b0b1
200                                 MXRT1050_IOMUXC_GPIO_B0_08_LCD_DATA04           0x1b0b1
201                                 MXRT1050_IOMUXC_GPIO_B0_09_LCD_DATA05           0x1b0b1
202                                 MXRT1050_IOMUXC_GPIO_B0_10_LCD_DATA06           0x1b0b1
203                                 MXRT1050_IOMUXC_GPIO_B0_11_LCD_DATA07           0x1b0b1
204                                 MXRT1050_IOMUXC_GPIO_B0_12_LCD_DATA08           0x1b0b1
205                                 MXRT1050_IOMUXC_GPIO_B0_13_LCD_DATA09           0x1b0b1
206                                 MXRT1050_IOMUXC_GPIO_B0_14_LCD_DATA10           0x1b0b1
207                                 MXRT1050_IOMUXC_GPIO_B0_15_LCD_DATA11           0x1b0b1
208                                 MXRT1050_IOMUXC_GPIO_B1_01_LCD_DATA13           0x1b0b1
209                                 MXRT1050_IOMUXC_GPIO_B1_02_LCD_DATA14           0x1b0b1
210                                 MXRT1050_IOMUXC_GPIO_B1_03_LCD_DATA15           0x1b0b1
211                                 MXRT1050_IOMUXC_GPIO_B1_15_GPIO2_IO31           0x0b069
212                                 MXRT1050_IOMUXC_GPIO_AD_B0_02_GPIO1_IO02        0x0b069
213                         >;
214                 };
215         };
216 };
217
218 &usdhc1 {
219         pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
220         pinctrl-0 = <&pinctrl_usdhc0>;
221         pinctrl-1 = <&pinctrl_usdhc0>;
222         pinctrl-2 = <&pinctrl_usdhc0>;
223         pinctrl-3 = <&pinctrl_usdhc0>;
224         status = "okay";
225
226         cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
227 };
228
229 &lcdif {
230         pinctrl-names = "default";
231         pinctrl-0 = <&pinctrl_lcdif>;
232         display = <&display0>;
233         status = "okay";
234
235         assigned-clocks = <&clks IMXRT1050_CLK_LCDIF_SEL>;
236         assigned-clock-parents = <&clks IMXRT1050_CLK_PLL5_VIDEO>;
237
238         display0: display0 {
239                 bits-per-pixel = <16>;
240                 bus-width = <16>;
241
242                 display-timings {
243                         timing0: timing0 {
244                                 clock-frequency = <9300000>;
245                                 hactive = <480>;
246                                 vactive = <272>;
247                                 hback-porch = <4>;
248                                 hfront-porch = <8>;
249                                 vback-porch = <4>;
250                                 vfront-porch = <8>;
251                                 hsync-len = <41>;
252                                 vsync-len = <10>;
253                                 de-active = <1>;
254                                 pixelclk-active = <0>;
255                                 hsync-active = <0>;
256                                 vsync-active = <0>;
257                         };
258                 };
259         };
260 };