Merge tag 'nfsd-4.15' of git://linux-nfs.org/~bfields/linux
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / keystone-k2g-evm.dts
1 /*
2  * Device Tree Source for K2G EVM
3  *
4  * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
11  * kind, whether express or implied; without even the implied warranty
12  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15 /dts-v1/;
16
17 #include "keystone-k2g.dtsi"
18
19 / {
20         compatible =  "ti,k2g-evm", "ti,k2g", "ti,keystone";
21         model = "Texas Instruments K2G General Purpose EVM";
22
23         memory@800000000 {
24                 device_type = "memory";
25                 reg = <0x00000008 0x00000000 0x00000000 0x80000000>;
26         };
27
28         reserved-memory {
29                 #address-cells = <2>;
30                 #size-cells = <2>;
31                 ranges;
32
33                 dsp_common_memory: dsp-common-memory@81f800000 {
34                         compatible = "shared-dma-pool";
35                         reg = <0x00000008 0x1f800000 0x00000000 0x800000>;
36                         reusable;
37                         status = "okay";
38                 };
39         };
40
41         vcc3v3_dcin_reg: fixedregulator-vcc3v3-dcin {
42                 compatible = "regulator-fixed";
43                 regulator-name = "mmc0_fixed";
44                 regulator-min-microvolt = <3300000>;
45                 regulator-max-microvolt = <3300000>;
46                 regulator-always-on;
47         };
48
49         ecap0_pins: ecap0_pins {
50                 pinctrl-single,pins = <
51                         K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | MUX_MODE4)     /* pr1_mdio_data.ecap0_in_apwm0_out */
52                 >;
53         };
54
55         spi1_pins: pinmux_spi1_pins {
56                 pinctrl-single,pins = <
57                         K2G_CORE_IOPAD(0x11a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_scs0.spi1_scs0 */
58                         K2G_CORE_IOPAD(0x11ac) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_clk.spi1_clk */
59                         K2G_CORE_IOPAD(0x11b0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_miso.spi1_miso */
60                         K2G_CORE_IOPAD(0x11b4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* spi1_mosi.spi1_mosi */
61                 >;
62         };
63
64 };
65
66 &k2g_pinctrl {
67         uart0_pins: pinmux_uart0_pins {
68                 pinctrl-single,pins = <
69                         K2G_CORE_IOPAD(0x11cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0)      /* uart0_rxd.uart0_rxd */
70                         K2G_CORE_IOPAD(0x11d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0)      /* uart0_txd.uart0_txd */
71                 >;
72         };
73
74         mmc0_pins: pinmux_mmc0_pins {
75                 pinctrl-single,pins = <
76                         K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_dat3.mmc0_dat3 */
77                         K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_dat2.mmc0_dat2 */
78                         K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_dat1.mmc0_dat1 */
79                         K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_dat0.mmc0_dat0 */
80                         K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_clk.mmc0_clk */
81                         K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2)        /* mmc0_cmd.mmc0_cmd */
82                         K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3)        /* mmc0_sdcd.gpio1_12 */
83                 >;
84         };
85
86         mmc1_pins: pinmux_mmc1_pins {
87                 pinctrl-single,pins = <
88                         K2G_CORE_IOPAD(0x10ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat7.mmc1_dat7 */
89                         K2G_CORE_IOPAD(0x10f0) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat6.mmc1_dat6 */
90                         K2G_CORE_IOPAD(0x10f4) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat5.mmc1_dat5 */
91                         K2G_CORE_IOPAD(0x10f8) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat4.mmc1_dat4 */
92                         K2G_CORE_IOPAD(0x10fc) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat3.mmc1_dat3 */
93                         K2G_CORE_IOPAD(0x1100) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat2.mmc1_dat2 */
94                         K2G_CORE_IOPAD(0x1104) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat1.mmc1_dat1 */
95                         K2G_CORE_IOPAD(0x1108) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_dat0.mmc1_dat0 */
96                         K2G_CORE_IOPAD(0x110c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_clk.mmc1_clk */
97                         K2G_CORE_IOPAD(0x1110) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* mmc1_cmd.mmc1_cmd */
98                 >;
99         };
100
101         i2c0_pins: pinmux_i2c0_pins {
102                 pinctrl-single,pins = <
103                         K2G_CORE_IOPAD(0x137c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* i2c0_scl.i2c0_scl */
104                         K2G_CORE_IOPAD(0x1380) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0)        /* i2c0_sda.i2c0_sda */
105                 >;
106         };
107
108 };
109
110 &uart0 {
111         pinctrl-names = "default";
112         pinctrl-0 = <&uart0_pins>;
113         status = "okay";
114 };
115
116 &gpio1 {
117         status = "okay";
118 };
119
120 &mmc0 {
121         pinctrl-names = "default";
122         pinctrl-0 = <&mmc0_pins>;
123         vmmc-supply = <&vcc3v3_dcin_reg>;
124         cd-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
125         status = "okay";
126 };
127
128 &mmc1 {
129         pinctrl-names = "default";
130         pinctrl-0 = <&mmc1_pins>;
131         vmmc-supply = <&vcc3v3_dcin_reg>; /* VCC3V3_EMMC is connected to VCC3V3_DCIN */
132         status = "okay";
133 };
134
135 &dsp0 {
136         memory-region = <&dsp_common_memory>;
137         status = "okay";
138 };
139
140 &i2c0 {
141         pinctrl-names = "default";
142         pinctrl-0 = <&i2c0_pins>;
143         status = "okay";
144
145         eeprom@50 {
146                 compatible = "atmel,24c1024";
147                 reg = <0x50>;
148         };
149 };
150
151 &keystone_usb0 {
152         status = "okay";
153 };
154
155 &usb0_phy {
156         status = "okay";
157 };
158
159 &usb0 {
160         dr_mode = "host";
161         status = "okay";
162 };
163
164 &keystone_usb1 {
165         status = "okay";
166 };
167
168 &usb1_phy {
169         status = "okay";
170 };
171
172 &usb1 {
173         dr_mode = "peripheral";
174         status = "okay";
175 };
176
177 &ecap0 {
178         status = "okay";
179         pinctrl-names = "default";
180         pinctrl-0 = <&ecap0_pins>;
181 };
182
183 &spi1 {
184         pinctrl-names = "default";
185         pinctrl-0 = <&spi1_pins>;
186         status = "okay";
187
188         spi_nor: flash@0 {
189                 #address-cells = <1>;
190                 #size-cells = <1>;
191                 compatible = "jedec,spi-nor";
192                 spi-max-frequency = <5000000>;
193                 m25p,fast-read;
194                 reg = <0>;
195
196                 partition@0 {
197                         label = "u-boot-spl";
198                         reg = <0x0 0x100000>;
199                         read-only;
200                 };
201
202                 partition@1 {
203                         label = "misc";
204                         reg = <0x100000 0xf00000>;
205                 };
206         };
207 };