xref: /linux/arch/arm/boot/dts/nxp/mxs/imx28-apf28dev.dts (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright 2012 Armadeus Systems - <support@armadeus.com>
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/* APF28Dev is a docking board for the APF28 SOM */
7724ba675SRob Herring#include "imx28-apf28.dts"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "Armadeus Systems APF28Dev docking/development board";
11724ba675SRob Herring	compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
12724ba675SRob Herring
1329e0e9b4SKrzysztof Kozlowski	reg_usb0_vbus: regulator-0 {
14724ba675SRob Herring		compatible = "regulator-fixed";
15724ba675SRob Herring		regulator-name = "usb0_vbus";
16724ba675SRob Herring		regulator-min-microvolt = <5000000>;
17724ba675SRob Herring		regulator-max-microvolt = <5000000>;
18724ba675SRob Herring		gpio = <&gpio1 23 1>;
19724ba675SRob Herring		enable-active-high;
20724ba675SRob Herring	};
21724ba675SRob Herring
2229e0e9b4SKrzysztof Kozlowski	reg_can0_vcc: regulator-1 {
23724ba675SRob Herring		compatible = "regulator-fixed";
24724ba675SRob Herring		regulator-name = "can0_vcc";
25724ba675SRob Herring		regulator-min-microvolt = <5000000>;
26724ba675SRob Herring		regulator-max-microvolt = <5000000>;
27724ba675SRob Herring	};
28724ba675SRob Herring
29724ba675SRob Herring	leds {
30724ba675SRob Herring		compatible = "gpio-leds";
31724ba675SRob Herring
32724ba675SRob Herring		user {
33724ba675SRob Herring			label = "Heartbeat";
34724ba675SRob Herring			gpios = <&gpio0 21 0>;
35724ba675SRob Herring			linux,default-trigger = "heartbeat";
36724ba675SRob Herring		};
37724ba675SRob Herring	};
38724ba675SRob Herring
39724ba675SRob Herring	backlight {
40724ba675SRob Herring		compatible = "pwm-backlight";
41724ba675SRob Herring
42*1970fc65SFabio Estevam		pwms = <&pwm 3 191000 0>;
43724ba675SRob Herring		brightness-levels = <0 4 8 16 32 64 128 255>;
44724ba675SRob Herring		default-brightness-level = <6>;
45724ba675SRob Herring	};
46724ba675SRob Herring
47724ba675SRob Herring	gpio-keys {
48724ba675SRob Herring		compatible = "gpio-keys";
49724ba675SRob Herring
50724ba675SRob Herring		user-button {
51724ba675SRob Herring			label = "User button";
52724ba675SRob Herring			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
53724ba675SRob Herring			linux,code = <0x100>;
54724ba675SRob Herring			wakeup-source;
55724ba675SRob Herring		};
56724ba675SRob Herring	};
57724ba675SRob Herring};
58724ba675SRob Herring
59724ba675SRob Herring&auart0 {
60724ba675SRob Herring	pinctrl-names = "default";
61724ba675SRob Herring	pinctrl-0 = <&auart0_pins_a>;
62724ba675SRob Herring	uart-has-rtscts;
63724ba675SRob Herring	status = "okay";
64724ba675SRob Herring};
65724ba675SRob Herring
66724ba675SRob Herring&can0 {
67724ba675SRob Herring	pinctrl-names = "default";
68724ba675SRob Herring	pinctrl-0 = <&can0_pins_a>;
69724ba675SRob Herring	xceiver-supply = <&reg_can0_vcc>;
70724ba675SRob Herring	status = "okay";
71724ba675SRob Herring};
72724ba675SRob Herring
73724ba675SRob Herring&i2c0 {
74724ba675SRob Herring	pinctrl-names = "default";
75724ba675SRob Herring	pinctrl-0 = <&i2c0_pins_a>;
76724ba675SRob Herring	status = "okay";
77724ba675SRob Herring};
78724ba675SRob Herring
79724ba675SRob Herring&lcdif {
80724ba675SRob Herring	pinctrl-names = "default";
81724ba675SRob Herring	pinctrl-0 = <&lcdif_16bit_pins_a
82724ba675SRob Herring		     &lcdif_pins_apf28dev>;
83724ba675SRob Herring	display = <&display0>;
84724ba675SRob Herring	status = "okay";
85724ba675SRob Herring
86724ba675SRob Herring	display0: display0 {
87724ba675SRob Herring		bits-per-pixel = <16>;
88724ba675SRob Herring		bus-width = <16>;
89724ba675SRob Herring
90724ba675SRob Herring		display-timings {
91724ba675SRob Herring			native-mode = <&timing0>;
92724ba675SRob Herring			timing0: timing0 {
93724ba675SRob Herring				clock-frequency = <33000033>;
94724ba675SRob Herring				hactive = <800>;
95724ba675SRob Herring				vactive = <480>;
96724ba675SRob Herring				hback-porch = <96>;
97724ba675SRob Herring				hfront-porch = <96>;
98724ba675SRob Herring				vback-porch = <20>;
99724ba675SRob Herring				vfront-porch = <21>;
100724ba675SRob Herring				hsync-len = <64>;
101724ba675SRob Herring				vsync-len = <4>;
102724ba675SRob Herring				hsync-active = <1>;
103724ba675SRob Herring				vsync-active = <1>;
104724ba675SRob Herring				de-active = <1>;
105724ba675SRob Herring				pixelclk-active = <0>;
106724ba675SRob Herring			};
107724ba675SRob Herring		};
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&lradc {
112724ba675SRob Herring	fsl,lradc-touchscreen-wires = <4>;
113724ba675SRob Herring	status = "okay";
114724ba675SRob Herring};
115724ba675SRob Herring
116724ba675SRob Herring&mac1 {
117724ba675SRob Herring	phy-mode = "rmii";
118724ba675SRob Herring	pinctrl-names = "default";
119724ba675SRob Herring	pinctrl-0 = <&mac1_pins_a>;
120724ba675SRob Herring	phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
121724ba675SRob Herring	status = "okay";
122724ba675SRob Herring};
123724ba675SRob Herring
124724ba675SRob Herring&pinctrl {
125724ba675SRob Herring	pinctrl-names = "default";
126724ba675SRob Herring	pinctrl-0 = <&hog_pins_apf28dev>;
127724ba675SRob Herring
128724ba675SRob Herring	hog_pins_apf28dev: hog@0 {
129724ba675SRob Herring		reg = <0>;
130724ba675SRob Herring		fsl,pinmux-ids = <
131724ba675SRob Herring			MX28_PAD_LCD_D16__GPIO_1_16
132724ba675SRob Herring			MX28_PAD_LCD_D17__GPIO_1_17
133724ba675SRob Herring			MX28_PAD_LCD_D18__GPIO_1_18
134724ba675SRob Herring			MX28_PAD_LCD_D19__GPIO_1_19
135724ba675SRob Herring			MX28_PAD_LCD_D20__GPIO_1_20
136724ba675SRob Herring			MX28_PAD_LCD_D21__GPIO_1_21
137724ba675SRob Herring			MX28_PAD_LCD_D22__GPIO_1_22
138724ba675SRob Herring			MX28_PAD_GPMI_CE1N__GPIO_0_17
139724ba675SRob Herring		>;
140724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
141724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
142724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
143724ba675SRob Herring	};
144724ba675SRob Herring
145724ba675SRob Herring	lcdif_pins_apf28dev: lcdif-apf28dev@0 {
146724ba675SRob Herring		reg = <0>;
147724ba675SRob Herring		fsl,pinmux-ids = <
148724ba675SRob Herring			MX28_PAD_LCD_RD_E__LCD_VSYNC
149724ba675SRob Herring			MX28_PAD_LCD_WR_RWN__LCD_HSYNC
150724ba675SRob Herring			MX28_PAD_LCD_RS__LCD_DOTCLK
151724ba675SRob Herring			MX28_PAD_LCD_CS__LCD_ENABLE
152724ba675SRob Herring		>;
153724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
154724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
155724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
156724ba675SRob Herring	};
157724ba675SRob Herring
158724ba675SRob Herring	usb0_otg_apf28dev: otg-apf28dev@0 {
159724ba675SRob Herring		reg = <0>;
160724ba675SRob Herring		fsl,pinmux-ids = <
161724ba675SRob Herring			MX28_PAD_LCD_D23__GPIO_1_23
162724ba675SRob Herring		>;
163724ba675SRob Herring		fsl,drive-strength = <MXS_DRIVE_4mA>;
164724ba675SRob Herring		fsl,voltage = <MXS_VOLTAGE_HIGH>;
165724ba675SRob Herring		fsl,pull-up = <MXS_PULL_DISABLE>;
166724ba675SRob Herring	};
167724ba675SRob Herring};
168724ba675SRob Herring
169724ba675SRob Herring&pwm {
170724ba675SRob Herring	pinctrl-names = "default";
171724ba675SRob Herring	pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
172724ba675SRob Herring	status = "okay";
173724ba675SRob Herring};
174724ba675SRob Herring
175724ba675SRob Herring&ssp0 {
176724ba675SRob Herring	compatible = "fsl,imx28-mmc";
177724ba675SRob Herring	pinctrl-names = "default";
178724ba675SRob Herring	pinctrl-0 = <&mmc0_4bit_pins_a
179724ba675SRob Herring		     &mmc0_cd_cfg &mmc0_sck_cfg>;
180724ba675SRob Herring	bus-width = <4>;
181724ba675SRob Herring	status = "okay";
182724ba675SRob Herring};
183724ba675SRob Herring
184724ba675SRob Herring&ssp2 {
185724ba675SRob Herring	compatible = "fsl,imx28-spi";
186724ba675SRob Herring	pinctrl-names = "default";
187724ba675SRob Herring	pinctrl-0 = <&spi2_pins_a>;
188724ba675SRob Herring	status = "okay";
189724ba675SRob Herring};
190724ba675SRob Herring
191724ba675SRob Herring&usb0 {
192724ba675SRob Herring	pinctrl-names = "default";
193724ba675SRob Herring	pinctrl-0 = <&usb0_otg_apf28dev
194724ba675SRob Herring		     &usb0_id_pins_b>;
195724ba675SRob Herring	vbus-supply = <&reg_usb0_vbus>;
196724ba675SRob Herring	status = "okay";
197724ba675SRob Herring};
198724ba675SRob Herring
199724ba675SRob Herring&usb1 {
200724ba675SRob Herring	status = "okay";
201724ba675SRob Herring};
202724ba675SRob Herring
203724ba675SRob Herring&usbphy0 {
204724ba675SRob Herring	status = "okay";
205724ba675SRob Herring};
206724ba675SRob Herring
207724ba675SRob Herring&usbphy1 {
208724ba675SRob Herring	status = "okay";
209724ba675SRob Herring};
210