1/*
2 * Copyright 2013 Crystalfontz America, Inc.
3 * Copyright 2012 Free Electrons
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13/*
14 * The CFA-10057 is an expansion board for the CFA-10036 module, thus we
15 * need to include the CFA-10036 DTS.
16 */
17#include "imx28-cfa10036.dts"
18
19/ {
20	model = "Crystalfontz CFA-10057 Board";
21	compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28";
22
23	apb@80000000 {
24		apbh@80000000 {
25			pinctrl@80018000 {
26				usb_pins_cfa10057: usb-10057@0 {
27					reg = <0>;
28					fsl,pinmux-ids = <
29						MX28_PAD_GPMI_D07__GPIO_0_7
30					>;
31					fsl,drive-strength = <MXS_DRIVE_4mA>;
32					fsl,voltage = <MXS_VOLTAGE_HIGH>;
33					fsl,pull-up = <MXS_PULL_DISABLE>;
34				};
35
36				lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
37					reg = <0>;
38					fsl,pinmux-ids = <
39						MX28_PAD_LCD_D00__LCD_D0
40						MX28_PAD_LCD_D01__LCD_D1
41						MX28_PAD_LCD_D02__LCD_D2
42						MX28_PAD_LCD_D03__LCD_D3
43						MX28_PAD_LCD_D04__LCD_D4
44						MX28_PAD_LCD_D05__LCD_D5
45						MX28_PAD_LCD_D06__LCD_D6
46						MX28_PAD_LCD_D07__LCD_D7
47						MX28_PAD_LCD_D08__LCD_D8
48						MX28_PAD_LCD_D09__LCD_D9
49						MX28_PAD_LCD_D10__LCD_D10
50						MX28_PAD_LCD_D11__LCD_D11
51						MX28_PAD_LCD_D12__LCD_D12
52						MX28_PAD_LCD_D13__LCD_D13
53						MX28_PAD_LCD_D14__LCD_D14
54						MX28_PAD_LCD_D15__LCD_D15
55						MX28_PAD_LCD_D16__LCD_D16
56						MX28_PAD_LCD_D17__LCD_D17
57					>;
58					fsl,drive-strength = <MXS_DRIVE_4mA>;
59					fsl,voltage = <MXS_VOLTAGE_HIGH>;
60					fsl,pull-up = <MXS_PULL_DISABLE>;
61				};
62
63				lcdif_pins_cfa10057: lcdif-evk@0 {
64					reg = <0>;
65					fsl,pinmux-ids = <
66						MX28_PAD_LCD_RD_E__LCD_VSYNC
67						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
68						MX28_PAD_LCD_RS__LCD_DOTCLK
69						MX28_PAD_LCD_CS__LCD_ENABLE
70					>;
71					fsl,drive-strength = <MXS_DRIVE_4mA>;
72					fsl,voltage = <MXS_VOLTAGE_HIGH>;
73					fsl,pull-up = <MXS_PULL_DISABLE>;
74				};
75			};
76
77			lcdif@80030000 {
78				pinctrl-names = "default";
79				pinctrl-0 = <&lcdif_18bit_pins_cfa10057
80					     &lcdif_pins_cfa10057>;
81				display = <&display0>;
82				status = "okay";
83
84				display0: display0 {
85					bits-per-pixel = <32>;
86					bus-width = <18>;
87
88					display-timings {
89						native-mode = <&timing0>;
90						timing0: timing0 {
91							clock-frequency = <30000000>;
92							hactive = <480>;
93							vactive = <800>;
94							hfront-porch = <12>;
95							hback-porch = <2>;
96							vfront-porch = <5>;
97							vback-porch = <3>;
98							hsync-len = <2>;
99							vsync-len = <2>;
100							hsync-active = <0>;
101							vsync-active = <0>;
102							de-active = <1>;
103							pixelclk-active = <1>;
104						};
105					};
106				};
107			};
108		};
109
110		apbx@80040000 {
111			lradc@80050000 {
112				fsl,lradc-touchscreen-wires = <4>;
113				status = "okay";
114			};
115
116			pwm: pwm@80064000 {
117				pinctrl-names = "default";
118				pinctrl-0 = <&pwm3_pins_b>;
119				status = "okay";
120			};
121
122			i2c1: i2c@8005a000 {
123				pinctrl-names = "default";
124				pinctrl-0 = <&i2c1_pins_a>;
125				status = "okay";
126			};
127
128			usbphy1: usbphy@8007e000 {
129				status = "okay";
130			};
131		};
132	};
133
134	ahb@80080000 {
135		usb1: usb@80090000 {
136			vbus-supply = <&reg_usb1_vbus>;
137			pinctrl-0 = <&usb1_pins_a>;
138			pinctrl-names = "default";
139			status = "okay";
140		};
141	};
142
143	regulators {
144		compatible = "simple-bus";
145		#address-cells = <1>;
146		#size-cells = <0>;
147
148		reg_usb1_vbus: regulator@0 {
149			compatible = "regulator-fixed";
150			reg = <0>;
151			pinctrl-names = "default";
152			pinctrl-0 = <&usb_pins_cfa10057>;
153			regulator-name = "usb1_vbus";
154			regulator-min-microvolt = <5000000>;
155			regulator-max-microvolt = <5000000>;
156			gpio = <&gpio0 7 1>;
157		};
158	};
159
160	ahb@80080000 {
161		mac0: ethernet@800f0000 {
162			phy-mode = "rmii";
163			pinctrl-names = "default";
164			pinctrl-0 = <&mac0_pins_a>;
165			phy-reset-gpios = <&gpio2 21 0>;
166			phy-reset-duration = <100>;
167			status = "okay";
168		};
169	};
170
171	backlight {
172		compatible = "pwm-backlight";
173		pwms = <&pwm 3 5000000>;
174		brightness-levels = <0 4 8 16 32 64 128 255>;
175		default-brightness-level = <7>;
176	};
177};
178