1/*
2 * Copyright 2013 Crystalfontz America, Inc.
3 * Copyright 2013 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-10058 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-10058 Board";
21	compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
22
23	apb@80000000 {
24		apbh@80000000 {
25			pinctrl@80018000 {
26				usb_pins_cfa10058: usb-10058@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_pins_cfa10058: lcdif-10058@0 {
37					reg = <0>;
38					fsl,pinmux-ids = <
39						MX28_PAD_LCD_RD_E__LCD_VSYNC
40						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
41						MX28_PAD_LCD_RS__LCD_DOTCLK
42						MX28_PAD_LCD_CS__LCD_ENABLE
43					>;
44					fsl,drive-strength = <MXS_DRIVE_4mA>;
45					fsl,voltage = <MXS_VOLTAGE_HIGH>;
46					fsl,pull-up = <MXS_PULL_DISABLE>;
47				};
48			};
49
50			lcdif@80030000 {
51				pinctrl-names = "default";
52				pinctrl-0 = <&lcdif_24bit_pins_a
53						 &lcdif_pins_cfa10058>;
54				display = <&display0>;
55				status = "okay";
56
57				display0: display0 {
58					bits-per-pixel = <32>;
59					bus-width = <24>;
60
61					display-timings {
62						native-mode = <&timing0>;
63						timing0: timing0 {
64							clock-frequency = <30000000>;
65							hactive = <800>;
66							vactive = <480>;
67							hback-porch = <40>;
68							hfront-porch = <40>;
69							vback-porch = <13>;
70							vfront-porch = <29>;
71							hsync-len = <8>;
72							vsync-len = <8>;
73							hsync-active = <0>;
74							vsync-active = <0>;
75							de-active = <1>;
76							pixelclk-active = <1>;
77						};
78					};
79				};
80			};
81		};
82
83		apbx@80040000 {
84			lradc@80050000 {
85				fsl,lradc-touchscreen-wires = <4>;
86				status = "okay";
87			};
88
89			pwm: pwm@80064000 {
90				pinctrl-names = "default";
91				pinctrl-0 = <&pwm3_pins_b>;
92				status = "okay";
93			};
94
95			usbphy1: usbphy@8007e000 {
96				status = "okay";
97			};
98		};
99	};
100
101	ahb@80080000 {
102		usb1: usb@80090000 {
103			vbus-supply = <&reg_usb1_vbus>;
104			pinctrl-0 = <&usb1_pins_a>;
105			pinctrl-names = "default";
106			status = "okay";
107		};
108	};
109
110	regulators {
111		compatible = "simple-bus";
112		#address-cells = <1>;
113		#size-cells = <0>;
114
115		reg_usb1_vbus: regulator@0 {
116			pinctrl-names = "default";
117			pinctrl-0 = <&usb_pins_cfa10058>;
118			compatible = "regulator-fixed";
119			reg = <0>;
120			regulator-name = "usb1_vbus";
121			regulator-min-microvolt = <5000000>;
122			regulator-max-microvolt = <5000000>;
123			gpio = <&gpio0 7 1>;
124		};
125	};
126
127	ahb@80080000 {
128		mac0: ethernet@800f0000 {
129			phy-mode = "rmii";
130			pinctrl-names = "default";
131			pinctrl-0 = <&mac0_pins_a>;
132			phy-reset-gpios = <&gpio2 21 0>;
133			phy-reset-duration = <100>;
134			status = "okay";
135		};
136	};
137
138	backlight {
139		compatible = "pwm-backlight";
140		pwms = <&pwm 3 5000000>;
141		brightness-levels = <0 4 8 16 32 64 128 255>;
142		default-brightness-level = <6>;
143	};
144};
145