imx28-apf28dev.dts revision 279377
1279377Simp/*
2279377Simp * Copyright 2012 Armadeus Systems - <support@armadeus.com>
3279377Simp *
4279377Simp * The code contained herein is licensed under the GNU General Public
5279377Simp * License. You may obtain a copy of the GNU General Public License
6279377Simp * Version 2 or later at the following locations:
7279377Simp *
8279377Simp * http://www.opensource.org/licenses/gpl-license.html
9279377Simp * http://www.gnu.org/copyleft/gpl.html
10279377Simp */
11279377Simp
12279377Simp/* APF28Dev is a docking board for the APF28 SOM */
13279377Simp#include "imx28-apf28.dts"
14279377Simp
15279377Simp/ {
16279377Simp	model = "Armadeus Systems APF28Dev docking/development board";
17279377Simp	compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
18279377Simp
19279377Simp	apb@80000000 {
20279377Simp		apbh@80000000 {
21279377Simp			ssp0: ssp@80010000 {
22279377Simp				compatible = "fsl,imx28-mmc";
23279377Simp				pinctrl-names = "default";
24279377Simp				pinctrl-0 = <&mmc0_4bit_pins_a
25279377Simp					&mmc0_cd_cfg &mmc0_sck_cfg>;
26279377Simp				bus-width = <4>;
27279377Simp				status = "okay";
28279377Simp			};
29279377Simp
30279377Simp			ssp2: ssp@80014000 {
31279377Simp				compatible = "fsl,imx28-spi";
32279377Simp				pinctrl-names = "default";
33279377Simp				pinctrl-0 = <&spi2_pins_a>;
34279377Simp				status = "okay";
35279377Simp			};
36279377Simp
37279377Simp			pinctrl@80018000 {
38279377Simp				pinctrl-names = "default";
39279377Simp				pinctrl-0 = <&hog_pins_apf28dev>;
40279377Simp
41279377Simp				hog_pins_apf28dev: hog@0 {
42279377Simp					reg = <0>;
43279377Simp					fsl,pinmux-ids = <
44279377Simp						MX28_PAD_LCD_D16__GPIO_1_16
45279377Simp						MX28_PAD_LCD_D17__GPIO_1_17
46279377Simp						MX28_PAD_LCD_D18__GPIO_1_18
47279377Simp						MX28_PAD_LCD_D19__GPIO_1_19
48279377Simp						MX28_PAD_LCD_D20__GPIO_1_20
49279377Simp						MX28_PAD_LCD_D21__GPIO_1_21
50279377Simp						MX28_PAD_LCD_D22__GPIO_1_22
51279377Simp						MX28_PAD_GPMI_CE1N__GPIO_0_17
52279377Simp					>;
53279377Simp					fsl,drive-strength = <MXS_DRIVE_4mA>;
54279377Simp					fsl,voltage = <MXS_VOLTAGE_HIGH>;
55279377Simp					fsl,pull-up = <MXS_PULL_DISABLE>;
56279377Simp				};
57279377Simp
58279377Simp				lcdif_pins_apf28dev: lcdif-apf28dev@0 {
59279377Simp					reg = <0>;
60279377Simp					fsl,pinmux-ids = <
61279377Simp						MX28_PAD_LCD_RD_E__LCD_VSYNC
62279377Simp						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
63279377Simp						MX28_PAD_LCD_RS__LCD_DOTCLK
64279377Simp						MX28_PAD_LCD_CS__LCD_ENABLE
65279377Simp					>;
66279377Simp					fsl,drive-strength = <MXS_DRIVE_4mA>;
67279377Simp					fsl,voltage = <MXS_VOLTAGE_HIGH>;
68279377Simp					fsl,pull-up = <MXS_PULL_DISABLE>;
69279377Simp				};
70279377Simp
71279377Simp				usb0_otg_apf28dev: otg-apf28dev@0 {
72279377Simp					reg = <0>;
73279377Simp					fsl,pinmux-ids = <
74279377Simp						MX28_PAD_LCD_D23__GPIO_1_23
75279377Simp					>;
76279377Simp					fsl,drive-strength = <MXS_DRIVE_4mA>;
77279377Simp					fsl,voltage = <MXS_VOLTAGE_HIGH>;
78279377Simp					fsl,pull-up = <MXS_PULL_DISABLE>;
79279377Simp				};
80279377Simp			};
81279377Simp
82279377Simp			lcdif@80030000 {
83279377Simp				pinctrl-names = "default";
84279377Simp				pinctrl-0 = <&lcdif_16bit_pins_a
85279377Simp						&lcdif_pins_apf28dev>;
86279377Simp				display = <&display0>;
87279377Simp				status = "okay";
88279377Simp
89279377Simp				display0: display0 {
90279377Simp					bits-per-pixel = <16>;
91279377Simp					bus-width = <16>;
92279377Simp
93279377Simp					display-timings {
94279377Simp						native-mode = <&timing0>;
95279377Simp						timing0: timing0 {
96279377Simp							clock-frequency = <33000033>;
97279377Simp							hactive = <800>;
98279377Simp							vactive = <480>;
99279377Simp							hback-porch = <96>;
100279377Simp							hfront-porch = <96>;
101279377Simp							vback-porch = <20>;
102279377Simp							vfront-porch = <21>;
103279377Simp							hsync-len = <64>;
104279377Simp							vsync-len = <4>;
105279377Simp							hsync-active = <1>;
106279377Simp							vsync-active = <1>;
107279377Simp							de-active = <1>;
108279377Simp							pixelclk-active = <0>;
109279377Simp						};
110279377Simp					};
111279377Simp				};
112279377Simp			};
113279377Simp		};
114279377Simp
115279377Simp		apbx@80040000 {
116279377Simp			lradc@80050000 {
117279377Simp				fsl,lradc-touchscreen-wires = <4>;
118279377Simp				status = "okay";
119279377Simp			};
120279377Simp
121279377Simp			i2c0: i2c@80058000 {
122279377Simp				pinctrl-names = "default";
123279377Simp				pinctrl-0 = <&i2c0_pins_a>;
124279377Simp				status = "okay";
125279377Simp			};
126279377Simp
127279377Simp			pwm: pwm@80064000 {
128279377Simp				pinctrl-names = "default";
129279377Simp				pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
130279377Simp				status = "okay";
131279377Simp			};
132279377Simp
133279377Simp			usbphy0: usbphy@8007c000 {
134279377Simp				status = "okay";
135279377Simp			};
136279377Simp
137279377Simp			usbphy1: usbphy@8007e000 {
138279377Simp				status = "okay";
139279377Simp			};
140279377Simp		};
141279377Simp	};
142279377Simp
143279377Simp	ahb@80080000 {
144279377Simp		usb0: usb@80080000 {
145279377Simp			pinctrl-names = "default";
146279377Simp			pinctrl-0 = <&usb0_otg_apf28dev>;
147279377Simp			vbus-supply = <&reg_usb0_vbus>;
148279377Simp			status = "okay";
149279377Simp		};
150279377Simp
151279377Simp		usb1: usb@80090000 {
152279377Simp			status = "okay";
153279377Simp		};
154279377Simp
155279377Simp		mac1: ethernet@800f4000 {
156279377Simp			phy-mode = "rmii";
157279377Simp			pinctrl-names = "default";
158279377Simp			pinctrl-0 = <&mac1_pins_a>;
159279377Simp			phy-reset-gpios = <&gpio0 23 0>;
160279377Simp			status = "okay";
161279377Simp		};
162279377Simp	};
163279377Simp
164279377Simp	regulators {
165279377Simp		compatible = "simple-bus";
166279377Simp		#address-cells = <1>;
167279377Simp		#size-cells = <0>;
168279377Simp
169279377Simp		reg_usb0_vbus: regulator@0 {
170279377Simp			compatible = "regulator-fixed";
171279377Simp			reg = <0>;
172279377Simp			regulator-name = "usb0_vbus";
173279377Simp			regulator-min-microvolt = <5000000>;
174279377Simp			regulator-max-microvolt = <5000000>;
175279377Simp			gpio = <&gpio1 23 1>;
176279377Simp			enable-active-high;
177279377Simp		};
178279377Simp	};
179279377Simp
180279377Simp	leds {
181279377Simp		compatible = "gpio-leds";
182279377Simp
183279377Simp		user {
184279377Simp			label = "Heartbeat";
185279377Simp			gpios = <&gpio0 21 0>;
186279377Simp			linux,default-trigger = "heartbeat";
187279377Simp		};
188279377Simp	};
189279377Simp
190279377Simp	backlight {
191279377Simp		compatible = "pwm-backlight";
192279377Simp
193279377Simp		pwms = <&pwm 3 191000>;
194279377Simp		brightness-levels = <0 4 8 16 32 64 128 255>;
195279377Simp		default-brightness-level = <6>;
196279377Simp	};
197279377Simp
198279377Simp	gpio-keys {
199279377Simp		compatible = "gpio-keys";
200279377Simp
201279377Simp		user-button {
202279377Simp			label = "User button";
203279377Simp			gpios = <&gpio0 17 0>;
204279377Simp			linux,code = <0x100>;
205279377Simp		};
206279377Simp	};
207279377Simp};
208