GNU Linux-libre 4.19.264-gnu1
[releases.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: ssp@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: ssp@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 };