xref: /linux/arch/arm/boot/dts/nxp/mxs/imx28-eukrea-mbmx28lc.dtsi (revision 29e0e9b4b2136be260ea2bed14aa71b99c97bd80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2013 Eukréa Electromatique <eric@eukrea.com>
4724ba675SRob Herring * Copyright 2013 Eukréa Electromatique <denis@eukrea.com>
5724ba675SRob Herring */
6724ba675SRob Herring
7724ba675SRob Herring#include <dt-bindings/input/input.h>
8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9724ba675SRob Herring#include "imx28.dtsi"
10724ba675SRob Herring
11724ba675SRob Herring/ {
12724ba675SRob Herring	model = "Eukrea Electromatique MBMX28LC";
13724ba675SRob Herring	compatible = "eukrea,mbmx28lc", "fsl,imx28";
14724ba675SRob Herring
15724ba675SRob Herring	backlight {
16724ba675SRob Herring		compatible = "pwm-backlight";
17724ba675SRob Herring		pwms = <&pwm 4 1000000>;
18724ba675SRob Herring		brightness-levels = <0 25 50 75 100 125 150 175 200 225 255>;
19724ba675SRob Herring		default-brightness-level = <10>;
20724ba675SRob Herring	};
21724ba675SRob Herring
22724ba675SRob Herring	gpio-keys-0 {
23724ba675SRob Herring		compatible = "gpio-keys";
24724ba675SRob Herring		pinctrl-names = "default";
25724ba675SRob Herring		pinctrl-0 = <&gpio_button_sw3_pins_mbmx28lc>;
26724ba675SRob Herring
27724ba675SRob Herring		switch-sw3 {
28724ba675SRob Herring			label = "SW3";
29724ba675SRob Herring			gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
30724ba675SRob Herring			linux,code = <BTN_MISC>;
31724ba675SRob Herring			wakeup-source;
32724ba675SRob Herring		};
33724ba675SRob Herring	};
34724ba675SRob Herring
35724ba675SRob Herring	gpio-keys-1 {
36724ba675SRob Herring		compatible = "gpio-keys";
37724ba675SRob Herring		pinctrl-names = "default";
38724ba675SRob Herring		pinctrl-0 = <&gpio_button_sw4_pins_mbmx28lc>;
39724ba675SRob Herring
40724ba675SRob Herring		switch-sw4 {
41724ba675SRob Herring			label = "SW4";
42724ba675SRob Herring			gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
43724ba675SRob Herring			linux,code = <BTN_MISC>;
44724ba675SRob Herring			wakeup-source;
45724ba675SRob Herring		};
46724ba675SRob Herring	};
47724ba675SRob Herring
48724ba675SRob Herring	led-d6 {
49724ba675SRob Herring		compatible = "gpio-leds";
50724ba675SRob Herring		pinctrl-names = "default";
51724ba675SRob Herring		pinctrl-0 = <&led_d6_pins_mbmx28lc>;
52724ba675SRob Herring
53724ba675SRob Herring		led1 {
54724ba675SRob Herring			label = "d6";
55724ba675SRob Herring			gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
56724ba675SRob Herring			linux,default-trigger = "heartbeat";
57724ba675SRob Herring		};
58724ba675SRob Herring	};
59724ba675SRob Herring
60724ba675SRob Herring	led-d7 {
61724ba675SRob Herring		compatible = "gpio-leds";
62724ba675SRob Herring		pinctrl-names = "default";
63724ba675SRob Herring		pinctrl-0 = <&led_d7_pins_mbmx28lc>;
64724ba675SRob Herring
65724ba675SRob Herring		led1 {
66724ba675SRob Herring			label = "d7";
67724ba675SRob Herring			gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
68724ba675SRob Herring			linux,default-trigger = "default-on";
69724ba675SRob Herring		};
70724ba675SRob Herring	};
71724ba675SRob Herring
72*29e0e9b4SKrzysztof Kozlowski	reg_3p3v: regulator-0 {
73724ba675SRob Herring		compatible = "regulator-fixed";
74724ba675SRob Herring		regulator-name = "3P3V";
75724ba675SRob Herring		regulator-min-microvolt = <3300000>;
76724ba675SRob Herring		regulator-max-microvolt = <3300000>;
77724ba675SRob Herring		regulator-always-on;
78724ba675SRob Herring	};
79724ba675SRob Herring
80*29e0e9b4SKrzysztof Kozlowski	reg_lcd_3v3: regulator-1 {
81724ba675SRob Herring		compatible = "regulator-fixed";
82724ba675SRob Herring		pinctrl-names = "default";
83724ba675SRob Herring		pinctrl-0 = <&reg_lcd_3v3_pins_mbmx28lc>;
84724ba675SRob Herring		regulator-name = "lcd-3v3";
85724ba675SRob Herring		regulator-min-microvolt = <3300000>;
86724ba675SRob Herring		regulator-max-microvolt = <3300000>;
87724ba675SRob Herring		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
88724ba675SRob Herring		enable-active-high;
89724ba675SRob Herring	};
90724ba675SRob Herring
91*29e0e9b4SKrzysztof Kozlowski	reg_usb0_vbus: regulator-2 {
92724ba675SRob Herring		compatible = "regulator-fixed";
93724ba675SRob Herring		pinctrl-names = "default";
94724ba675SRob Herring		pinctrl-0 = <&reg_usb0_vbus_pins_mbmx28lc>;
95724ba675SRob Herring		regulator-name = "usb0_vbus";
96724ba675SRob Herring		regulator-min-microvolt = <5000000>;
97724ba675SRob Herring		regulator-max-microvolt = <5000000>;
98724ba675SRob Herring		gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
99724ba675SRob Herring		enable-active-high;
100724ba675SRob Herring	};
101724ba675SRob Herring
102*29e0e9b4SKrzysztof Kozlowski	reg_usb1_vbus: regulator-3 {
103724ba675SRob Herring		compatible = "regulator-fixed";
104724ba675SRob Herring		pinctrl-names = "default";
105724ba675SRob Herring		pinctrl-0 = <&reg_usb1_vbus_pins_mbmx28lc>;
106724ba675SRob Herring		regulator-name = "usb1_vbus";
107724ba675SRob Herring		regulator-min-microvolt = <5000000>;
108724ba675SRob Herring		regulator-max-microvolt = <5000000>;
109724ba675SRob Herring		gpio = <&gpio1 19 GPIO_ACTIVE_HIGH>;
110724ba675SRob Herring		enable-active-high;
111724ba675SRob Herring	};
112724ba675SRob Herring
113724ba675SRob Herring	sound {
114724ba675SRob Herring		compatible = "fsl,imx28-mbmx28lc-sgtl5000",
115724ba675SRob Herring			     "fsl,mxs-audio-sgtl5000";
116724ba675SRob Herring		model = "imx28-mbmx28lc-sgtl5000";
117724ba675SRob Herring		saif-controllers = <&saif0 &saif1>;
118724ba675SRob Herring		audio-codec = <&sgtl5000>;
119724ba675SRob Herring	};
120724ba675SRob Herring};
121724ba675SRob Herring
122724ba675SRob Herring&duart {
123724ba675SRob Herring	pinctrl-names = "default";
124724ba675SRob Herring	pinctrl-0 = <&duart_4pins_a>;
125724ba675SRob Herring	status = "okay";
126724ba675SRob Herring};
127724ba675SRob Herring
128724ba675SRob Herring&i2c0 {
129724ba675SRob Herring	pinctrl-names = "default";
130724ba675SRob Herring	pinctrl-0 = <&i2c0_pins_a>;
131724ba675SRob Herring	status = "okay";
132724ba675SRob Herring
133724ba675SRob Herring	sgtl5000: codec@a {
134724ba675SRob Herring		compatible = "fsl,sgtl5000";
135724ba675SRob Herring		reg = <0x0a>;
136724ba675SRob Herring		#sound-dai-cells = <0>;
137724ba675SRob Herring		VDDA-supply = <&reg_3p3v>;
138724ba675SRob Herring		VDDIO-supply = <&reg_3p3v>;
139724ba675SRob Herring		clocks = <&saif0>;
140724ba675SRob Herring	};
141724ba675SRob Herring};
142724ba675SRob Herring
143724ba675SRob Herring&lcdif {
144724ba675SRob Herring	pinctrl-names = "default";
145724ba675SRob Herring	pinctrl-0 = <&lcdif_18bit_pins_a &lcdif_pins_mbmx28lc>;
146724ba675SRob Herring	lcd-supply = <&reg_lcd_3v3>;
147724ba675SRob Herring	display = <&display0>;
148724ba675SRob Herring	status = "okay";
149724ba675SRob Herring
150724ba675SRob Herring	display0: display0 {
151724ba675SRob Herring		model = "43WVF1G-0";
152724ba675SRob Herring		bits-per-pixel = <16>;
153724ba675SRob Herring		bus-width = <18>;
154724ba675SRob Herring
155724ba675SRob Herring		display-timings {
156724ba675SRob Herring			native-mode = <&timing0>;
157724ba675SRob Herring			timing0: timing0 {
158724ba675SRob Herring				clock-frequency = <9072000>;
159724ba675SRob Herring				hactive = <480>;
160724ba675SRob Herring				vactive = <272>;
161724ba675SRob Herring				hback-porch = <10>;
162724ba675SRob Herring				hfront-porch = <5>;
163724ba675SRob Herring				vback-porch = <8>;
164724ba675SRob Herring				vfront-porch = <8>;
165724ba675SRob Herring				hsync-len = <40>;
166724ba675SRob Herring				vsync-len = <10>;
167724ba675SRob Herring				hsync-active = <0>;
168724ba675SRob Herring				vsync-active = <0>;
169724ba675SRob Herring				de-active = <1>;
170724ba675SRob Herring				pixelclk-active = <1>;
171724ba675SRob Herring			};
172724ba675SRob Herring		};
173724ba675SRob Herring	};
174724ba675SRob Herring};
175724ba675SRob Herring
176724ba675SRob Herring&lradc {
177724ba675SRob Herring	fsl,lradc-touchscreen-wires = <4>;
178724ba675SRob Herring	status = "okay";
179724ba675SRob Herring};
180724ba675SRob Herring
181724ba675SRob Herring&pinctrl {
182724ba675SRob Herring	gpio_button_sw3_pins_mbmx28lc: gpio-button-sw3-mbmx28lc@0 {
183724ba675SRob Herring		reg = <0>;
184724ba675SRob Herring		fsl,pinmux-ids = <
185724ba675SRob Herring			MX28_PAD_LCD_D21__GPIO_1_21
186724ba675SRob Herring		>;
187724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
188724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
189724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
190724ba675SRob Herring	};
191724ba675SRob Herring
192724ba675SRob Herring	gpio_button_sw4_pins_mbmx28lc: gpio-button-sw4-mbmx28lc@0 {
193724ba675SRob Herring		reg = <0>;
194724ba675SRob Herring		fsl,pinmux-ids = <
195724ba675SRob Herring			MX28_PAD_LCD_D20__GPIO_1_20
196724ba675SRob Herring		>;
197724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
198724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
199724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
200724ba675SRob Herring	};
201724ba675SRob Herring
202724ba675SRob Herring	lcdif_pins_mbmx28lc: lcdif-mbmx28lc@0 {
203724ba675SRob Herring		reg = <0>;
204724ba675SRob Herring		fsl,pinmux-ids = <
205724ba675SRob Herring			MX28_PAD_LCD_VSYNC__LCD_VSYNC
206724ba675SRob Herring			MX28_PAD_LCD_HSYNC__LCD_HSYNC
207724ba675SRob Herring			MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
208724ba675SRob Herring			MX28_PAD_LCD_ENABLE__LCD_ENABLE
209724ba675SRob Herring		>;
210724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
211724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
212724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
213724ba675SRob Herring	};
214724ba675SRob Herring
215724ba675SRob Herring	led_d6_pins_mbmx28lc: led-d6-mbmx28lc@0 {
216724ba675SRob Herring		reg = <0>;
217724ba675SRob Herring		fsl,pinmux-ids = <
218724ba675SRob Herring			MX28_PAD_LCD_D23__GPIO_1_23
219724ba675SRob Herring		>;
220724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
221724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
222724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
223724ba675SRob Herring	};
224724ba675SRob Herring
225724ba675SRob Herring	led_d7_pins_mbmx28lc: led-d7-mbmx28lc@0 {
226724ba675SRob Herring		reg = <0>;
227724ba675SRob Herring		fsl,pinmux-ids = <
228724ba675SRob Herring			MX28_PAD_LCD_D22__GPIO_1_22
229724ba675SRob Herring		>;
230724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
231724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
232724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
233724ba675SRob Herring	};
234724ba675SRob Herring
235724ba675SRob Herring	reg_lcd_3v3_pins_mbmx28lc: lcd-3v3-mbmx28lc@0 {
236724ba675SRob Herring		reg = <0>;
237724ba675SRob Herring		fsl,pinmux-ids = <
238724ba675SRob Herring			MX28_PAD_LCD_RESET__GPIO_3_30
239724ba675SRob Herring		>;
240724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
241724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
242724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
243724ba675SRob Herring	};
244724ba675SRob Herring
245724ba675SRob Herring	reg_usb0_vbus_pins_mbmx28lc: reg-usb0-vbus-mbmx28lc@0 {
246724ba675SRob Herring		reg = <0>;
247724ba675SRob Herring		fsl,pinmux-ids = <
248724ba675SRob Herring			MX28_PAD_LCD_D18__GPIO_1_18
249724ba675SRob Herring		>;
250724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
251724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
252724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
253724ba675SRob Herring	};
254724ba675SRob Herring
255724ba675SRob Herring	reg_usb1_vbus_pins_mbmx28lc: reg-usb1-vbus-mbmx28lc@0 {
256724ba675SRob Herring		reg = <0>;
257724ba675SRob Herring		fsl,pinmux-ids = <
258724ba675SRob Herring			MX28_PAD_LCD_D19__GPIO_1_19
259724ba675SRob Herring		>;
260724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
261724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
262724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
263724ba675SRob Herring	};
264724ba675SRob Herring};
265724ba675SRob Herring
266724ba675SRob Herring&pwm {
267724ba675SRob Herring	pinctrl-names = "default";
268724ba675SRob Herring	pinctrl-0 = <&pwm4_pins_a>;
269724ba675SRob Herring	status = "okay";
270724ba675SRob Herring};
271724ba675SRob Herring
272724ba675SRob Herring&saif0 {
273724ba675SRob Herring	pinctrl-names = "default";
274724ba675SRob Herring	pinctrl-0 = <&saif0_pins_a>;
275724ba675SRob Herring	status = "okay";
276724ba675SRob Herring};
277724ba675SRob Herring
278724ba675SRob Herring&saif1 {
279724ba675SRob Herring	pinctrl-names = "default";
280724ba675SRob Herring	pinctrl-0 = <&saif1_pins_a>;
281724ba675SRob Herring	fsl,saif-master = <&saif0>;
282724ba675SRob Herring	status = "okay";
283724ba675SRob Herring};
284724ba675SRob Herring
285724ba675SRob Herring&ssp0 {
286724ba675SRob Herring	compatible = "fsl,imx28-mmc";
287724ba675SRob Herring	pinctrl-names = "default";
288724ba675SRob Herring	pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_cd_cfg &mmc0_sck_cfg>;
289724ba675SRob Herring	bus-width = <4>;
290724ba675SRob Herring	cd-inverted;
291724ba675SRob Herring	status = "okay";
292724ba675SRob Herring};
293724ba675SRob Herring
294724ba675SRob Herring&usb0 {
295724ba675SRob Herring	disable-over-current;
296724ba675SRob Herring	vbus-supply = <&reg_usb0_vbus>;
297724ba675SRob Herring	status = "okay";
298724ba675SRob Herring	pinctrl-names = "default";
299724ba675SRob Herring	pinctrl-0 = <&usb0_id_pins_b>;
300724ba675SRob Herring};
301724ba675SRob Herring
302724ba675SRob Herring&usb1 {
303724ba675SRob Herring	vbus-supply = <&reg_usb1_vbus>;
304724ba675SRob Herring	status = "okay";
305724ba675SRob Herring};
306724ba675SRob Herring
307724ba675SRob Herring&usbphy0 {
308724ba675SRob Herring	status = "okay";
309724ba675SRob Herring};
310724ba675SRob Herring
311724ba675SRob Herring&usbphy1 {
312724ba675SRob Herring	status = "okay";
313724ba675SRob Herring};
314