blob: 5875c3d7ba974075d4d1d8fd48b52178abf685e1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2013 Crystalfontz America, Inc.
4 * Copyright 2012 Free Electrons
5 */
6
7/*
8 * The CFA-10057 is an expansion board for the CFA-10036 module, thus we
9 * need to include the CFA-10036 DTS.
10 */
11#include "imx28-cfa10036.dts"
12
13/ {
14 model = "Crystalfontz CFA-10057 Board";
15 compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28";
16
17 reg_usb1_vbus: regulator-0 {
18 compatible = "regulator-fixed";
19 pinctrl-names = "default";
20 pinctrl-0 = <&usb_pins_cfa10057>;
21 regulator-name = "usb1_vbus";
22 regulator-min-microvolt = <5000000>;
23 regulator-max-microvolt = <5000000>;
24 gpio = <&gpio0 7 1>;
25 };
26
27 backlight {
28 compatible = "pwm-backlight";
29 pwms = <&pwm 4 5000000 0>;
30 brightness-levels = <0 4 8 16 32 64 128 255>;
31 default-brightness-level = <7>;
32 };
33};
34
35&lcdif {
36 pinctrl-names = "default";
37 pinctrl-0 = <&lcdif_18bit_pins_cfa10057
38 &lcdif_pins_cfa10057>;
39 display = <&display0>;
40 status = "okay";
41
42 display0: display0 {
43 bits-per-pixel = <32>;
44 bus-width = <18>;
45
46 display-timings {
47 native-mode = <&timing0>;
48 timing0: timing0 {
49 clock-frequency = <30000000>;
50 hactive = <480>;
51 vactive = <800>;
52 hfront-porch = <12>;
53 hback-porch = <2>;
54 vfront-porch = <5>;
55 vback-porch = <3>;
56 hsync-len = <2>;
57 vsync-len = <2>;
58 hsync-active = <0>;
59 vsync-active = <0>;
60 de-active = <1>;
61 pixelclk-active = <1>;
62 };
63 };
64 };
65};
66
67&lradc {
68 fsl,lradc-touchscreen-wires = <4>;
69 status = "okay";
70};
71
72&i2c1 {
73 pinctrl-names = "default";
74 pinctrl-0 = <&i2c1_pins_a>;
75 status = "okay";
76};
77
78&mac0 {
79 phy-mode = "rmii";
80 pinctrl-names = "default";
81 pinctrl-0 = <&mac0_pins_a>;
82 phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
83 phy-reset-duration = <100>;
84 status = "okay";
85};
86
87&pinctrl {
88 usb_pins_cfa10057: usb-10057@0 {
89 reg = <0>;
90 fsl,pinmux-ids = <
91 MX28_PAD_GPMI_D07__GPIO_0_7
92 >;
93 fsl,drive-strength = <MXS_DRIVE_4mA>;
94 fsl,voltage = <MXS_VOLTAGE_HIGH>;
95 fsl,pull-up = <MXS_PULL_DISABLE>;
96 };
97
98 lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
99 reg = <0>;
100 fsl,pinmux-ids = <
101 MX28_PAD_LCD_D00__LCD_D0
102 MX28_PAD_LCD_D01__LCD_D1
103 MX28_PAD_LCD_D02__LCD_D2
104 MX28_PAD_LCD_D03__LCD_D3
105 MX28_PAD_LCD_D04__LCD_D4
106 MX28_PAD_LCD_D05__LCD_D5
107 MX28_PAD_LCD_D06__LCD_D6
108 MX28_PAD_LCD_D07__LCD_D7
109 MX28_PAD_LCD_D08__LCD_D8
110 MX28_PAD_LCD_D09__LCD_D9
111 MX28_PAD_LCD_D10__LCD_D10
112 MX28_PAD_LCD_D11__LCD_D11
113 MX28_PAD_LCD_D12__LCD_D12
114 MX28_PAD_LCD_D13__LCD_D13
115 MX28_PAD_LCD_D14__LCD_D14
116 MX28_PAD_LCD_D15__LCD_D15
117 MX28_PAD_LCD_D16__LCD_D16
118 MX28_PAD_LCD_D17__LCD_D17
119 >;
120 fsl,drive-strength = <MXS_DRIVE_4mA>;
121 fsl,voltage = <MXS_VOLTAGE_HIGH>;
122 fsl,pull-up = <MXS_PULL_DISABLE>;
123 };
124
125 lcdif_pins_cfa10057: lcdif-evk@0 {
126 reg = <0>;
127 fsl,pinmux-ids = <
128 MX28_PAD_LCD_RD_E__LCD_VSYNC
129 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
130 MX28_PAD_LCD_RS__LCD_DOTCLK
131 MX28_PAD_LCD_CS__LCD_ENABLE
132 >;
133 fsl,drive-strength = <MXS_DRIVE_4mA>;
134 fsl,voltage = <MXS_VOLTAGE_HIGH>;
135 fsl,pull-up = <MXS_PULL_DISABLE>;
136 };
137};
138
139&pwm {
140 pinctrl-names = "default";
141 pinctrl-0 = <&pwm4_pins_a>;
142 status = "okay";
143};
144
145&usb1 {
146 vbus-supply = <&reg_usb1_vbus>;
147 pinctrl-0 = <&usb1_pins_a>;
148 pinctrl-names = "default";
149 status = "okay";
150};
151
152&usbphy1 {
153 status = "okay";
154};