Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm / boot / dts / imx28-m28evk.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3
4  * Copyright (C) 2012 Marek Vasut <marex@denx.de>
5  */
6
7 /dts-v1/;
8 #include "imx28-m28.dtsi"
9
10 / {
11         model = "Aries/DENX M28EVK";
12         compatible = "aries,m28evk", "denx,m28evk", "fsl,imx28";
13
14         apb@80000000 {
15                 apbh@80000000 {
16                         ssp0: spi@80010000 {
17                                 compatible = "fsl,imx28-mmc";
18                                 pinctrl-names = "default";
19                                 pinctrl-0 = <&mmc0_8bit_pins_a
20                                              &mmc0_cd_cfg
21                                              &mmc0_sck_cfg>;
22                                 bus-width = <8>;
23                                 wp-gpios = <&gpio3 10 0>;
24                                 vmmc-supply = <&reg_vddio_sd0>;
25                                 status = "okay";
26                         };
27
28                         ssp2: spi@80014000 {
29                                 #address-cells = <1>;
30                                 #size-cells = <0>;
31                                 compatible = "fsl,imx28-spi";
32                                 pinctrl-names = "default";
33                                 pinctrl-0 = <&spi2_pins_a>;
34                                 status = "okay";
35
36                                 flash: m25p80@0 {
37                                         #address-cells = <1>;
38                                         #size-cells = <1>;
39                                         compatible = "m25p80", "jedec,spi-nor";
40                                         spi-max-frequency = <40000000>;
41                                         reg = <0>;
42                                 };
43                         };
44
45                         pinctrl@80018000 {
46                                 pinctrl-names = "default";
47                                 pinctrl-0 = <&hog_pins_a>;
48
49                                 hog_pins_a: hog@0 {
50                                         reg = <0>;
51                                         fsl,pinmux-ids = <
52                                                 MX28_PAD_PWM3__GPIO_3_28
53                                                 MX28_PAD_AUART2_CTS__GPIO_3_10
54                                                 MX28_PAD_AUART2_RTS__GPIO_3_11
55                                                 MX28_PAD_AUART3_RX__GPIO_3_12
56                                                 MX28_PAD_AUART3_TX__GPIO_3_13
57                                         >;
58                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
59                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
60                                         fsl,pull-up = <MXS_PULL_DISABLE>;
61                                 };
62
63                                 lcdif_pins_m28: lcdif-m28@0 {
64                                         reg = <0>;
65                                         fsl,pinmux-ids = <
66                                                 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
67                                                 MX28_PAD_LCD_ENABLE__LCD_ENABLE
68                                         >;
69                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
70                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
71                                         fsl,pull-up = <MXS_PULL_DISABLE>;
72                                 };
73                         };
74
75                         lcdif@80030000 {
76                                 pinctrl-names = "default";
77                                 pinctrl-0 = <&lcdif_24bit_pins_a
78                                              &lcdif_pins_m28>;
79                                 display = <&display0>;
80                                 status = "okay";
81
82                                 display0: display0 {
83                                         bits-per-pixel = <16>;
84                                         bus-width = <18>;
85
86                                         display-timings {
87                                                 native-mode = <&timing0>;
88                                                 timing0: timing0 {
89                                                         clock-frequency = <33260000>;
90                                                         hactive = <800>;
91                                                         vactive = <480>;
92                                                         hback-porch = <0>;
93                                                         hfront-porch = <256>;
94                                                         vback-porch = <0>;
95                                                         vfront-porch = <45>;
96                                                         hsync-len = <1>;
97                                                         vsync-len = <1>;
98                                                         hsync-active = <0>;
99                                                         vsync-active = <0>;
100                                                         de-active = <1>;
101                                                         pixelclk-active = <1>;
102                                                 };
103                                         };
104                                 };
105                         };
106
107                         can0: can@80032000 {
108                                 pinctrl-names = "default";
109                                 pinctrl-0 = <&can0_pins_a>;
110                                 status = "okay";
111                         };
112
113                         can1: can@80034000 {
114                                 pinctrl-names = "default";
115                                 pinctrl-0 = <&can1_pins_a>;
116                                 status = "okay";
117                         };
118                 };
119
120                 apbx@80040000 {
121                         saif0: saif@80042000 {
122                                 pinctrl-names = "default";
123                                 pinctrl-0 = <&saif0_pins_a>;
124                                 status = "okay";
125                         };
126
127                         saif1: saif@80046000 {
128                                 pinctrl-names = "default";
129                                 pinctrl-0 = <&saif1_pins_a>;
130                                 fsl,saif-master = <&saif0>;
131                                 status = "okay";
132                         };
133
134                         i2c0: i2c@80058000 {
135                                 sgtl5000: codec@a {
136                                         compatible = "fsl,sgtl5000";
137                                         reg = <0x0a>;
138                                         #sound-dai-cells = <0>;
139                                         VDDA-supply = <&reg_3p3v>;
140                                         VDDIO-supply = <&reg_3p3v>;
141                                         clocks = <&saif0>;
142                                 };
143
144                                 eeprom: eeprom@51 {
145                                         compatible = "atmel,24c128";
146                                         reg = <0x51>;
147                                         pagesize = <32>;
148                                 };
149                         };
150
151                         lradc@80050000 {
152                                 status = "okay";
153                                 fsl,lradc-touchscreen-wires = <4>;
154                         };
155
156                         duart: serial@80074000 {
157                                 pinctrl-names = "default";
158                                 pinctrl-0 = <&duart_pins_a>;
159                                 status = "okay";
160                         };
161
162                         usbphy0: usbphy@8007c000 {
163                                 status = "okay";
164                         };
165
166                         usbphy1: usbphy@8007e000 {
167                                 status = "okay";
168                         };
169
170                         auart0: serial@8006a000 {
171                                 pinctrl-names = "default";
172                                 pinctrl-0 = <&auart0_pins_a>;
173                                 status = "okay";
174                         };
175
176                         auart1: serial@8006c000 {
177                                 pinctrl-names = "default";
178                                 pinctrl-0 = <&auart1_pins_a>;
179                                 status = "okay";
180                         };
181
182                         auart2: serial@8006e000 {
183                                 pinctrl-names = "default";
184                                 pinctrl-0 = <&auart2_2pins_b>;
185                                 status = "okay";
186                         };
187
188                         pwm: pwm@80064000 {
189                                 pinctrl-names = "default";
190                                 pinctrl-0 = <&pwm4_pins_a>;
191                                 status = "okay";
192                         };
193                 };
194         };
195
196         ahb@80080000 {
197                 usb0: usb@80080000 {
198                         vbus-supply = <&reg_usb0_vbus>;
199                         pinctrl-names = "default";
200                         pinctrl-0 = <&usb0_pins_a>;
201                         status = "okay";
202                 };
203
204                 usb1: usb@80090000 {
205                         vbus-supply = <&reg_usb1_vbus>;
206                         pinctrl-names = "default";
207                         pinctrl-0 = <&usb1_pins_a>;
208                         status = "okay";
209                 };
210
211                 mac0: ethernet@800f0000 {
212                         phy-mode = "rmii";
213                         pinctrl-names = "default";
214                         pinctrl-0 = <&mac0_pins_a>;
215                         clocks = <&clks 57>, <&clks 57>;
216                         clock-names = "ipg", "ahb";
217                         status = "okay";
218                 };
219
220                 mac1: ethernet@800f4000 {
221                         phy-mode = "rmii";
222                         pinctrl-names = "default";
223                         pinctrl-0 = <&mac1_pins_a>;
224                         status = "okay";
225                 };
226         };
227
228         backlight {
229                 compatible = "pwm-backlight";
230                 pwms = <&pwm 4 5000000>;
231                 brightness-levels = <0 4 8 16 32 64 128 255>;
232                 default-brightness-level = <6>;
233         };
234
235         regulators {
236                 reg_vddio_sd0: regulator@1 {
237                         compatible = "regulator-fixed";
238                         reg = <1>;
239                         regulator-name = "vddio-sd0";
240                         regulator-min-microvolt = <3300000>;
241                         regulator-max-microvolt = <3300000>;
242                         gpio = <&gpio3 28 0>;
243                 };
244
245                 reg_usb0_vbus: regulator@2 {
246                         compatible = "regulator-fixed";
247                         reg = <2>;
248                         regulator-name = "usb0_vbus";
249                         regulator-min-microvolt = <5000000>;
250                         regulator-max-microvolt = <5000000>;
251                         gpio = <&gpio3 12 0>;
252                 };
253
254                 reg_usb1_vbus: regulator@3 {
255                         compatible = "regulator-fixed";
256                         reg = <3>;
257                         regulator-name = "usb1_vbus";
258                         regulator-min-microvolt = <5000000>;
259                         regulator-max-microvolt = <5000000>;
260                         gpio = <&gpio3 13 0>;
261                 };
262         };
263
264         sound {
265                 compatible = "denx,m28evk-sgtl5000",
266                              "fsl,mxs-audio-sgtl5000";
267                 model = "m28evk-sgtl5000";
268                 saif-controllers = <&saif0 &saif1>;
269                 audio-codec = <&sgtl5000>;
270         };
271 };