Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / freescale / imx8mp-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright 2019 NXP
4  */
5
6 /dts-v1/;
7
8 #include "imx8mp.dtsi"
9
10 / {
11         model = "NXP i.MX8MPlus EVK board";
12         compatible = "fsl,imx8mp-evk", "fsl,imx8mp";
13
14         chosen {
15                 stdout-path = &uart2;
16         };
17
18         gpio-leds {
19                 compatible = "gpio-leds";
20                 pinctrl-names = "default";
21                 pinctrl-0 = <&pinctrl_gpio_led>;
22
23                 status {
24                         label = "yellow:status";
25                         gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
26                         default-state = "on";
27                 };
28         };
29
30         memory@40000000 {
31                 device_type = "memory";
32                 reg = <0x0 0x40000000 0 0xc0000000>,
33                       <0x1 0x00000000 0 0xc0000000>;
34         };
35
36         reg_usdhc2_vmmc: regulator-usdhc2 {
37                 compatible = "regulator-fixed";
38                 pinctrl-names = "default";
39                 pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
40                 regulator-name = "VSD_3V3";
41                 regulator-min-microvolt = <3300000>;
42                 regulator-max-microvolt = <3300000>;
43                 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
44                 enable-active-high;
45         };
46 };
47
48 &fec {
49         pinctrl-names = "default";
50         pinctrl-0 = <&pinctrl_fec>;
51         phy-mode = "rgmii-id";
52         phy-handle = <&ethphy1>;
53         fsl,magic-packet;
54         status = "okay";
55
56         mdio {
57                 #address-cells = <1>;
58                 #size-cells = <0>;
59
60                 ethphy1: ethernet-phy@1 {
61                         compatible = "ethernet-phy-ieee802.3-c22";
62                         reg = <1>;
63                         eee-broken-1000t;
64                         reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
65                 };
66         };
67 };
68
69 &i2c3 {
70         clock-frequency = <400000>;
71         pinctrl-names = "default";
72         pinctrl-0 = <&pinctrl_i2c3>;
73         status = "okay";
74
75         pca6416: gpio@20 {
76                 compatible = "ti,tca6416";
77                 reg = <0x20>;
78                 gpio-controller;
79                 #gpio-cells = <2>;
80         };
81 };
82
83 &snvs_pwrkey {
84         status = "okay";
85 };
86
87 &uart2 {
88         /* console */
89         pinctrl-names = "default";
90         pinctrl-0 = <&pinctrl_uart2>;
91         status = "okay";
92 };
93
94 &usdhc2 {
95         assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
96         assigned-clock-rates = <400000000>;
97         pinctrl-names = "default", "state_100mhz", "state_200mhz";
98         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
99         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
100         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
101         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
102         vmmc-supply = <&reg_usdhc2_vmmc>;
103         bus-width = <4>;
104         status = "okay";
105 };
106
107 &usdhc3 {
108         assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
109         assigned-clock-rates = <400000000>;
110         pinctrl-names = "default", "state_100mhz", "state_200mhz";
111         pinctrl-0 = <&pinctrl_usdhc3>;
112         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
113         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
114         bus-width = <8>;
115         non-removable;
116         status = "okay";
117 };
118
119 &wdog1 {
120         pinctrl-names = "default";
121         pinctrl-0 = <&pinctrl_wdog>;
122         fsl,ext-reset-output;
123         status = "okay";
124 };
125
126 &iomuxc {
127         pinctrl_fec: fecgrp {
128                 fsl,pins = <
129                         MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC               0x3
130                         MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO              0x3
131                         MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0         0x91
132                         MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1         0x91
133                         MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2         0x91
134                         MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3         0x91
135                         MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC          0x91
136                         MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL      0x91
137                         MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0         0x1f
138                         MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1         0x1f
139                         MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2         0x1f
140                         MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3         0x1f
141                         MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL      0x1f
142                         MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC         0x1f
143                         MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02              0x19
144                 >;
145         };
146
147         pinctrl_gpio_led: gpioledgrp {
148                 fsl,pins = <
149                         MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x19
150                 >;
151         };
152
153         pinctrl_i2c3: i2c3grp {
154                 fsl,pins = <
155                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c3
156                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c3
157                 >;
158         };
159
160         pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
161                 fsl,pins = <
162                         MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19    0x41
163                 >;
164         };
165
166         pinctrl_uart2: uart2grp {
167                 fsl,pins = <
168                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x49
169                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x49
170                 >;
171         };
172
173         pinctrl_usdhc2: usdhc2grp {
174                 fsl,pins = <
175                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x190
176                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d0
177                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d0
178                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d0
179                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d0
180                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d0
181                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
182                 >;
183         };
184
185         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
186                 fsl,pins = <
187                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x194
188                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d4
189                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d4
190                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d4
191                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d4
192                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d4
193                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
194                 >;
195         };
196
197         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
198                 fsl,pins = <
199                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK        0x196
200                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD        0x1d6
201                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0    0x1d6
202                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1    0x1d6
203                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2    0x1d6
204                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3    0x1d6
205                         MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
206                 >;
207         };
208
209         pinctrl_usdhc2_gpio: usdhc2gpiogrp {
210                 fsl,pins = <
211                         MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12       0x1c4
212                 >;
213         };
214
215         pinctrl_usdhc3: usdhc3grp {
216                 fsl,pins = <
217                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
218                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
219                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
220                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
221                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
222                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
223                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
224                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
225                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
226                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
227                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
228                 >;
229         };
230
231         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
232                 fsl,pins = <
233                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
234                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
235                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
236                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
237                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
238                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
239                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
240                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
241                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
242                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
243                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
244                 >;
245         };
246
247         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
248                 fsl,pins = <
249                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
250                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
251                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
252                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
253                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
254                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
255                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
256                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
257                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
258                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
259                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
260                 >;
261         };
262
263         pinctrl_wdog: wdoggrp {
264                 fsl,pins = <
265                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0xc6
266                 >;
267         };
268 };