xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/mxs/imx28-apf28dev.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright 2012 Armadeus Systems - <support@armadeus.com>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/* APF28Dev is a docking board for the APF28 SOM */
7f126890aSEmmanuel Vadot#include "imx28-apf28.dts"
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/ {
10f126890aSEmmanuel Vadot	model = "Armadeus Systems APF28Dev docking/development board";
11f126890aSEmmanuel Vadot	compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
12f126890aSEmmanuel Vadot
13aa1a8ff2SEmmanuel Vadot	reg_usb0_vbus: regulator-0 {
14f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
15f126890aSEmmanuel Vadot		regulator-name = "usb0_vbus";
16f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
17f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
18f126890aSEmmanuel Vadot		gpio = <&gpio1 23 1>;
19f126890aSEmmanuel Vadot		enable-active-high;
20f126890aSEmmanuel Vadot	};
21f126890aSEmmanuel Vadot
22aa1a8ff2SEmmanuel Vadot	reg_can0_vcc: regulator-1 {
23f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
24f126890aSEmmanuel Vadot		regulator-name = "can0_vcc";
25f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
26f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
27f126890aSEmmanuel Vadot	};
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot	leds {
30f126890aSEmmanuel Vadot		compatible = "gpio-leds";
31f126890aSEmmanuel Vadot
32f126890aSEmmanuel Vadot		user {
33f126890aSEmmanuel Vadot			label = "Heartbeat";
34f126890aSEmmanuel Vadot			gpios = <&gpio0 21 0>;
35f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
36f126890aSEmmanuel Vadot		};
37f126890aSEmmanuel Vadot	};
38f126890aSEmmanuel Vadot
39f126890aSEmmanuel Vadot	backlight {
40f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
41f126890aSEmmanuel Vadot
42*84943d6fSEmmanuel Vadot		pwms = <&pwm 3 191000 0>;
43f126890aSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
44f126890aSEmmanuel Vadot		default-brightness-level = <6>;
45f126890aSEmmanuel Vadot	};
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot	gpio-keys {
48f126890aSEmmanuel Vadot		compatible = "gpio-keys";
49f126890aSEmmanuel Vadot
50f126890aSEmmanuel Vadot		user-button {
51f126890aSEmmanuel Vadot			label = "User button";
52f126890aSEmmanuel Vadot			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
53f126890aSEmmanuel Vadot			linux,code = <0x100>;
54f126890aSEmmanuel Vadot			wakeup-source;
55f126890aSEmmanuel Vadot		};
56f126890aSEmmanuel Vadot	};
57f126890aSEmmanuel Vadot};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot&auart0 {
60f126890aSEmmanuel Vadot	pinctrl-names = "default";
61f126890aSEmmanuel Vadot	pinctrl-0 = <&auart0_pins_a>;
62f126890aSEmmanuel Vadot	uart-has-rtscts;
63f126890aSEmmanuel Vadot	status = "okay";
64f126890aSEmmanuel Vadot};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot&can0 {
67f126890aSEmmanuel Vadot	pinctrl-names = "default";
68f126890aSEmmanuel Vadot	pinctrl-0 = <&can0_pins_a>;
69f126890aSEmmanuel Vadot	xceiver-supply = <&reg_can0_vcc>;
70f126890aSEmmanuel Vadot	status = "okay";
71f126890aSEmmanuel Vadot};
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot&i2c0 {
74f126890aSEmmanuel Vadot	pinctrl-names = "default";
75f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins_a>;
76f126890aSEmmanuel Vadot	status = "okay";
77f126890aSEmmanuel Vadot};
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot&lcdif {
80f126890aSEmmanuel Vadot	pinctrl-names = "default";
81f126890aSEmmanuel Vadot	pinctrl-0 = <&lcdif_16bit_pins_a
82f126890aSEmmanuel Vadot		     &lcdif_pins_apf28dev>;
83f126890aSEmmanuel Vadot	display = <&display0>;
84f126890aSEmmanuel Vadot	status = "okay";
85f126890aSEmmanuel Vadot
86f126890aSEmmanuel Vadot	display0: display0 {
87f126890aSEmmanuel Vadot		bits-per-pixel = <16>;
88f126890aSEmmanuel Vadot		bus-width = <16>;
89f126890aSEmmanuel Vadot
90f126890aSEmmanuel Vadot		display-timings {
91f126890aSEmmanuel Vadot			native-mode = <&timing0>;
92f126890aSEmmanuel Vadot			timing0: timing0 {
93f126890aSEmmanuel Vadot				clock-frequency = <33000033>;
94f126890aSEmmanuel Vadot				hactive = <800>;
95f126890aSEmmanuel Vadot				vactive = <480>;
96f126890aSEmmanuel Vadot				hback-porch = <96>;
97f126890aSEmmanuel Vadot				hfront-porch = <96>;
98f126890aSEmmanuel Vadot				vback-porch = <20>;
99f126890aSEmmanuel Vadot				vfront-porch = <21>;
100f126890aSEmmanuel Vadot				hsync-len = <64>;
101f126890aSEmmanuel Vadot				vsync-len = <4>;
102f126890aSEmmanuel Vadot				hsync-active = <1>;
103f126890aSEmmanuel Vadot				vsync-active = <1>;
104f126890aSEmmanuel Vadot				de-active = <1>;
105f126890aSEmmanuel Vadot				pixelclk-active = <0>;
106f126890aSEmmanuel Vadot			};
107f126890aSEmmanuel Vadot		};
108f126890aSEmmanuel Vadot	};
109f126890aSEmmanuel Vadot};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot&lradc {
112f126890aSEmmanuel Vadot	fsl,lradc-touchscreen-wires = <4>;
113f126890aSEmmanuel Vadot	status = "okay";
114f126890aSEmmanuel Vadot};
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot&mac1 {
117f126890aSEmmanuel Vadot	phy-mode = "rmii";
118f126890aSEmmanuel Vadot	pinctrl-names = "default";
119f126890aSEmmanuel Vadot	pinctrl-0 = <&mac1_pins_a>;
120f126890aSEmmanuel Vadot	phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
121f126890aSEmmanuel Vadot	status = "okay";
122f126890aSEmmanuel Vadot};
123f126890aSEmmanuel Vadot
124f126890aSEmmanuel Vadot&pinctrl {
125f126890aSEmmanuel Vadot	pinctrl-names = "default";
126f126890aSEmmanuel Vadot	pinctrl-0 = <&hog_pins_apf28dev>;
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot	hog_pins_apf28dev: hog@0 {
129f126890aSEmmanuel Vadot		reg = <0>;
130f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
131f126890aSEmmanuel Vadot			MX28_PAD_LCD_D16__GPIO_1_16
132f126890aSEmmanuel Vadot			MX28_PAD_LCD_D17__GPIO_1_17
133f126890aSEmmanuel Vadot			MX28_PAD_LCD_D18__GPIO_1_18
134f126890aSEmmanuel Vadot			MX28_PAD_LCD_D19__GPIO_1_19
135f126890aSEmmanuel Vadot			MX28_PAD_LCD_D20__GPIO_1_20
136f126890aSEmmanuel Vadot			MX28_PAD_LCD_D21__GPIO_1_21
137f126890aSEmmanuel Vadot			MX28_PAD_LCD_D22__GPIO_1_22
138f126890aSEmmanuel Vadot			MX28_PAD_GPMI_CE1N__GPIO_0_17
139f126890aSEmmanuel Vadot		>;
140f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
141f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
142f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
143f126890aSEmmanuel Vadot	};
144f126890aSEmmanuel Vadot
145f126890aSEmmanuel Vadot	lcdif_pins_apf28dev: lcdif-apf28dev@0 {
146f126890aSEmmanuel Vadot		reg = <0>;
147f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
148f126890aSEmmanuel Vadot			MX28_PAD_LCD_RD_E__LCD_VSYNC
149f126890aSEmmanuel Vadot			MX28_PAD_LCD_WR_RWN__LCD_HSYNC
150f126890aSEmmanuel Vadot			MX28_PAD_LCD_RS__LCD_DOTCLK
151f126890aSEmmanuel Vadot			MX28_PAD_LCD_CS__LCD_ENABLE
152f126890aSEmmanuel Vadot		>;
153f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
154f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
155f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
156f126890aSEmmanuel Vadot	};
157f126890aSEmmanuel Vadot
158f126890aSEmmanuel Vadot	usb0_otg_apf28dev: otg-apf28dev@0 {
159f126890aSEmmanuel Vadot		reg = <0>;
160f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
161f126890aSEmmanuel Vadot			MX28_PAD_LCD_D23__GPIO_1_23
162f126890aSEmmanuel Vadot		>;
163f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
164f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
165f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
166f126890aSEmmanuel Vadot	};
167f126890aSEmmanuel Vadot};
168f126890aSEmmanuel Vadot
169f126890aSEmmanuel Vadot&pwm {
170f126890aSEmmanuel Vadot	pinctrl-names = "default";
171f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
172f126890aSEmmanuel Vadot	status = "okay";
173f126890aSEmmanuel Vadot};
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot&ssp0 {
176f126890aSEmmanuel Vadot	compatible = "fsl,imx28-mmc";
177f126890aSEmmanuel Vadot	pinctrl-names = "default";
178f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc0_4bit_pins_a
179f126890aSEmmanuel Vadot		     &mmc0_cd_cfg &mmc0_sck_cfg>;
180f126890aSEmmanuel Vadot	bus-width = <4>;
181f126890aSEmmanuel Vadot	status = "okay";
182f126890aSEmmanuel Vadot};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot&ssp2 {
185f126890aSEmmanuel Vadot	compatible = "fsl,imx28-spi";
186f126890aSEmmanuel Vadot	pinctrl-names = "default";
187f126890aSEmmanuel Vadot	pinctrl-0 = <&spi2_pins_a>;
188f126890aSEmmanuel Vadot	status = "okay";
189f126890aSEmmanuel Vadot};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot&usb0 {
192f126890aSEmmanuel Vadot	pinctrl-names = "default";
193f126890aSEmmanuel Vadot	pinctrl-0 = <&usb0_otg_apf28dev
194f126890aSEmmanuel Vadot		     &usb0_id_pins_b>;
195f126890aSEmmanuel Vadot	vbus-supply = <&reg_usb0_vbus>;
196f126890aSEmmanuel Vadot	status = "okay";
197f126890aSEmmanuel Vadot};
198f126890aSEmmanuel Vadot
199f126890aSEmmanuel Vadot&usb1 {
200f126890aSEmmanuel Vadot	status = "okay";
201f126890aSEmmanuel Vadot};
202f126890aSEmmanuel Vadot
203f126890aSEmmanuel Vadot&usbphy0 {
204f126890aSEmmanuel Vadot	status = "okay";
205f126890aSEmmanuel Vadot};
206f126890aSEmmanuel Vadot
207f126890aSEmmanuel Vadot&usbphy1 {
208f126890aSEmmanuel Vadot	status = "okay";
209f126890aSEmmanuel Vadot};
210