Merge tag 'v3.5-rc6' into next/dt
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / imx28-evk.dts
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 /dts-v1/;
13 /include/ "imx28.dtsi"
14
15 / {
16         model = "Freescale i.MX28 Evaluation Kit";
17         compatible = "fsl,imx28-evk", "fsl,imx28";
18
19         memory {
20                 reg = <0x40000000 0x08000000>;
21         };
22
23         apb@80000000 {
24                 apbh@80000000 {
25                         gpmi-nand@8000c000 {
26                                 pinctrl-names = "default";
27                                 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
28                                 status = "okay";
29                         };
30
31                         ssp0: ssp@80010000 {
32                                 compatible = "fsl,imx28-mmc";
33                                 pinctrl-names = "default";
34                                 pinctrl-0 = <&mmc0_8bit_pins_a
35                                         &mmc0_cd_cfg &mmc0_sck_cfg>;
36                                 bus-width = <8>;
37                                 wp-gpios = <&gpio2 12 0>;
38                                 vmmc-supply = <&reg_vddio_sd0>;
39                                 status = "okay";
40                         };
41
42                         ssp1: ssp@80012000 {
43                                 compatible = "fsl,imx28-mmc";
44                                 bus-width = <8>;
45                                 wp-gpios = <&gpio0 28 0>;
46                         };
47
48                         pinctrl@80018000 {
49                                 pinctrl-names = "default";
50                                 pinctrl-0 = <&hog_pins_a>;
51
52                                 hog_pins_a: hog-gpios@0 {
53                                         reg = <0>;
54                                         fsl,pinmux-ids = <
55                                                 0x20d3 /* MX28_PAD_SSP1_CMD__GPIO_2_13 */
56                                                 0x20f3 /* MX28_PAD_SSP1_DATA3__GPIO_2_15 */
57                                                 0x40d3 /* MX28_PAD_ENET0_RX_CLK__GPIO_4_13 */
58                                                 0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */
59                                                 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
60                                                 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
61                                                 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
62                                         >;
63                                         fsl,drive-strength = <0>;
64                                         fsl,voltage = <1>;
65                                         fsl,pull-up = <0>;
66                                 };
67                         };
68
69                         lcdif@80030000 {
70                                 pinctrl-names = "default";
71                                 pinctrl-0 = <&lcdif_24bit_pins_a>;
72                                 panel-enable-gpios = <&gpio3 30 0>;
73                                 status = "okay";
74                         };
75
76                         can0: can@80032000 {
77                                 pinctrl-names = "default";
78                                 pinctrl-0 = <&can0_pins_a>;
79                                 status = "okay";
80                         };
81
82                         can1: can@80034000 {
83                                 pinctrl-names = "default";
84                                 pinctrl-0 = <&can1_pins_a>;
85                                 status = "okay";
86                         };
87                 };
88
89                 apbx@80040000 {
90                         saif0: saif@80042000 {
91                                 pinctrl-names = "default";
92                                 pinctrl-0 = <&saif0_pins_a>;
93                                 status = "okay";
94                         };
95
96                         saif1: saif@80046000 {
97                                 pinctrl-names = "default";
98                                 pinctrl-0 = <&saif1_pins_a>;
99                                 fsl,saif-master = <&saif0>;
100                                 status = "okay";
101                         };
102
103                         i2c0: i2c@80058000 {
104                                 pinctrl-names = "default";
105                                 pinctrl-0 = <&i2c0_pins_a>;
106                                 status = "okay";
107
108                                 sgtl5000: codec@0a {
109                                         compatible = "fsl,sgtl5000";
110                                         reg = <0x0a>;
111                                         VDDA-supply = <&reg_3p3v>;
112                                         VDDIO-supply = <&reg_3p3v>;
113
114                                 };
115                         };
116
117                         pwm: pwm@80064000 {
118                                 pinctrl-names = "default";
119                                 pinctrl-0 = <&pwm2_pins_a>;
120                                 status = "okay";
121                         };
122
123                         duart: serial@80074000 {
124                                 pinctrl-names = "default";
125                                 pinctrl-0 = <&duart_pins_a>;
126                                 status = "okay";
127                         };
128
129                         auart0: serial@8006a000 {
130                                 pinctrl-names = "default";
131                                 pinctrl-0 = <&auart0_pins_a>;
132                                 status = "okay";
133                         };
134
135                         auart3: serial@80070000 {
136                                 pinctrl-names = "default";
137                                 pinctrl-0 = <&auart3_pins_a>;
138                                 status = "okay";
139                         };
140                 };
141         };
142
143         ahb@80080000 {
144                 mac0: ethernet@800f0000 {
145                         phy-mode = "rmii";
146                         pinctrl-names = "default";
147                         pinctrl-0 = <&mac0_pins_a>;
148                         phy-supply = <&reg_fec_3v3>;
149                         phy-reset-gpios = <&gpio4 13 0>;
150                         phy-reset-duration = <100>;
151                         status = "okay";
152                 };
153
154                 mac1: ethernet@800f4000 {
155                         phy-mode = "rmii";
156                         pinctrl-names = "default";
157                         pinctrl-0 = <&mac1_pins_a>;
158                         status = "okay";
159                 };
160         };
161
162         regulators {
163                 compatible = "simple-bus";
164
165                 reg_3p3v: 3p3v {
166                         compatible = "regulator-fixed";
167                         regulator-name = "3P3V";
168                         regulator-min-microvolt = <3300000>;
169                         regulator-max-microvolt = <3300000>;
170                         regulator-always-on;
171                 };
172
173                 reg_vddio_sd0: vddio-sd0 {
174                         compatible = "regulator-fixed";
175                         regulator-name = "vddio-sd0";
176                         regulator-min-microvolt = <3300000>;
177                         regulator-max-microvolt = <3300000>;
178                         gpio = <&gpio3 28 0>;
179                 };
180
181                 reg_fec_3v3: fec-3v3 {
182                         compatible = "regulator-fixed";
183                         regulator-name = "fec-3v3";
184                         regulator-min-microvolt = <3300000>;
185                         regulator-max-microvolt = <3300000>;
186                         gpio = <&gpio2 15 0>;
187                 };
188         };
189
190         sound {
191                 compatible = "fsl,imx28-evk-sgtl5000",
192                              "fsl,mxs-audio-sgtl5000";
193                 model = "imx28-evk-sgtl5000";
194                 saif-controllers = <&saif0 &saif1>;
195                 audio-codec = <&sgtl5000>;
196         };
197
198         leds {
199                 compatible = "gpio-leds";
200
201                 user {
202                         label = "Heartbeat";
203                         gpios = <&gpio3 5 0>;
204                         linux,default-trigger = "heartbeat";
205                 };
206         };
207
208         backlight {
209                 compatible = "pwm-backlight";
210                 pwms = <&pwm 2 5000000>;
211                 brightness-levels = <0 4 8 16 32 64 128 255>;
212                 default-brightness-level = <6>;
213         };
214 };