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