Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / dra76-evm.dts
1 /*
2  * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 /dts-v1/;
9
10 #include "dra76x.dtsi"
11 #include "dra7-evm-common.dtsi"
12 #include <dt-bindings/net/ti-dp83867.h>
13
14 / {
15         model = "TI DRA762 EVM";
16         compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
17
18         memory@0 {
19                 device_type = "memory";
20                 reg = <0x0 0x80000000 0x0 0x80000000>;
21         };
22
23         vsys_12v0: fixedregulator-vsys12v0 {
24                 /* main supply */
25                 compatible = "regulator-fixed";
26                 regulator-name = "vsys_12v0";
27                 regulator-min-microvolt = <12000000>;
28                 regulator-max-microvolt = <12000000>;
29                 regulator-always-on;
30                 regulator-boot-on;
31         };
32
33         vsys_5v0: fixedregulator-vsys5v0 {
34                 /* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
35                 compatible = "regulator-fixed";
36                 regulator-name = "vsys_5v0";
37                 regulator-min-microvolt = <5000000>;
38                 regulator-max-microvolt = <5000000>;
39                 vin-supply = <&vsys_12v0>;
40                 regulator-always-on;
41                 regulator-boot-on;
42         };
43
44         vsys_3v3: fixedregulator-vsys3v3 {
45                 /* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
46                 compatible = "regulator-fixed";
47                 regulator-name = "vsys_3v3";
48                 regulator-min-microvolt = <3300000>;
49                 regulator-max-microvolt = <3300000>;
50                 vin-supply = <&vsys_12v0>;
51                 regulator-always-on;
52                 regulator-boot-on;
53         };
54
55         vio_3v3: fixedregulator-vio_3v3 {
56                 compatible = "regulator-fixed";
57                 regulator-name = "vio_3v3";
58                 regulator-min-microvolt = <3300000>;
59                 regulator-max-microvolt = <3300000>;
60                 vin-supply = <&vsys_3v3>;
61                 regulator-always-on;
62                 regulator-boot-on;
63         };
64
65         vio_3v3_sd: fixedregulator-sd {
66                 compatible = "regulator-fixed";
67                 regulator-name = "vio_3v3_sd";
68                 regulator-min-microvolt = <3300000>;
69                 regulator-max-microvolt = <3300000>;
70                 vin-supply = <&vio_3v3>;
71                 enable-active-high;
72                 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
73         };
74
75         vio_1v8: fixedregulator-vio_1v8 {
76                 compatible = "regulator-fixed";
77                 regulator-name = "vio_1v8";
78                 regulator-min-microvolt = <1800000>;
79                 regulator-max-microvolt = <1800000>;
80                 vin-supply = <&smps5_reg>;
81         };
82
83         vtt_fixed: fixedregulator-vtt {
84                 compatible = "regulator-fixed";
85                 regulator-name = "vtt_fixed";
86                 regulator-min-microvolt = <1350000>;
87                 regulator-max-microvolt = <1350000>;
88                 vin-supply = <&vsys_3v3>;
89                 regulator-always-on;
90                 regulator-boot-on;
91         };
92
93         aic_dvdd: fixedregulator-aic_dvdd {
94                 /* TPS77018DBVT */
95                 compatible = "regulator-fixed";
96                 regulator-name = "aic_dvdd";
97                 vin-supply = <&vio_3v3>;
98                 regulator-min-microvolt = <1800000>;
99                 regulator-max-microvolt = <1800000>;
100         };
101 };
102
103 &dra7_pmx_core {
104         mmc1_pins_default: mmc1_pins_default {
105                 pinctrl-single,pins = <
106                         DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14)       /* mmc1sdcd.gpio219 */
107                         DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
108                         DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
109                         DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
110                         DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
111                         DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
112                         DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
113                 >;
114         };
115
116         mmc1_pins_sdr12: pinmux_mmc1_sdr12_pins {
117                 pinctrl-single,pins = <
118                         DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
119                         DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
120                         DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
121                         DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
122                         DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
123                         DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
124                 >;
125         };
126
127         mmc2_pins_default: mmc2_pins_default {
128                 pinctrl-single,pins = <
129                         DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
130                         DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
131                         DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
132                         DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
133                         DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
134                         DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
135                         DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
136                         DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
137                         DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
138                         DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
139                 >;
140         };
141 };
142
143 &i2c1 {
144         status = "okay";
145         clock-frequency = <400000>;
146
147         tps65917: tps65917@58 {
148                 compatible = "ti,tps65917";
149                 reg = <0x58>;
150                 ti,system-power-controller;
151                 interrupt-controller;
152                 #interrupt-cells = <2>;
153
154                 tps65917_pmic {
155                         compatible = "ti,tps65917-pmic";
156
157                         smps12-in-supply = <&vsys_3v3>;
158                         smps3-in-supply = <&vsys_3v3>;
159                         smps4-in-supply = <&vsys_3v3>;
160                         smps5-in-supply = <&vsys_3v3>;
161                         ldo1-in-supply = <&vsys_3v3>;
162                         ldo2-in-supply = <&vsys_3v3>;
163                         ldo3-in-supply = <&vsys_5v0>;
164                         ldo4-in-supply = <&vsys_5v0>;
165                         ldo5-in-supply = <&vsys_3v3>;
166
167                         tps65917_regulators: regulators {
168                                 smps12_reg: smps12 {
169                                         /* VDD_DSPEVE */
170                                         regulator-name = "smps12";
171                                         regulator-min-microvolt = <850000>;
172                                         regulator-max-microvolt = <1250000>;
173                                         regulator-always-on;
174                                         regulator-boot-on;
175                                 };
176
177                                 smps3_reg: smps3 {
178                                         /* VDD_CORE */
179                                         regulator-name = "smps3";
180                                         regulator-min-microvolt = <850000>;
181                                         regulator-max-microvolt = <1250000>;
182                                         regulator-boot-on;
183                                         regulator-always-on;
184                                 };
185
186                                 smps4_reg: smps4 {
187                                         /* VDD_IVA */
188                                         regulator-name = "smps4";
189                                         regulator-min-microvolt = <850000>;
190                                         regulator-max-microvolt = <1250000>;
191                                         regulator-always-on;
192                                         regulator-boot-on;
193                                 };
194
195                                 smps5_reg: smps5 {
196                                         /* VDDS1V8 */
197                                         regulator-name = "smps5";
198                                         regulator-min-microvolt = <1800000>;
199                                         regulator-max-microvolt = <1800000>;
200                                         regulator-boot-on;
201                                         regulator-always-on;
202                                 };
203
204                                 ldo1_reg: ldo1 {
205                                         /* LDO1_OUT --> VDA_PHY1_1V8  */
206                                         regulator-name = "ldo1";
207                                         regulator-min-microvolt = <1800000>;
208                                         regulator-max-microvolt = <1800000>;
209                                         regulator-always-on;
210                                         regulator-boot-on;
211                                         regulator-allow-bypass;
212                                 };
213
214                                 ldo2_reg: ldo2 {
215                                         /* LDO2_OUT --> VDA_PHY2_1V8 */
216                                         regulator-name = "ldo2";
217                                         regulator-min-microvolt = <1800000>;
218                                         regulator-max-microvolt = <1800000>;
219                                         regulator-allow-bypass;
220                                         regulator-always-on;
221                                 };
222
223                                 ldo3_reg: ldo3 {
224                                         /* VDA_USB_3V3 */
225                                         regulator-name = "ldo3";
226                                         regulator-min-microvolt = <3300000>;
227                                         regulator-max-microvolt = <3300000>;
228                                         regulator-boot-on;
229                                         regulator-always-on;
230                                 };
231
232                                 ldo5_reg: ldo5 {
233                                         /* VDDA_1V8_PLL */
234                                         regulator-name = "ldo5";
235                                         regulator-min-microvolt = <1800000>;
236                                         regulator-max-microvolt = <1800000>;
237                                         regulator-always-on;
238                                         regulator-boot-on;
239                                 };
240
241                                 ldo4_reg: ldo4 {
242                                         /* VDD_SDIO_DV */
243                                         regulator-name = "ldo4";
244                                         regulator-min-microvolt = <1800000>;
245                                         regulator-max-microvolt = <3300000>;
246                                         regulator-boot-on;
247                                         regulator-always-on;
248                                 };
249                         };
250                 };
251
252                 tps65917_power_button {
253                         compatible = "ti,palmas-pwrbutton";
254                         interrupt-parent = <&tps65917>;
255                         interrupts = <1 IRQ_TYPE_NONE>;
256                         wakeup-source;
257                         ti,palmas-long-press-seconds = <6>;
258                 };
259         };
260
261         lp87565: lp87565@60 {
262                 compatible = "ti,lp87565-q1";
263                 reg = <0x60>;
264
265                 buck10-in-supply =<&vsys_3v3>;
266                 buck23-in-supply =<&vsys_3v3>;
267
268                 regulators: regulators {
269                         buck10_reg: buck10 {
270                                 /*VDD_MPU*/
271                                 regulator-name = "buck10";
272                                 regulator-min-microvolt = <850000>;
273                                 regulator-max-microvolt = <1250000>;
274                                 regulator-always-on;
275                                 regulator-boot-on;
276                         };
277
278                         buck23_reg: buck23 {
279                                 /* VDD_GPU*/
280                                 regulator-name = "buck23";
281                                 regulator-min-microvolt = <850000>;
282                                 regulator-max-microvolt = <1250000>;
283                                 regulator-boot-on;
284                                 regulator-always-on;
285                         };
286                 };
287         };
288
289         pcf_lcd: pcf8757@20 {
290                 compatible = "ti,pcf8575", "nxp,pcf8575";
291                 reg = <0x20>;
292                 gpio-controller;
293                 #gpio-cells = <2>;
294                 interrupt-controller;
295                 #interrupt-cells = <2>;
296                 interrupt-parent = <&gpio1>;
297                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
298         };
299
300         pcf_gpio_21: pcf8757@21 {
301                 compatible = "ti,pcf8575", "nxp,pcf8575";
302                 reg = <0x21>;
303                 gpio-controller;
304                 #gpio-cells = <2>;
305                 interrupt-parent = <&gpio1>;
306                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
307                 interrupt-controller;
308                 #interrupt-cells = <2>;
309         };
310
311         pcf_hdmi: pcf8575@26 {
312                 compatible = "ti,pcf8575", "nxp,pcf8575";
313                 reg = <0x26>;
314                 gpio-controller;
315                 #gpio-cells = <2>;
316                 p1 {
317                         /* vin6_sel_s0: high: VIN6, low: audio */
318                         gpio-hog;
319                         gpios = <1 GPIO_ACTIVE_HIGH>;
320                         output-low;
321                         line-name = "vin6_sel_s0";
322                 };
323         };
324
325         tlv320aic3106: tlv320aic3106@19 {
326                 #sound-dai-cells = <0>;
327                 compatible = "ti,tlv320aic3106";
328                 reg = <0x19>;
329                 adc-settle-ms = <40>;
330                 ai3x-micbias-vg = <1>;          /* 2.0V */
331                 status = "okay";
332
333                 /* Regulators */
334                 AVDD-supply = <&vio_3v3>;
335                 IOVDD-supply = <&vio_3v3>;
336                 DRVDD-supply = <&vio_3v3>;
337                 DVDD-supply = <&aic_dvdd>;
338         };
339 };
340
341 &cpu0 {
342         vdd-supply = <&buck10_reg>;
343 };
344
345 &mmc1 {
346         status = "okay";
347         vmmc-supply = <&vio_3v3_sd>;
348         vmmc_aux-supply = <&ldo4_reg>;
349         bus-width = <4>;
350         /*
351          * SDCD signal is not being used here - using the fact that GPIO mode
352          * is always hardwired.
353          */
354         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
355         pinctrl-names = "default";
356         pinctrl-0 = <&mmc1_pins_default>;
357 };
358
359 &mmc2 {
360         status = "okay";
361         vmmc-supply = <&vio_1v8>;
362         bus-width = <8>;
363         pinctrl-names = "default";
364         pinctrl-0 = <&mmc2_pins_default>;
365 };
366
367 /* No RTC on this device */
368 &rtc {
369         status = "disabled";
370 };
371
372 &mac {
373         status = "okay";
374
375         dual_emac;
376 };
377
378 &cpsw_emac0 {
379         phy_id = <&davinci_mdio>, <2>;
380         phy-mode = "rgmii-id";
381         dual_emac_res_vlan = <1>;
382 };
383
384 &cpsw_emac1 {
385         phy_id = <&davinci_mdio>, <3>;
386         phy-mode = "rgmii-id";
387         dual_emac_res_vlan = <2>;
388 };
389
390 &davinci_mdio {
391         dp83867_0: ethernet-phy@2 {
392                 reg = <2>;
393                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
394                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
395                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
396                 ti,min-output-impedance;
397                 ti,dp83867-rxctrl-strap-quirk;
398         };
399
400         dp83867_1: ethernet-phy@3 {
401                 reg = <3>;
402                 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
403                 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
404                 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
405                 ti,min-output-impedance;
406                 ti,dp83867-rxctrl-strap-quirk;
407         };
408 };
409
410 &usb2_phy1 {
411         phy-supply = <&ldo3_reg>;
412 };
413
414 &usb2_phy2 {
415         phy-supply = <&ldo3_reg>;
416 };
417
418 &qspi {
419         spi-max-frequency = <96000000>;
420         m25p80@0 {
421                 spi-max-frequency = <96000000>;
422         };
423 };