xref: /openbmc/linux/arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2013 Marek Vasut <marex@denx.de>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring#include "imx28.dtsi"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "MSR M28CU3";
11724ba675SRob Herring	compatible = "msr,m28cu3", "fsl,imx28";
12724ba675SRob Herring
13724ba675SRob Herring	memory@40000000 {
14724ba675SRob Herring		device_type = "memory";
15724ba675SRob Herring		reg = <0x40000000 0x08000000>;
16724ba675SRob Herring	};
17724ba675SRob Herring
18724ba675SRob Herring	backlight {
19724ba675SRob Herring		compatible = "pwm-backlight";
20724ba675SRob Herring		pwms = <&pwm 3 5000000>;
21724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
22724ba675SRob Herring		default-brightness-level = <6>;
23724ba675SRob Herring	};
24724ba675SRob Herring
25724ba675SRob Herring	leds {
26724ba675SRob Herring		compatible = "gpio-leds";
27724ba675SRob Herring		pinctrl-names = "default";
28724ba675SRob Herring		pinctrl-0 = <&led_pins_gpio>;
29724ba675SRob Herring
30724ba675SRob Herring		user1 {
31724ba675SRob Herring			label = "sd0-led";
32724ba675SRob Herring			gpios = <&gpio2 26 0>;
33724ba675SRob Herring			linux,default-trigger = "mmc0";
34724ba675SRob Herring		};
35724ba675SRob Herring
36724ba675SRob Herring		user2 {
37724ba675SRob Herring			label = "sd1-led";
38724ba675SRob Herring			gpios = <&gpio2 24 0>;
39724ba675SRob Herring			linux,default-trigger = "mmc2";
40724ba675SRob Herring		};
41724ba675SRob Herring	};
42724ba675SRob Herring
43*29e0e9b4SKrzysztof Kozlowski	reg_3p3v: regulator-0 {
44724ba675SRob Herring		compatible = "regulator-fixed";
45724ba675SRob Herring		regulator-name = "3P3V";
46724ba675SRob Herring		regulator-min-microvolt = <3300000>;
47724ba675SRob Herring		regulator-max-microvolt = <3300000>;
48724ba675SRob Herring		regulator-always-on;
49724ba675SRob Herring	};
50724ba675SRob Herring
51*29e0e9b4SKrzysztof Kozlowski	reg_vddio_sd0: regulator-1 {
52724ba675SRob Herring		compatible = "regulator-fixed";
53724ba675SRob Herring		regulator-name = "vddio-sd0";
54724ba675SRob Herring		regulator-min-microvolt = <3300000>;
55724ba675SRob Herring		regulator-max-microvolt = <3300000>;
56724ba675SRob Herring		gpio = <&gpio3 29 0>;
57724ba675SRob Herring	};
58724ba675SRob Herring
59*29e0e9b4SKrzysztof Kozlowski	reg_vddio_sd1: regulator-2 {
60724ba675SRob Herring		compatible = "regulator-fixed";
61724ba675SRob Herring		regulator-name = "vddio-sd1";
62724ba675SRob Herring		regulator-min-microvolt = <3300000>;
63724ba675SRob Herring		regulator-max-microvolt = <3300000>;
64724ba675SRob Herring		gpio = <&gpio2 19 0>;
65724ba675SRob Herring	};
66724ba675SRob Herring
67*29e0e9b4SKrzysztof Kozlowski	reg_usb1_vbus: regulator-3 {
68724ba675SRob Herring		compatible = "regulator-fixed";
69724ba675SRob Herring		regulator-name = "usb1_vbus";
70724ba675SRob Herring		regulator-min-microvolt = <5000000>;
71724ba675SRob Herring		regulator-max-microvolt = <5000000>;
72724ba675SRob Herring		gpio = <&gpio3 8 0>;
73724ba675SRob Herring		enable-active-high;
74724ba675SRob Herring	};
75724ba675SRob Herring};
76724ba675SRob Herring
77724ba675SRob Herring&auart0 {
78724ba675SRob Herring	pinctrl-names = "default";
79724ba675SRob Herring	pinctrl-0 = <&auart0_2pins_a>;
80724ba675SRob Herring	status = "okay";
81724ba675SRob Herring};
82724ba675SRob Herring
83724ba675SRob Herring&auart3 {
84724ba675SRob Herring	pinctrl-names = "default";
85724ba675SRob Herring	pinctrl-0 = <&auart3_2pins_b>;
86724ba675SRob Herring	status = "okay";
87724ba675SRob Herring};
88724ba675SRob Herring
89724ba675SRob Herring&duart {
90724ba675SRob Herring	pinctrl-names = "default";
91724ba675SRob Herring	pinctrl-0 = <&duart_pins_b>;
92724ba675SRob Herring	status = "okay";
93724ba675SRob Herring};
94724ba675SRob Herring
95724ba675SRob Herring&gpmi {
96724ba675SRob Herring	#address-cells = <1>;
97724ba675SRob Herring	#size-cells = <1>;
98724ba675SRob Herring	pinctrl-names = "default";
99724ba675SRob Herring	pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
100724ba675SRob Herring	status = "okay";
101724ba675SRob Herring
102724ba675SRob Herring	partition@0 {
103724ba675SRob Herring		label = "gpmi-nfc-0-boot";
104724ba675SRob Herring		reg = <0x00000000 0x01400000>;
105724ba675SRob Herring		read-only;
106724ba675SRob Herring	};
107724ba675SRob Herring
108724ba675SRob Herring	partition@1 {
109724ba675SRob Herring		label = "gpmi-nfc-general-use";
110724ba675SRob Herring		reg = <0x01400000 0x0ec00000>;
111724ba675SRob Herring	};
112724ba675SRob Herring};
113724ba675SRob Herring
114724ba675SRob Herring&lcdif {
115724ba675SRob Herring	pinctrl-names = "default";
116724ba675SRob Herring	pinctrl-0 = <&lcdif_24bit_pins_a
117724ba675SRob Herring		     &lcdif_pins_m28>;
118724ba675SRob Herring	display = <&display0>;
119724ba675SRob Herring	status = "okay";
120724ba675SRob Herring
121724ba675SRob Herring	display0: display0 {
122724ba675SRob Herring		bits-per-pixel = <32>;
123724ba675SRob Herring		bus-width = <24>;
124724ba675SRob Herring
125724ba675SRob Herring		display-timings {
126724ba675SRob Herring			native-mode = <&timing0>;
127724ba675SRob Herring			timing0: timing0 {
128724ba675SRob Herring				clock-frequency = <6410256>;
129724ba675SRob Herring				hactive = <320>;
130724ba675SRob Herring				vactive = <240>;
131724ba675SRob Herring				hback-porch = <38>;
132724ba675SRob Herring				hfront-porch = <20>;
133724ba675SRob Herring				vback-porch = <15>;
134724ba675SRob Herring				vfront-porch = <5>;
135724ba675SRob Herring				hsync-len = <30>;
136724ba675SRob Herring				vsync-len = <3>;
137724ba675SRob Herring				hsync-active = <0>;
138724ba675SRob Herring				vsync-active = <0>;
139724ba675SRob Herring				de-active = <1>;
140724ba675SRob Herring				pixelclk-active = <1>;
141724ba675SRob Herring			};
142724ba675SRob Herring		};
143724ba675SRob Herring	};
144724ba675SRob Herring};
145724ba675SRob Herring
146724ba675SRob Herring&mac0 {
147724ba675SRob Herring	phy-mode = "rmii";
148724ba675SRob Herring	pinctrl-names = "default";
149724ba675SRob Herring	pinctrl-0 = <&mac0_pins_a>;
150724ba675SRob Herring	phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
151724ba675SRob Herring	phy-reset-duration = <100>;
152724ba675SRob Herring	status = "okay";
153724ba675SRob Herring};
154724ba675SRob Herring
155724ba675SRob Herring&mac1 {
156724ba675SRob Herring	phy-mode = "rmii";
157724ba675SRob Herring	pinctrl-names = "default";
158724ba675SRob Herring	pinctrl-0 = <&mac1_pins_a>;
159724ba675SRob Herring	status = "okay";
160724ba675SRob Herring};
161724ba675SRob Herring
162724ba675SRob Herring&ocotp {
163724ba675SRob Herring	status = "okay";
164724ba675SRob Herring};
165724ba675SRob Herring
166724ba675SRob Herring&pinctrl {
167724ba675SRob Herring	pinctrl-names = "default";
168724ba675SRob Herring	pinctrl-0 = <&hog_pins_a>;
169724ba675SRob Herring
170724ba675SRob Herring	hog_pins_a: hog@0 {
171724ba675SRob Herring		reg = <0>;
172724ba675SRob Herring		fsl,pinmux-ids = <
173724ba675SRob Herring			MX28_PAD_SSP2_SS0__GPIO_2_19
174724ba675SRob Herring			MX28_PAD_PWM4__GPIO_3_29
175724ba675SRob Herring			MX28_PAD_AUART2_RX__GPIO_3_8
176724ba675SRob Herring			MX28_PAD_ENET0_RX_CLK__GPIO_4_13
177724ba675SRob Herring		>;
178724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
179724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
180724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
181724ba675SRob Herring	};
182724ba675SRob Herring
183724ba675SRob Herring	lcdif_pins_m28: lcdif-m28@0 {
184724ba675SRob Herring		reg = <0>;
185724ba675SRob Herring		fsl,pinmux-ids = <
186724ba675SRob Herring			MX28_PAD_LCD_VSYNC__LCD_VSYNC
187724ba675SRob Herring			MX28_PAD_LCD_HSYNC__LCD_HSYNC
188724ba675SRob Herring			MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
189724ba675SRob Herring			MX28_PAD_LCD_RESET__LCD_RESET
190724ba675SRob Herring			MX28_PAD_LCD_CS__LCD_ENABLE
191724ba675SRob Herring			MX28_PAD_AUART1_TX__GPIO_3_5
192724ba675SRob Herring		>;
193724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
194724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
195724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
196724ba675SRob Herring	};
197724ba675SRob Herring
198724ba675SRob Herring	led_pins_gpio: leds-m28@0 {
199724ba675SRob Herring		reg = <0>;
200724ba675SRob Herring		fsl,pinmux-ids = <
201724ba675SRob Herring			MX28_PAD_SSP3_MISO__GPIO_2_26
202724ba675SRob Herring			MX28_PAD_SSP3_SCK__GPIO_2_24
203724ba675SRob Herring		>;
204724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
205724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
206724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
207724ba675SRob Herring	};
208724ba675SRob Herring};
209724ba675SRob Herring
210724ba675SRob Herring&pwm {
211724ba675SRob Herring	pinctrl-names = "default";
212724ba675SRob Herring	pinctrl-0 = <&pwm3_pins_a>;
213724ba675SRob Herring	status = "okay";
214724ba675SRob Herring};
215724ba675SRob Herring
216724ba675SRob Herring&ssp0 {
217724ba675SRob Herring	compatible = "fsl,imx28-mmc";
218724ba675SRob Herring	pinctrl-names = "default";
219724ba675SRob Herring	pinctrl-0 = <&mmc0_4bit_pins_a
220724ba675SRob Herring		     &mmc0_cd_cfg
221724ba675SRob Herring		     &mmc0_sck_cfg>;
222724ba675SRob Herring	bus-width = <4>;
223724ba675SRob Herring	vmmc-supply = <&reg_vddio_sd0>;
224724ba675SRob Herring	status = "okay";
225724ba675SRob Herring};
226724ba675SRob Herring
227724ba675SRob Herring&ssp2 {
228724ba675SRob Herring	compatible = "fsl,imx28-mmc";
229724ba675SRob Herring	pinctrl-names = "default";
230724ba675SRob Herring	pinctrl-0 = <&mmc2_4bit_pins_a
231724ba675SRob Herring		     &mmc2_cd_cfg
232724ba675SRob Herring		     &mmc2_sck_cfg_a>;
233724ba675SRob Herring	bus-width = <4>;
234724ba675SRob Herring	vmmc-supply = <&reg_vddio_sd1>;
235724ba675SRob Herring	status = "okay";
236724ba675SRob Herring};
237724ba675SRob Herring
238724ba675SRob Herring&usb1 {
239724ba675SRob Herring	vbus-supply = <&reg_usb1_vbus>;
240724ba675SRob Herring	pinctrl-names = "default";
241724ba675SRob Herring	pinctrl-0 = <&usb1_pins_a>;
242724ba675SRob Herring	disable-over-current;
243724ba675SRob Herring	status = "okay";
244724ba675SRob Herring};
245724ba675SRob Herring
246724ba675SRob Herring&usbphy1 {
247724ba675SRob Herring	status = "okay";
248724ba675SRob Herring};
249