blob: 34b4d3246db197a0588abc2d03ebabad3b0c4ca4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2013 Marek Vasut <marex@denx.de>
4 */
5
6/dts-v1/;
7#include "imx28.dtsi"
8
9/ {
10 model = "MSR M28CU3";
11 compatible = "msr,m28cu3", "fsl,imx28";
12
13 memory@40000000 {
14 device_type = "memory";
15 reg = <0x40000000 0x08000000>;
16 };
17
18 backlight {
19 compatible = "pwm-backlight";
20 pwms = <&pwm 3 5000000 0>;
21 brightness-levels = <0 4 8 16 32 64 128 255>;
22 default-brightness-level = <6>;
23 };
24
25 leds {
26 compatible = "gpio-leds";
27 pinctrl-names = "default";
28 pinctrl-0 = <&led_pins_gpio>;
29
30 user1 {
31 label = "sd0-led";
32 gpios = <&gpio2 26 0>;
33 linux,default-trigger = "mmc0";
34 };
35
36 user2 {
37 label = "sd1-led";
38 gpios = <&gpio2 24 0>;
39 linux,default-trigger = "mmc2";
40 };
41 };
42
43 reg_3p3v: regulator-0 {
44 compatible = "regulator-fixed";
45 regulator-name = "3P3V";
46 regulator-min-microvolt = <3300000>;
47 regulator-max-microvolt = <3300000>;
48 regulator-always-on;
49 };
50
51 reg_vddio_sd0: regulator-1 {
52 compatible = "regulator-fixed";
53 regulator-name = "vddio-sd0";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 gpio = <&gpio3 29 0>;
57 };
58
59 reg_vddio_sd1: regulator-2 {
60 compatible = "regulator-fixed";
61 regulator-name = "vddio-sd1";
62 regulator-min-microvolt = <3300000>;
63 regulator-max-microvolt = <3300000>;
64 gpio = <&gpio2 19 0>;
65 };
66
67 reg_usb1_vbus: regulator-3 {
68 compatible = "regulator-fixed";
69 regulator-name = "usb1_vbus";
70 regulator-min-microvolt = <5000000>;
71 regulator-max-microvolt = <5000000>;
72 gpio = <&gpio3 8 0>;
73 enable-active-high;
74 };
75};
76
77&auart0 {
78 pinctrl-names = "default";
79 pinctrl-0 = <&auart0_2pins_a>;
80 status = "okay";
81};
82
83&auart3 {
84 pinctrl-names = "default";
85 pinctrl-0 = <&auart3_2pins_b>;
86 status = "okay";
87};
88
89&duart {
90 pinctrl-names = "default";
91 pinctrl-0 = <&duart_pins_b>;
92 status = "okay";
93};
94
95&gpmi {
96 #address-cells = <1>;
97 #size-cells = <1>;
98 pinctrl-names = "default";
99 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
100 status = "okay";
101
102 partition@0 {
103 label = "gpmi-nfc-0-boot";
104 reg = <0x00000000 0x01400000>;
105 read-only;
106 };
107
108 partition@1 {
109 label = "gpmi-nfc-general-use";
110 reg = <0x01400000 0x0ec00000>;
111 };
112};
113
114&lcdif {
115 pinctrl-names = "default";
116 pinctrl-0 = <&lcdif_24bit_pins_a
117 &lcdif_pins_m28>;
118 display = <&display0>;
119 status = "okay";
120
121 display0: display0 {
122 bits-per-pixel = <32>;
123 bus-width = <24>;
124
125 display-timings {
126 native-mode = <&timing0>;
127 timing0: timing0 {
128 clock-frequency = <6410256>;
129 hactive = <320>;
130 vactive = <240>;
131 hback-porch = <38>;
132 hfront-porch = <20>;
133 vback-porch = <15>;
134 vfront-porch = <5>;
135 hsync-len = <30>;
136 vsync-len = <3>;
137 hsync-active = <0>;
138 vsync-active = <0>;
139 de-active = <1>;
140 pixelclk-active = <1>;
141 };
142 };
143 };
144};
145
146&mac0 {
147 phy-mode = "rmii";
148 pinctrl-names = "default";
149 pinctrl-0 = <&mac0_pins_a>;
150 phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
151 phy-reset-duration = <100>;
152 status = "okay";
153};
154
155&mac1 {
156 phy-mode = "rmii";
157 pinctrl-names = "default";
158 pinctrl-0 = <&mac1_pins_a>;
159 status = "okay";
160};
161
162&ocotp {
163 status = "okay";
164};
165
166&pinctrl {
167 pinctrl-names = "default";
168 pinctrl-0 = <&hog_pins_a>;
169
170 hog_pins_a: hog@0 {
171 reg = <0>;
172 fsl,pinmux-ids = <
173 MX28_PAD_SSP2_SS0__GPIO_2_19
174 MX28_PAD_PWM4__GPIO_3_29
175 MX28_PAD_AUART2_RX__GPIO_3_8
176 MX28_PAD_ENET0_RX_CLK__GPIO_4_13
177 >;
178 fsl,drive-strength = <MXS_DRIVE_4mA>;
179 fsl,voltage = <MXS_VOLTAGE_HIGH>;
180 fsl,pull-up = <MXS_PULL_DISABLE>;
181 };
182
183 lcdif_pins_m28: lcdif-m28@0 {
184 reg = <0>;
185 fsl,pinmux-ids = <
186 MX28_PAD_LCD_VSYNC__LCD_VSYNC
187 MX28_PAD_LCD_HSYNC__LCD_HSYNC
188 MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
189 MX28_PAD_LCD_RESET__LCD_RESET
190 MX28_PAD_LCD_CS__LCD_ENABLE
191 MX28_PAD_AUART1_TX__GPIO_3_5
192 >;
193 fsl,drive-strength = <MXS_DRIVE_4mA>;
194 fsl,voltage = <MXS_VOLTAGE_HIGH>;
195 fsl,pull-up = <MXS_PULL_DISABLE>;
196 };
197
198 led_pins_gpio: leds-m28@0 {
199 reg = <0>;
200 fsl,pinmux-ids = <
201 MX28_PAD_SSP3_MISO__GPIO_2_26
202 MX28_PAD_SSP3_SCK__GPIO_2_24
203 >;
204 fsl,drive-strength = <MXS_DRIVE_4mA>;
205 fsl,voltage = <MXS_VOLTAGE_HIGH>;
206 fsl,pull-up = <MXS_PULL_DISABLE>;
207 };
208};
209
210&pwm {
211 pinctrl-names = "default";
212 pinctrl-0 = <&pwm3_pins_a>;
213 status = "okay";
214};
215
216&ssp0 {
217 compatible = "fsl,imx28-mmc";
218 pinctrl-names = "default";
219 pinctrl-0 = <&mmc0_4bit_pins_a
220 &mmc0_cd_cfg
221 &mmc0_sck_cfg>;
222 bus-width = <4>;
223 vmmc-supply = <&reg_vddio_sd0>;
224 status = "okay";
225};
226
227&ssp2 {
228 compatible = "fsl,imx28-mmc";
229 pinctrl-names = "default";
230 pinctrl-0 = <&mmc2_4bit_pins_a
231 &mmc2_cd_cfg
232 &mmc2_sck_cfg_a>;
233 bus-width = <4>;
234 vmmc-supply = <&reg_vddio_sd1>;
235 status = "okay";
236};
237
238&usb1 {
239 vbus-supply = <&reg_usb1_vbus>;
240 pinctrl-names = "default";
241 pinctrl-0 = <&usb1_pins_a>;
242 disable-over-current;
243 status = "okay";
244};
245
246&usbphy1 {
247 status = "okay";
248};