]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/imx28-apx4devkit.dts
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / imx28-apx4devkit.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "imx28.dtsi"
4
5 / {
6 model = "Bluegiga APX4 Development Kit";
7 compatible = "bluegiga,apx4devkit", "fsl,imx28";
8
9 memory@40000000 {
10 reg = <0x40000000 0x04000000>;
11 };
12
13 apb@80000000 {
14 apbh@80000000 {
15 gpmi-nand@8000c000 {
16 pinctrl-names = "default";
17 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
18 status = "okay";
19 };
20
21 ssp0: spi@80010000 {
22 compatible = "fsl,imx28-mmc";
23 pinctrl-names = "default";
24 pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
25 bus-width = <4>;
26 status = "okay";
27 };
28
29 ssp2: spi@80014000 {
30 compatible = "fsl,imx28-mmc";
31 pinctrl-names = "default";
32 pinctrl-0 = <&mmc2_4bit_pins_apx4 &mmc2_sck_cfg_apx4>;
33 bus-width = <4>;
34 status = "okay";
35 };
36
37 pinctrl@80018000 {
38 pinctrl-names = "default";
39 pinctrl-0 = <&hog_pins_a>;
40
41 hog_pins_a: hog@0 {
42 reg = <0>;
43 fsl,pinmux-ids = <
44 MX28_PAD_GPMI_CE1N__GPIO_0_17
45 MX28_PAD_GPMI_RDY1__GPIO_0_21
46 MX28_PAD_SSP2_MISO__GPIO_2_18
47 MX28_PAD_SSP2_SS0__AUART3_TX /* was: 0x2131 - MX28_PAD_SSP2_SS0__GPIO_2_19 */
48 MX28_PAD_PWM3__GPIO_3_28
49 MX28_PAD_LCD_RESET__GPIO_3_30
50 MX28_PAD_JTAG_RTCK__GPIO_4_20
51 >;
52 fsl,drive-strength = <MXS_DRIVE_4mA>;
53 fsl,voltage = <MXS_VOLTAGE_HIGH>;
54 fsl,pull-up = <MXS_PULL_DISABLE>;
55 };
56
57 lcdif_pins_apx4: lcdif-apx4@0 {
58 reg = <0>;
59 fsl,pinmux-ids = <
60 MX28_PAD_LCD_RD_E__LCD_VSYNC
61 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
62 MX28_PAD_LCD_RS__LCD_DOTCLK
63 MX28_PAD_LCD_CS__LCD_ENABLE
64 >;
65 fsl,drive-strength = <MXS_DRIVE_4mA>;
66 fsl,voltage = <MXS_VOLTAGE_HIGH>;
67 fsl,pull-up = <MXS_PULL_DISABLE>;
68 };
69
70 mmc2_4bit_pins_apx4: mmc2-4bit-apx4@0 {
71 reg = <0>;
72 fsl,pinmux-ids = <
73 MX28_PAD_SSP0_DATA4__SSP2_D0
74 MX28_PAD_SSP0_DATA5__SSP2_D3
75 MX28_PAD_SSP0_DATA6__SSP2_CMD
76 MX28_PAD_SSP0_DATA7__SSP2_SCK
77 MX28_PAD_SSP2_SS1__SSP2_D1
78 MX28_PAD_SSP2_SS2__SSP2_D2
79 >;
80 fsl,drive-strength = <MXS_DRIVE_8mA>;
81 fsl,voltage = <MXS_VOLTAGE_HIGH>;
82 fsl,pull-up = <MXS_PULL_ENABLE>;
83 };
84
85 mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
86 reg = <0>;
87 fsl,pinmux-ids = <
88 MX28_PAD_SSP0_DATA7__SSP2_SCK
89 >;
90 fsl,drive-strength = <MXS_DRIVE_12mA>;
91 fsl,pull-up = <MXS_PULL_DISABLE>;
92 };
93 };
94
95 lcdif@80030000 {
96 pinctrl-names = "default";
97 pinctrl-0 = <&lcdif_24bit_pins_a
98 &lcdif_pins_apx4>;
99 display = <&display0>;
100 status = "okay";
101
102 display0: display0 {
103 bits-per-pixel = <32>;
104 bus-width = <24>;
105
106 display-timings {
107 native-mode = <&timing0>;
108 timing0: timing0 {
109 clock-frequency = <30000000>;
110 hactive = <800>;
111 vactive = <480>;
112 hback-porch = <88>;
113 hfront-porch = <40>;
114 vback-porch = <32>;
115 vfront-porch = <13>;
116 hsync-len = <48>;
117 vsync-len = <3>;
118 hsync-active = <1>;
119 vsync-active = <1>;
120 de-active = <1>;
121 pixelclk-active = <0>;
122 };
123 };
124 };
125 };
126 };
127
128 apbx@80040000 {
129 saif0: saif@80042000 {
130 pinctrl-names = "default";
131 pinctrl-0 = <&saif0_pins_a>;
132 status = "okay";
133 };
134
135 saif1: saif@80046000 {
136 pinctrl-names = "default";
137 pinctrl-0 = <&saif1_pins_a>;
138 fsl,saif-master = <&saif0>;
139 status = "okay";
140 };
141
142 i2c0: i2c@80058000 {
143 pinctrl-names = "default";
144 pinctrl-0 = <&i2c0_pins_a>;
145 status = "okay";
146
147 sgtl5000: codec@a {
148 compatible = "fsl,sgtl5000";
149 reg = <0x0a>;
150 #sound-dai-cells = <0>;
151 VDDA-supply = <&reg_3p3v>;
152 VDDIO-supply = <&reg_3p3v>;
153 clocks = <&saif0>;
154 };
155
156 pcf8563: rtc@51 {
157 compatible = "phg,pcf8563";
158 reg = <0x51>;
159 };
160 };
161
162 duart: serial@80074000 {
163 pinctrl-names = "default";
164 pinctrl-0 = <&duart_pins_a>;
165 status = "okay";
166 };
167
168 auart0: serial@8006a000 {
169 pinctrl-names = "default";
170 pinctrl-0 = <&auart0_pins_a>;
171 status = "okay";
172 };
173
174 auart1: serial@8006c000 {
175 pinctrl-names = "default";
176 pinctrl-0 = <&auart1_2pins_a>;
177 status = "okay";
178 };
179
180 auart2: serial@8006e000 {
181 pinctrl-names = "default";
182 pinctrl-0 = <&auart2_2pins_a>;
183 status = "okay";
184 };
185 };
186 };
187
188 ahb@80080000 {
189 mac0: ethernet@800f0000 {
190 phy-mode = "rmii";
191 pinctrl-names = "default";
192 pinctrl-0 = <&mac0_pins_a>;
193 status = "okay";
194 };
195 };
196
197 regulators {
198 compatible = "simple-bus";
199 #address-cells = <1>;
200 #size-cells = <0>;
201
202 reg_3p3v: regulator@0 {
203 compatible = "regulator-fixed";
204 reg = <0>;
205 regulator-name = "3P3V";
206 regulator-min-microvolt = <3300000>;
207 regulator-max-microvolt = <3300000>;
208 regulator-always-on;
209 };
210 };
211
212 sound {
213 compatible = "bluegiga,apx4devkit-sgtl5000",
214 "fsl,mxs-audio-sgtl5000";
215 model = "apx4devkit-sgtl5000";
216 saif-controllers = <&saif0 &saif1>;
217 audio-codec = <&sgtl5000>;
218 };
219
220 leds {
221 compatible = "gpio-leds";
222
223 user {
224 label = "Heartbeat";
225 gpios = <&gpio3 28 0>;
226 linux,default-trigger = "heartbeat";
227 };
228 };
229 };