diff options
author | Hongmei Gou <a0271529@ti.com> | 2017-09-06 04:13:07 +0000 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2017-09-26 13:38:42 -0400 |
commit | 12d00048d4eaad0a2370dce96bdc80011debd6db (patch) | |
tree | 799917345b7c6037fdeb383e6de95c8c7e150266 | |
parent | aa3824456f9013ff76811e9b594e64f9d6f8125d (diff) | |
download | meta-ti-12d00048d4eaad0a2370dce96bdc80011debd6db.tar.gz |
linux-ti-staging: include pru-uio device tree files for am571x and k2g
* The pru-uio device tree file for am572x is also updated to support
icss-emac-lld in Linux userspace.
* The new dtbs are added only if ENABLE_TI_UIO_DEVICES is enabled.
Signed-off-by: Hongmei Gou <a0271529@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r-- | recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi | 284 | ||||
-rw-r--r-- | recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi | 263 | ||||
-rw-r--r-- | recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi | 391 | ||||
-rw-r--r-- | recipes-kernel/linux/ti-uio.inc | 26 |
4 files changed, 859 insertions, 105 deletions
diff --git a/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi b/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi new file mode 100644 index 00000000..71e05162 --- /dev/null +++ b/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi | |||
@@ -0,0 +1,284 @@ | |||
1 | &pruss_soc_bus1 { | ||
2 | uio_pruss1_mdio { | ||
3 | status = "okay"; | ||
4 | |||
5 | compatible = "ti,davinci_mdio"; | ||
6 | #address-cells = <1>; | ||
7 | #size-cells = <0>; | ||
8 | clocks = <&dpll_gmac_h13x2_ck>; | ||
9 | clock-names = "fck"; | ||
10 | bus_freq = <1000000>; | ||
11 | reg = <0x4b232400 0x90>; | ||
12 | |||
13 | reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; | ||
14 | reset-delay-us = <2>; /* PHY datasheet states 1uS min */ | ||
15 | uio_pruss1_eth0_phy: uio_ethernet-phy@0 { | ||
16 | reg = <0>; | ||
17 | }; | ||
18 | |||
19 | uio_pruss1_eth1_phy: uio_ethernet-phy@1 { | ||
20 | reg = <1>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | uio_pruss1_mem: uio_pruss1_mem { | ||
25 | compatible = "ti,uio-module-drv"; | ||
26 | mem = <0x4b200000 0x2000>, | ||
27 | <0x4b202000 0x2000>, | ||
28 | <0x4b210000 0x8000>, | ||
29 | <0x4b220000 0x5404>, | ||
30 | <0x4b226000 0x474>, | ||
31 | <0x4b22e000 0xc04>, | ||
32 | <0x4b232000 0x154>; | ||
33 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
34 | "iep", "mii_rt"; | ||
35 | status = "okay"; | ||
36 | }; | ||
37 | uio_pruss1_mem2: uio_pruss1_mem2 { | ||
38 | compatible = "ti,uio-module-drv"; | ||
39 | mem = <0x4b228000 0xd4>, | ||
40 | <0x4b230000 0x174>, | ||
41 | <0x4b232400 0x234>, | ||
42 | <0x40300000 0x40000>; | ||
43 | mem-names = "uart", "ecap", "mdio", "ocmc"; | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | uio_pruss1_evt0: uio_pruss1_evt0 { | ||
47 | compatible = "ti,uio-module-drv"; | ||
48 | interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; | ||
49 | interrupt-mode = <1>; | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | uio_pruss1_evt1: uio_pruss1_evt1 { | ||
53 | compatible = "ti,uio-module-drv"; | ||
54 | interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; | ||
55 | interrupt-mode = <1>; | ||
56 | status = "okay"; | ||
57 | }; | ||
58 | uio_pruss1_evt2: uio_pruss1_evt2 { | ||
59 | compatible = "ti,uio-module-drv"; | ||
60 | interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; | ||
61 | interrupt-mode = <1>; | ||
62 | status = "okay"; | ||
63 | }; | ||
64 | uio_pruss1_evt3: uio_pruss1_evt3 { | ||
65 | compatible = "ti,uio-module-drv"; | ||
66 | interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; | ||
67 | interrupt-mode = <1>; | ||
68 | status = "okay"; | ||
69 | }; | ||
70 | uio_pruss1_evt4: uio_pruss1_evt4 { | ||
71 | compatible = "ti,uio-module-drv"; | ||
72 | interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; | ||
73 | interrupt-mode = <1>; | ||
74 | status = "okay"; | ||
75 | }; | ||
76 | uio_pruss1_evt5: uio_pruss1_evt5 { | ||
77 | compatible = "ti,uio-module-drv"; | ||
78 | interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; | ||
79 | interrupt-mode = <1>; | ||
80 | status = "okay"; | ||
81 | }; | ||
82 | uio_pruss1_evt6: uio_pruss1_evt6 { | ||
83 | compatible = "ti,uio-module-drv"; | ||
84 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | ||
85 | interrupt-mode = <1>; | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | uio_pruss1_evt7: uio_pruss1_evt7 { | ||
89 | compatible = "ti,uio-module-drv"; | ||
90 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; | ||
91 | interrupt-mode = <1>; | ||
92 | status = "okay"; | ||
93 | }; | ||
94 | |||
95 | uio_pruss1_0_mem: uio_pruss1_0_mem { | ||
96 | compatible = "ti,uio-module-drv"; | ||
97 | mem = <0x4b234000 0x3000>, | ||
98 | <0x4b222000 0xb4>, | ||
99 | <0x4b222400 0x3f4>; | ||
100 | mem-names = "iram", "control", "debug"; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | |||
104 | uio_pruss1_1_mem: uio_pruss1_1_mem { | ||
105 | compatible = "ti,uio-module-drv"; | ||
106 | mem = <0x4b238000 0x3000>, | ||
107 | <0x4b224000 0xb4>, | ||
108 | <0x4b224400 0x3f4>; | ||
109 | mem-names = "iram", "control", "debug"; | ||
110 | status = "okay"; | ||
111 | }; | ||
112 | }; | ||
113 | |||
114 | &pruss_soc_bus2 { | ||
115 | uio_pruss2_mdio { | ||
116 | compatible = "ti,davinci_mdio"; | ||
117 | #address-cells = <1>; | ||
118 | #size-cells = <0>; | ||
119 | clocks = <&dpll_gmac_h13x2_ck>; | ||
120 | clock-names = "fck"; | ||
121 | bus_freq = <1000000>; | ||
122 | reg = <0x4b2b2400 0x90>; | ||
123 | status = "okay"; | ||
124 | |||
125 | reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; | ||
126 | reset-delay-us = <2>; /* PHY datasheet states 1uS min */ | ||
127 | |||
128 | uio_pruss2_eth0_phy: ethernet-phy@0 { | ||
129 | reg = <0>; | ||
130 | }; | ||
131 | |||
132 | uio_pruss2_eth1_phy: ethernet-phy@1 { | ||
133 | reg = <1>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | uio_pruss2_mem: uio_pruss2_mem { | ||
138 | compatible = "ti,uio-module-drv"; | ||
139 | mem = <0x4b280000 0x2000>, | ||
140 | <0x4b282000 0x2000>, | ||
141 | <0x4b290000 0x8000>, | ||
142 | <0x4b2a0000 0x5404>, | ||
143 | <0x4b2a6000 0x474>, | ||
144 | <0x4b2ae000 0xc04>, | ||
145 | <0x4b2b2000 0x154>; | ||
146 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
147 | "iep", "mii_rt"; | ||
148 | status = "okay"; | ||
149 | }; | ||
150 | uio_pruss2_mem2: uio_pruss2_mem2 { | ||
151 | compatible = "ti,uio-module-drv"; | ||
152 | mem = <0x4b2a8000 0xd4>, | ||
153 | <0x4b2b0000 0x174>, | ||
154 | <0x4b2b2400 0x234>, | ||
155 | <0x40340000 0x40000>; | ||
156 | mem-names = "uart", "ecap", "mdio", "ocmc"; | ||
157 | status = "okay"; | ||
158 | }; | ||
159 | uio_pruss2_evt0: uio_pruss2_evt0 { | ||
160 | compatible = "ti,uio-module-drv"; | ||
161 | interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; | ||
162 | interrupt-mode = <1>; | ||
163 | status = "okay"; | ||
164 | }; | ||
165 | uio_pruss2_evt1: uio_pruss2_evt1 { | ||
166 | compatible = "ti,uio-module-drv"; | ||
167 | interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; | ||
168 | interrupt-mode = <1>; | ||
169 | status = "okay"; | ||
170 | }; | ||
171 | uio_pruss2_evt2: uio_pruss2_evt2 { | ||
172 | compatible = "ti,uio-module-drv"; | ||
173 | interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; | ||
174 | interrupt-mode = <1>; | ||
175 | status = "okay"; | ||
176 | }; | ||
177 | uio_pruss2_evt3: uio_pruss2_evt3 { | ||
178 | compatible = "ti,uio-module-drv"; | ||
179 | interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; | ||
180 | interrupt-mode = <1>; | ||
181 | status = "okay"; | ||
182 | }; | ||
183 | uio_pruss2_evt4: uio_pruss2_evt4 { | ||
184 | compatible = "ti,uio-module-drv"; | ||
185 | interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; | ||
186 | interrupt-mode = <1>; | ||
187 | status = "okay"; | ||
188 | }; | ||
189 | uio_pruss2_evt5: uio_pruss2_evt5 { | ||
190 | compatible = "ti,uio-module-drv"; | ||
191 | interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; | ||
192 | interrupt-mode = <1>; | ||
193 | status = "okay"; | ||
194 | }; | ||
195 | uio_pruss2_evt6: uio_pruss2_evt6 { | ||
196 | compatible = "ti,uio-module-drv"; | ||
197 | interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; | ||
198 | interrupt-mode = <1>; | ||
199 | status = "okay"; | ||
200 | }; | ||
201 | uio_pruss2_evt7: uio_pruss2_evt7 { | ||
202 | compatible = "ti,uio-module-drv"; | ||
203 | interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; | ||
204 | interrupt-mode = <1>; | ||
205 | status = "okay"; | ||
206 | }; | ||
207 | |||
208 | uio_pruss2_0_mem: uio_pruss2_0_mem { | ||
209 | compatible = "ti,uio-module-drv"; | ||
210 | mem = <0x4b2b4000 0x3000>, | ||
211 | <0x4b2a2000 0xb4>, | ||
212 | <0x4b2a2400 0x3f4>; | ||
213 | mem-names = "iram", "control", "debug"; | ||
214 | status = "okay"; | ||
215 | }; | ||
216 | uio_pruss2_1_mem: uio_pruss2_1_mem { | ||
217 | compatible = "ti,uio-module-drv"; | ||
218 | mem = <0x4b2b8000 0x3000>, | ||
219 | <0x4b2a4000 0xb4>, | ||
220 | <0x4b2a4400 0x3f4>; | ||
221 | mem-names = "iram", "control", "debug"; | ||
222 | status = "okay"; | ||
223 | }; | ||
224 | }; | ||
225 | |||
226 | &pruss1_eth { | ||
227 | status = "disabled"; | ||
228 | }; | ||
229 | |||
230 | &pruss1_emac0 { | ||
231 | status = "disabled"; | ||
232 | }; | ||
233 | |||
234 | &pruss1_emac1 { | ||
235 | status = "disabled"; | ||
236 | }; | ||
237 | |||
238 | &pruss2_emac0 { | ||
239 | status = "disabled"; | ||
240 | }; | ||
241 | |||
242 | &pruss2_emac1 { | ||
243 | status = "disabled"; | ||
244 | }; | ||
245 | |||
246 | &pruss1 { | ||
247 | status = "disabled"; | ||
248 | }; | ||
249 | |||
250 | &pru1_0 { | ||
251 | status = "disabled"; | ||
252 | }; | ||
253 | |||
254 | &pru1_1 { | ||
255 | status = "disabled"; | ||
256 | }; | ||
257 | |||
258 | &pruss1_intc { | ||
259 | status = "disabled"; | ||
260 | }; | ||
261 | |||
262 | &pruss1_mdio { | ||
263 | status = "disabled"; | ||
264 | }; | ||
265 | |||
266 | &pruss2 { | ||
267 | status = "disabled"; | ||
268 | }; | ||
269 | |||
270 | &pru2_0 { | ||
271 | status = "disabled"; | ||
272 | }; | ||
273 | |||
274 | &pru2_1 { | ||
275 | status = "disabled"; | ||
276 | }; | ||
277 | |||
278 | &pruss2_intc { | ||
279 | status = "disabled"; | ||
280 | }; | ||
281 | |||
282 | &pruss2_mdio { | ||
283 | status = "disabled"; | ||
284 | }; | ||
diff --git a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi index 828a0cee..f149cf1c 100644 --- a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi +++ b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi | |||
@@ -1,92 +1,124 @@ | |||
1 | / { | 1 | &pruss_soc_bus1 { |
2 | ocp { | 2 | uio_pruss1_mem: uio_pruss1_mem { |
3 | pruss2_eth { | 3 | compatible = "ti,uio-module-drv"; |
4 | status = "disabled"; | 4 | mem = <0x4b200000 0x2000>, |
5 | }; | 5 | <0x4b202000 0x2000>, |
6 | uio_pruss1_mem: uio_pruss1_mem { | 6 | <0x4b210000 0x8000>, |
7 | compatible = "ti,uio-module-drv"; | 7 | <0x4b220000 0x2000>, |
8 | ti,hwmods = "pruss1"; | 8 | <0x4b226000 0x2000>, |
9 | mem = <0x4b200000 0x2000>, | 9 | <0x4b22e000 0x31c>, |
10 | <0x4b202000 0x2000>, | 10 | <0x4b232000 0x58>; |
11 | <0x4b210000 0x8000>, | 11 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", |
12 | <0x4b220000 0x2000>, | 12 | "iep", "mii_rt"; |
13 | <0x4b226000 0x2000>, | 13 | status = "okay"; |
14 | <0x4b22e000 0x31c>, | 14 | }; |
15 | <0x4b232000 0x58>; | 15 | uio_pruss1_mem2: uio_pruss1_mem2 { |
16 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | 16 | compatible = "ti,uio-module-drv"; |
17 | "iep", "mii_rt"; | 17 | mem = <0x4b228000 0x38>, |
18 | status = "okay"; | 18 | <0x4b230000 0x60>, |
19 | }; | 19 | <0x4b232400 0x90>, |
20 | uio_pruss1_mem2: uio_pruss1_mem2 { | 20 | <0x40340000 0x40000>; |
21 | compatible = "ti,uio-module-drv"; | 21 | mem-names = "uart", "ecap", "mdio", "ocmc"; |
22 | mem = <0x4b228000 0x38>, | 22 | status = "okay"; |
23 | <0x4b230000 0x60>, | 23 | }; |
24 | <0x4b232400 0x90>; | 24 | uio_pruss1_evt0: uio_pruss1_evt0 { |
25 | mem-names = "uart", "ecap", "mdio"; | 25 | compatible = "ti,uio-module-drv"; |
26 | status = "okay"; | 26 | interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; |
27 | }; | 27 | interrupt-mode = <1>; |
28 | uio_pruss1_evt0: uio_pruss1_evt0 { | 28 | status = "okay"; |
29 | compatible = "ti,uio-module-drv"; | 29 | }; |
30 | interrupts = <GIC_SPI 186 IRQ_TYPE_EDGE_RISING>; | 30 | uio_pruss1_evt1: uio_pruss1_evt1 { |
31 | status = "okay"; | 31 | compatible = "ti,uio-module-drv"; |
32 | }; | 32 | interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; |
33 | uio_pruss1_evt1: uio_pruss1_evt1 { | 33 | interrupt-mode = <1>; |
34 | compatible = "ti,uio-module-drv"; | 34 | status = "okay"; |
35 | interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; | 35 | }; |
36 | status = "okay"; | 36 | uio_pruss1_evt2: uio_pruss1_evt2 { |
37 | }; | 37 | compatible = "ti,uio-module-drv"; |
38 | uio_pruss1_evt2: uio_pruss1_evt2 { | 38 | interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; |
39 | compatible = "ti,uio-module-drv"; | 39 | interrupt-mode = <1>; |
40 | interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>; | 40 | status = "okay"; |
41 | status = "okay"; | 41 | }; |
42 | }; | 42 | uio_pruss1_evt3: uio_pruss1_evt3 { |
43 | uio_pruss1_evt3: uio_pruss1_evt3 { | 43 | compatible = "ti,uio-module-drv"; |
44 | compatible = "ti,uio-module-drv"; | 44 | interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; |
45 | interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>; | 45 | interrupt-mode = <1>; |
46 | status = "okay"; | 46 | status = "okay"; |
47 | }; | 47 | }; |
48 | uio_pruss1_evt4: uio_pruss1_evt4 { | 48 | uio_pruss1_evt4: uio_pruss1_evt4 { |
49 | compatible = "ti,uio-module-drv"; | 49 | compatible = "ti,uio-module-drv"; |
50 | interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>; | 50 | interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; |
51 | status = "okay"; | 51 | interrupt-mode = <1>; |
52 | }; | 52 | status = "okay"; |
53 | uio_pruss1_evt5: uio_pruss1_evt5 { | 53 | }; |
54 | compatible = "ti,uio-module-drv"; | 54 | uio_pruss1_evt5: uio_pruss1_evt5 { |
55 | interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>; | 55 | compatible = "ti,uio-module-drv"; |
56 | status = "okay"; | 56 | interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; |
57 | }; | 57 | interrupt-mode = <1>; |
58 | uio_pruss1_evt6: uio_pruss1_evt6 { | 58 | status = "okay"; |
59 | compatible = "ti,uio-module-drv"; | 59 | }; |
60 | interrupts = <GIC_SPI 192 IRQ_TYPE_EDGE_RISING>; | 60 | uio_pruss1_evt6: uio_pruss1_evt6 { |
61 | status = "okay"; | 61 | compatible = "ti,uio-module-drv"; |
62 | }; | 62 | interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; |
63 | uio_pruss1_evt7: uio_pruss1_evt7 { | 63 | interrupt-mode = <1>; |
64 | compatible = "ti,uio-module-drv"; | 64 | status = "okay"; |
65 | interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; | 65 | }; |
66 | status = "okay"; | 66 | uio_pruss1_evt7: uio_pruss1_evt7 { |
67 | }; | 67 | compatible = "ti,uio-module-drv"; |
68 | interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; | ||
69 | interrupt-mode = <1>; | ||
70 | status = "okay"; | ||
71 | }; | ||
68 | 72 | ||
69 | uio_pruss1_0_mem: uio_pruss1_0_mem { | 73 | uio_pruss1_0_mem: uio_pruss1_0_mem { |
70 | compatible = "ti,uio-module-drv"; | 74 | compatible = "ti,uio-module-drv"; |
71 | mem = <0x4b234000 0x3000>, | 75 | mem = <0x4b234000 0x3000>, |
72 | <0x4b222000 0x400>, | 76 | <0x4b222000 0x400>, |
73 | <0x4b222400 0x100>; | 77 | <0x4b222400 0x100>; |
74 | mem-names = "iram", "control", "debug"; | 78 | mem-names = "iram", "control", "debug"; |
75 | status = "okay"; | 79 | status = "okay"; |
76 | }; | 80 | }; |
77 | 81 | ||
78 | uio_pruss1_1_mem: uio_pruss1_1_mem { | 82 | uio_pruss1_1_mem: uio_pruss1_1_mem { |
79 | compatible = "ti,uio-module-drv"; | 83 | compatible = "ti,uio-module-drv"; |
80 | mem = <0x4b238000 0x3000>, | 84 | mem = <0x4b238000 0x3000>, |
81 | <0x4b224000 0x400>, | 85 | <0x4b224000 0x400>, |
82 | <0x4b224400 0x100>; | 86 | <0x4b224400 0x100>; |
83 | mem-names = "iram", "control", "debug"; | 87 | mem-names = "iram", "control", "debug"; |
84 | status = "okay"; | 88 | status = "okay"; |
85 | }; | 89 | }; |
90 | }; | ||
91 | |||
92 | &pruss1 { | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
96 | &pru1_0 { | ||
97 | status = "disabled"; | ||
98 | }; | ||
99 | |||
100 | &pru1_1 { | ||
101 | status = "disabled"; | ||
102 | }; | ||
103 | |||
104 | &pruss1_intc { | ||
105 | status = "disabled"; | ||
106 | }; | ||
107 | |||
108 | &pruss_soc_bus2 { | ||
109 | uio_pruss2_mdio: uio_pruss2_mdio { | ||
110 | compatible = "ti,davinci_mdio"; | ||
111 | #address-cells = <1>; | ||
112 | #size-cells = <0>; | ||
113 | clocks = <&dpll_gmac_h13x2_ck>; | ||
114 | clock-names = "fck"; | ||
115 | bus_freq = <1000000>; | ||
116 | reg = <0x4b2b2400 0x90>; | ||
117 | status = "disabled"; | ||
118 | }; | ||
86 | 119 | ||
87 | uio_pruss2_mem: uio_pruss2_mem { | 120 | uio_pruss2_mem: uio_pruss2_mem { |
88 | compatible = "ti,uio-module-drv"; | 121 | compatible = "ti,uio-module-drv"; |
89 | ti,hwmods = "pruss2"; | ||
90 | mem = <0x4b280000 0x2000>, | 122 | mem = <0x4b280000 0x2000>, |
91 | <0x4b282000 0x2000>, | 123 | <0x4b282000 0x2000>, |
92 | <0x4b290000 0x8000>, | 124 | <0x4b290000 0x8000>, |
@@ -102,48 +134,57 @@ | |||
102 | compatible = "ti,uio-module-drv"; | 134 | compatible = "ti,uio-module-drv"; |
103 | mem = <0x4b2a8000 0x38>, | 135 | mem = <0x4b2a8000 0x38>, |
104 | <0x4b2b0000 0x60>, | 136 | <0x4b2b0000 0x60>, |
105 | <0x4b2b2400 0x90>; | 137 | <0x4b2b2400 0x90>, |
106 | mem-names = "uart", "ecap", "mdio"; | 138 | <0x40300000 0x40000>; |
139 | mem-names = "uart", "ecap", "mdio", "ocmc"; | ||
107 | status = "okay"; | 140 | status = "okay"; |
108 | }; | 141 | }; |
109 | uio_pruss2_evt0: uio_pruss2_evt0 { | 142 | uio_pruss2_evt0: uio_pruss2_evt0 { |
110 | compatible = "ti,uio-module-drv"; | 143 | compatible = "ti,uio-module-drv"; |
111 | interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>; | 144 | interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; |
145 | interrupt-mode = <1>; | ||
112 | status = "okay"; | 146 | status = "okay"; |
113 | }; | 147 | }; |
114 | uio_pruss2_evt1: uio_pruss2_evt1 { | 148 | uio_pruss2_evt1: uio_pruss2_evt1 { |
115 | compatible = "ti,uio-module-drv"; | 149 | compatible = "ti,uio-module-drv"; |
116 | interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; | 150 | interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; |
151 | interrupt-mode = <1>; | ||
117 | status = "okay"; | 152 | status = "okay"; |
118 | }; | 153 | }; |
119 | uio_pruss2_evt2: uio_pruss2_evt2 { | 154 | uio_pruss2_evt2: uio_pruss2_evt2 { |
120 | compatible = "ti,uio-module-drv"; | 155 | compatible = "ti,uio-module-drv"; |
121 | interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>; | 156 | interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; |
157 | interrupt-mode = <1>; | ||
122 | status = "okay"; | 158 | status = "okay"; |
123 | }; | 159 | }; |
124 | uio_pruss2_evt3: uio_pruss2_evt3 { | 160 | uio_pruss2_evt3: uio_pruss2_evt3 { |
125 | compatible = "ti,uio-module-drv"; | 161 | compatible = "ti,uio-module-drv"; |
126 | interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>; | 162 | interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; |
163 | interrupt-mode = <1>; | ||
127 | status = "okay"; | 164 | status = "okay"; |
128 | }; | 165 | }; |
129 | uio_pruss2_evt4: uio_pruss2_evt4 { | 166 | uio_pruss2_evt4: uio_pruss2_evt4 { |
130 | compatible = "ti,uio-module-drv"; | 167 | compatible = "ti,uio-module-drv"; |
131 | interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>; | 168 | interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; |
169 | interrupt-mode = <1>; | ||
132 | status = "okay"; | 170 | status = "okay"; |
133 | }; | 171 | }; |
134 | uio_pruss2_evt5: uio_pruss2_evt5 { | 172 | uio_pruss2_evt5: uio_pruss2_evt5 { |
135 | compatible = "ti,uio-module-drv"; | 173 | compatible = "ti,uio-module-drv"; |
136 | interrupts = <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>; | 174 | interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; |
175 | interrupt-mode = <1>; | ||
137 | status = "okay"; | 176 | status = "okay"; |
138 | }; | 177 | }; |
139 | uio_pruss2_evt6: uio_pruss2_evt6 { | 178 | uio_pruss2_evt6: uio_pruss2_evt6 { |
140 | compatible = "ti,uio-module-drv"; | 179 | compatible = "ti,uio-module-drv"; |
141 | interrupts = <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>; | 180 | interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; |
181 | interrupt-mode = <1>; | ||
142 | status = "okay"; | 182 | status = "okay"; |
143 | }; | 183 | }; |
144 | uio_pruss2_evt7: uio_pruss2_evt7 { | 184 | uio_pruss2_evt7: uio_pruss2_evt7 { |
145 | compatible = "ti,uio-module-drv"; | 185 | compatible = "ti,uio-module-drv"; |
146 | interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>; | 186 | interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; |
187 | interrupt-mode = <1>; | ||
147 | status = "okay"; | 188 | status = "okay"; |
148 | }; | 189 | }; |
149 | 190 | ||
@@ -163,23 +204,35 @@ | |||
163 | mem-names = "iram", "control", "debug"; | 204 | mem-names = "iram", "control", "debug"; |
164 | status = "okay"; | 205 | status = "okay"; |
165 | }; | 206 | }; |
166 | }; | ||
167 | }; | 207 | }; |
168 | 208 | ||
169 | &pruss1 { | 209 | &uio_pruss2_mdio { |
170 | status = "disabled"; | 210 | reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>, |
211 | <&gpio5 9 GPIO_ACTIVE_LOW>; | ||
212 | reset-delay-us = <2>; /* PHY datasheet states 1uS min */ | ||
171 | }; | 213 | }; |
172 | 214 | ||
173 | &pru1_0 { | 215 | &uio_pruss2_mdio { |
174 | status = "disabled"; | 216 | status = "okay"; |
217 | uio_pruss2_eth0_phy: uio_pruss2_eth0_phy@0 { | ||
218 | reg = <0>; | ||
219 | }; | ||
220 | |||
221 | uio_pruss2_eth1_phy: uio_pruss2_eth1_phy@1 { | ||
222 | reg = <1>; | ||
223 | }; | ||
175 | }; | 224 | }; |
176 | 225 | ||
177 | &pru1_1 { | 226 | &pruss2_emac0 { |
178 | status = "disabled"; | 227 | status = "disabled"; |
228 | }; | ||
229 | |||
230 | &pruss2_emac1 { | ||
231 | status = "disabled"; | ||
179 | }; | 232 | }; |
180 | 233 | ||
181 | &pruss2 { | 234 | &pruss2 { |
182 | status = "disabled"; | 235 | status = "disabled"; |
183 | }; | 236 | }; |
184 | 237 | ||
185 | &pru2_0 { | 238 | &pru2_0 { |
@@ -190,6 +243,10 @@ | |||
190 | status = "disabled"; | 243 | status = "disabled"; |
191 | }; | 244 | }; |
192 | 245 | ||
246 | &pruss2_intc { | ||
247 | status = "disabled"; | ||
248 | }; | ||
249 | |||
193 | &pruss2_mdio { | 250 | &pruss2_mdio { |
194 | status = "disabled"; | 251 | status = "disabled"; |
195 | }; | 252 | }; |
diff --git a/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi b/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi new file mode 100644 index 00000000..69955a44 --- /dev/null +++ b/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi | |||
@@ -0,0 +1,391 @@ | |||
1 | &pruss_soc_bus0 { | ||
2 | uio_pruss1_mdio: uio_mdio@20ab2400 { | ||
3 | compatible = "ti,davinci_mdio"; | ||
4 | reg = <0x20ab2400 0x90>; | ||
5 | clocks = <&k2g_clks K2G_DEV_ICSS0 K2G_DEV_ICSS_CORE_CLK>; | ||
6 | clock-names = "fck"; | ||
7 | #address-cells = <1>; | ||
8 | #size-cells = <0>; | ||
9 | bus_freq = <2500000>; | ||
10 | status = "disabled"; | ||
11 | }; | ||
12 | |||
13 | uio_pruss1_mem: uio_pruss1_mem { | ||
14 | compatible = "ti,uio-module-drv"; | ||
15 | mem = <0x20a80000 0x2000>, | ||
16 | <0x20a82000 0x2000>, | ||
17 | <0x20a90000 0x10000>, | ||
18 | <0x20aa0000 0x2000>, | ||
19 | <0x20aa6000 0x2000>, | ||
20 | <0x20aae000 0x31c>, | ||
21 | <0x20ab2000 0x70>; | ||
22 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
23 | "iep", "mii_rt"; | ||
24 | status = "okay"; | ||
25 | }; | ||
26 | uio_pruss1_mem2: uio_pruss1_mem2 { | ||
27 | compatible = "ti,uio-module-drv"; | ||
28 | mem = <0x20aa8000 0x38>, | ||
29 | <0x20ab0000 0x60>, | ||
30 | <0x20ab2400 0x90>, | ||
31 | <0x0c080000 0xe000>; | ||
32 | mem-names = "uart", "ecap", "mdio", "ocmc"; | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | uio_pruss1_evt0: uio_pruss1_evt0 { | ||
36 | compatible = "ti,uio-module-drv"; | ||
37 | interrupts = <GIC_SPI 224 0xf01>; | ||
38 | interrupt-mode = <0>; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | uio_pruss1_evt1: uio_pruss1_evt1 { | ||
42 | compatible = "ti,uio-module-drv"; | ||
43 | interrupts = <GIC_SPI 225 0xf01>; | ||
44 | interrupt-mode = <0>; | ||
45 | status = "okay"; | ||
46 | }; | ||
47 | uio_pruss1_evt2: uio_pruss1_evt2 { | ||
48 | compatible = "ti,uio-module-drv"; | ||
49 | interrupts = <GIC_SPI 226 0xf01>; | ||
50 | interrupt-mode = <0>; | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | uio_pruss1_evt3: uio_pruss1_evt3 { | ||
54 | compatible = "ti,uio-module-drv"; | ||
55 | interrupts = <GIC_SPI 227 0xf01>; | ||
56 | interrupt-mode = <0>; | ||
57 | status = "okay"; | ||
58 | }; | ||
59 | uio_pruss1_evt4: uio_pruss1_evt4 { | ||
60 | compatible = "ti,uio-module-drv"; | ||
61 | interrupts = <GIC_SPI 228 0xf01>; | ||
62 | interrupt-mode = <0>; | ||
63 | status = "okay"; | ||
64 | }; | ||
65 | uio_pruss1_evt6: uio_pruss1_evt6 { | ||
66 | compatible = "ti,uio-module-drv"; | ||
67 | interrupts = <GIC_SPI 230 0xf01>; | ||
68 | interrupt-mode = <0>; | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | uio_pruss1_evt7: uio_pruss1_evt7 { | ||
72 | compatible = "ti,uio-module-drv"; | ||
73 | interrupts = <GIC_SPI 231 0xf01>; | ||
74 | interrupt-mode = <0>; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | uio_pruss1_0_mem: uio_pruss1_0_mem { | ||
79 | compatible = "ti,uio-module-drv"; | ||
80 | mem = <0x20ab4000 0x3000>, | ||
81 | <0x20aa2000 0x400>, | ||
82 | <0x20aa2400 0x100>; | ||
83 | mem-names = "iram", "control", "debug"; | ||
84 | status = "okay"; | ||
85 | }; | ||
86 | |||
87 | uio_pruss1_1_mem: uio_pruss1_1_mem { | ||
88 | compatible = "ti,uio-module-drv"; | ||
89 | mem = <0x20ab8000 0x3000>, | ||
90 | <0x20aa4000 0x400>, | ||
91 | <0x20aa4400 0x100>; | ||
92 | mem-names = "iram", "control", "debug"; | ||
93 | status = "okay"; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | &pruss_soc_bus1 { | ||
98 | uio_pruss2_mdio: uio_mdio@20af2400 { | ||
99 | compatible = "ti,davinci_mdio"; | ||
100 | reg = <0x20af2400 0x90>; | ||
101 | clocks = <&k2g_clks K2G_DEV_ICSS1 K2G_DEV_ICSS_CORE_CLK>; | ||
102 | clock-names = "fck"; | ||
103 | #address-cells = <1>; | ||
104 | #size-cells = <0>; | ||
105 | bus_freq = <2500000>; | ||
106 | status = "disabled"; | ||
107 | }; | ||
108 | |||
109 | uio_pruss2_mem: uio_pruss2_mem { | ||
110 | compatible = "ti,uio-module-drv"; | ||
111 | mem = <0x20ac0000 0x2000>, | ||
112 | <0x20ac2000 0x2000>, | ||
113 | <0x20ad0000 0x10000>, | ||
114 | <0x20ae0000 0x2000>, | ||
115 | <0x20ae6000 0x2000>, | ||
116 | <0x20aee000 0x31c>, | ||
117 | <0x20af2000 0x70>; | ||
118 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
119 | "iep", "mii_rt"; | ||
120 | status = "okay"; | ||
121 | }; | ||
122 | uio_pruss2_mem2: uio_pruss2_mem2 { | ||
123 | compatible = "ti,uio-module-drv"; | ||
124 | mem = <0x20ae8000 0x38>, | ||
125 | <0x20af0000 0x60>, | ||
126 | <0x20af2400 0x90>, | ||
127 | <0x0c08e000 0xe000>; | ||
128 | mem-names = "uart", "ecap", "mdio", "ocmc"; | ||
129 | status = "okay"; | ||
130 | }; | ||
131 | uio_pruss2_evt0: uio_pruss2_evt0 { | ||
132 | compatible = "ti,uio-module-drv"; | ||
133 | interrupts = <GIC_SPI 232 0xf01>; | ||
134 | interrupt-mode = <0>; | ||
135 | status = "okay"; | ||
136 | }; | ||
137 | uio_pruss2_evt1: uio_pruss2_evt1 { | ||
138 | compatible = "ti,uio-module-drv"; | ||
139 | interrupts = <GIC_SPI 233 0xf01>; | ||
140 | interrupt-mode = <0>; | ||
141 | status = "okay"; | ||
142 | }; | ||
143 | uio_pruss2_evt2: uio_pruss2_evt2 { | ||
144 | compatible = "ti,uio-module-drv"; | ||
145 | interrupts = <GIC_SPI 234 0xf01>; | ||
146 | interrupt-mode = <0>; | ||
147 | status = "okay"; | ||
148 | }; | ||
149 | uio_pruss2_evt3: uio_pruss2_evt3 { | ||
150 | compatible = "ti,uio-module-drv"; | ||
151 | interrupts = <GIC_SPI 235 0xf01>; | ||
152 | interrupt-mode = <0>; | ||
153 | status = "okay"; | ||
154 | }; | ||
155 | uio_pruss2_evt4: uio_pruss2_evt4 { | ||
156 | compatible = "ti,uio-module-drv"; | ||
157 | interrupts = <GIC_SPI 236 0xf01>; | ||
158 | interrupt-mode = <0>; | ||
159 | status = "okay"; | ||
160 | }; | ||
161 | uio_pruss2_evt6: uio_pruss2_evt6 { | ||
162 | compatible = "ti,uio-module-drv"; | ||
163 | interrupts = <GIC_SPI 238 0xf01>; | ||
164 | interrupt-mode = <0>; | ||
165 | status = "okay"; | ||
166 | }; | ||
167 | uio_pruss2_evt7: uio_pruss2_evt7 { | ||
168 | compatible = "ti,uio-module-drv"; | ||
169 | interrupts = <GIC_SPI 239 0xf01>; | ||
170 | interrupt-mode = <0>; | ||
171 | status = "okay"; | ||
172 | }; | ||
173 | |||
174 | uio_pruss2_0_mem: uio_pruss2_0_mem { | ||
175 | compatible = "ti,uio-module-drv"; | ||
176 | mem = <0x20af4000 0x3000>, | ||
177 | <0x20ae2000 0x400>, | ||
178 | <0x20ae2400 0x100>; | ||
179 | mem-names = "iram", "control", "debug"; | ||
180 | status = "okay"; | ||
181 | }; | ||
182 | uio_pruss2_1_mem: uio_pruss2_1_mem { | ||
183 | compatible = "ti,uio-module-drv"; | ||
184 | mem = <0x20af8000 0x3000>, | ||
185 | <0x20ae4000 0x400>, | ||
186 | <0x20ae4400 0x100>; | ||
187 | mem-names = "iram", "control", "debug"; | ||
188 | status = "okay"; | ||
189 | }; | ||
190 | }; | ||
191 | |||
192 | &k2g_pinctrl { | ||
193 | uio_pruss1_mdio_eth_default: uio_pruss1_mdio_eth_default { | ||
194 | pinctrl-single,pins = < | ||
195 | K2G_CORE_IOPAD(0x12cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* pr0_mdio_data.pr0_mdio_data */ | ||
196 | K2G_CORE_IOPAD(0x12d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* pr0_mdio_mdclk.pr0_mdio_mdclk */ | ||
197 | K2G_CORE_IOPAD(0x105c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_wait1.gpio0_23 (pr0_mii0_resetn) */ | ||
198 | K2G_CORE_IOPAD(0x1070) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_csn2.gpio0_28 (pr0_mii0_intn) */ | ||
199 | K2G_CORE_IOPAD(0x1054) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_be1n.gpio0_21 (pr0_mii1_resetn) */ | ||
200 | K2G_CORE_IOPAD(0x1074) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_csn3.gpio0_29 (pr0_mii1_intn) */ | ||
201 | |||
202 | /* PRUSS0 External Mux routing */ | ||
203 | K2G_CORE_IOPAD(0x11d4) (BUFFER_CLASS_B | MUX_MODE3) /* uart0_ctsn.gpio0_106 */ | ||
204 | K2G_CORE_IOPAD(0x11d8) (BUFFER_CLASS_B | MUX_MODE3) /* uart0_rtsn.gpio0_107 */ | ||
205 | K2G_CORE_IOPAD(0x11fc) (BUFFER_CLASS_B | MUX_MODE3) /* dcan0_rx.gpio1_57 */ | ||
206 | K2G_CORE_IOPAD(0x1200) (BUFFER_CLASS_B | MUX_MODE3) /* dcan0_tx.gpio1_56 */ | ||
207 | K2G_CORE_IOPAD(0x1224) (BUFFER_CLASS_B | MUX_MODE3) /* qspi_csn2.gpio1_66 */ | ||
208 | K2G_CORE_IOPAD(0x1228) (BUFFER_CLASS_B | MUX_MODE3) /* qspi_csn3.gpio1_67 */ | ||
209 | |||
210 | /* PRUSS0 PRU0 Ethernet */ | ||
211 | K2G_CORE_IOPAD(0x122c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo0.pr0_pru0_gpi0 (pr0_mii0_rxd0) */ | ||
212 | K2G_CORE_IOPAD(0x1230) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo1.pr0_pru0_gpi1 (pr0_mii0_rxd1) */ | ||
213 | K2G_CORE_IOPAD(0x1234) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo2.pr0_pru0_gpi2 (pr0_mii0_rxd2) */ | ||
214 | K2G_CORE_IOPAD(0x1238) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo3.pr0_pru0_gpi3 (pr0_mii0_rxd3) */ | ||
215 | K2G_CORE_IOPAD(0x123c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo4.pr0_pru0_gpi4 (pr0_mii0_rxdv) */ | ||
216 | K2G_CORE_IOPAD(0x1240) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo5.pr0_pru0_gpi5 (pr0_mii0_rxer) */ | ||
217 | K2G_CORE_IOPAD(0x1244) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo6.pr0_pru0_gpi6 (pr0_mii_mr0_clk) */ | ||
218 | |||
219 | K2G_CORE_IOPAD(0x124c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo8.pr0_pru0_gpi8 (pr0_mii0_rxlink) */ | ||
220 | K2G_CORE_IOPAD(0x1250) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo9.pr0_pru0_gpi9 (pr0_mii0_col) */ | ||
221 | K2G_CORE_IOPAD(0x1254) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo10.pr0_pru0_gpi10 (pr0_mii0_crs) */ | ||
222 | |||
223 | K2G_CORE_IOPAD(0x12a8) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo11.pr0_pru1_gpo11 (pr0_mii0_txd0) */ | ||
224 | K2G_CORE_IOPAD(0x12ac) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo12.pr0_pru1_gpo12 (pr0_mii0_txd1) */ | ||
225 | K2G_CORE_IOPAD(0x12b0) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo13.pr0_pru1_gpo13 (pr0_mii0_txd2) */ | ||
226 | K2G_CORE_IOPAD(0x12b4) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo14.pr0_pru1_gpo14 (pr0_mii0_txd3) */ | ||
227 | K2G_CORE_IOPAD(0x12b8) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo15.pr0_pru1_gpo15 (pr0_mii0_txen) */ | ||
228 | K2G_CORE_IOPAD(0x12bc) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo16.pr0_pru1_gpo16 (pr0_mii_mt0_clk) */ | ||
229 | |||
230 | /* PRUSS0 PRU1 Ethernet */ | ||
231 | K2G_CORE_IOPAD(0x127c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo0.pr0_pru1_gpi0 (pr0_mii1_rxd0) */ | ||
232 | K2G_CORE_IOPAD(0x1280) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo1.pr0_pru1_gpi1 (pr0_mii1_rxd1) */ | ||
233 | K2G_CORE_IOPAD(0x1284) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo2.pr0_pru1_gpi2 (pr0_mii1_rxd2) */ | ||
234 | K2G_CORE_IOPAD(0x1288) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo3.pr0_pru1_gpi3 (pr0_mii1_rxd3) */ | ||
235 | K2G_CORE_IOPAD(0x128c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo4.pr0_pru1_gpi4 (pr0_mii1_rxdv) */ | ||
236 | K2G_CORE_IOPAD(0x1290) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo5.pr0_pru1_gpi5 (pr0_mii1_rxer) */ | ||
237 | K2G_CORE_IOPAD(0x1294) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo6.pr0_pru1_gpi6 (pr0_mii_mr1_clk) */ | ||
238 | |||
239 | K2G_CORE_IOPAD(0x129c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo8.pr0_pru1_gpi8 (pr0_mii1_rxlink) */ | ||
240 | K2G_CORE_IOPAD(0x12a0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo9.pr0_pru1_gpi9 (pr0_mii1_col) */ | ||
241 | K2G_CORE_IOPAD(0x12a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo10.pr0_pru1_gpi10 (pr0_mii1_crs) */ | ||
242 | |||
243 | K2G_CORE_IOPAD(0x1258) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo11.pr0_pru0_gpo11 (pr0_mii1_txd0) */ | ||
244 | K2G_CORE_IOPAD(0x125c) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo12.pr0_pru0_gpo12 (pr0_mii1_txd1) */ | ||
245 | K2G_CORE_IOPAD(0x1260) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo13.pr0_pru0_gpo13 (pr0_mii1_txd2) */ | ||
246 | K2G_CORE_IOPAD(0x1264) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo14.pr0_pru0_gpo14 (pr0_mii1_txd3) */ | ||
247 | K2G_CORE_IOPAD(0x1268) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo15.pr0_pru0_gpo15 (pr0_mii1_txen) */ | ||
248 | K2G_CORE_IOPAD(0x126c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo16.pr0_pru0_gpo16 (pr0_mii_mt1_clk) */ | ||
249 | >; | ||
250 | }; | ||
251 | |||
252 | uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default { | ||
253 | pinctrl-single,pins = < | ||
254 | K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* pr1_mdio_data.pr1_mdio_data */ | ||
255 | K2G_CORE_IOPAD(0x1378) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* pr1_mdio_mdclk.pr1_mdio_mdclk */ | ||
256 | K2G_CORE_IOPAD(0x1050) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_be0ncle.gpio0_20 (pr1_mii0_resetn) */ | ||
257 | K2G_CORE_IOPAD(0x1044) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_advnale.gpio0_17 (pr1_mii0_intn) */ | ||
258 | K2G_CORE_IOPAD(0x1060) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_wpn.gpio0_24 (pr1_mii1_resetn) */ | ||
259 | K2G_CORE_IOPAD(0x1088) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_wait0.gpio0_22 (pr1_mii1_intn) */ | ||
260 | |||
261 | /* PRUSS1 PRU0 Ethernet */ | ||
262 | K2G_CORE_IOPAD(0x12d4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo0.pr1_pru0_gpi0 (pr1_mii0_rxd0) */ | ||
263 | K2G_CORE_IOPAD(0x12d8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo1.pr1_pru0_gpi1 (pr1_mii0_rxd1) */ | ||
264 | K2G_CORE_IOPAD(0x12dc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo2.pr1_pru0_gpi2 (pr1_mii0_rxd2) */ | ||
265 | K2G_CORE_IOPAD(0x12e0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo3.pr1_pru0_gpi3 (pr1_mii0_rxd3) */ | ||
266 | K2G_CORE_IOPAD(0x12e4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo4.pr1_pru0_gpi4 (pr1_mii0_rxdv) */ | ||
267 | K2G_CORE_IOPAD(0x12e8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo5.pr1_pru0_gpi5 (pr1_mii0_rxer) */ | ||
268 | K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo6.pr1_pru0_gpi6 (pr1_mii_mr0_clk) */ | ||
269 | |||
270 | K2G_CORE_IOPAD(0x12f4) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo8.pr1_pru0_gpi8 (pr1_mii0_rxlink) */ | ||
271 | K2G_CORE_IOPAD(0x12f8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo9.pr1_pru0_gpi9 (pr1_mii0_col) */ | ||
272 | K2G_CORE_IOPAD(0x12fc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo10.pr1_pru0_gpi10 (pr1_mii0_crs) */ | ||
273 | |||
274 | K2G_CORE_IOPAD(0x1350) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo11.pr1_pru1_gpo11 (pr1_mii0_txd0) */ | ||
275 | K2G_CORE_IOPAD(0x1354) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo12.pr1_pru1_gpo12 (pr1_mii0_txd1) */ | ||
276 | K2G_CORE_IOPAD(0x1358) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo13.pr1_pru1_gpo13 (pr1_mii0_txd2) */ | ||
277 | K2G_CORE_IOPAD(0x135c) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo14.pr1_pru1_gpo14 (pr1_mii0_txd3) */ | ||
278 | K2G_CORE_IOPAD(0x1360) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo15.pr1_pru1_gpo15 (pr1_mii0_txen) */ | ||
279 | K2G_CORE_IOPAD(0x1364) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo16.pr1_pru1_gpo16 (pr1_mii_mt0_clk) */ | ||
280 | |||
281 | /* PRUSS1 PRU1 Ethernet */ | ||
282 | K2G_CORE_IOPAD(0x1324) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo0.pr1_pru1_gpi0 (pr1_mii1_rxd0) */ | ||
283 | K2G_CORE_IOPAD(0x132c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo2.pr1_pru1_gpi2 (pr1_mii1_rxd2) */ | ||
284 | K2G_CORE_IOPAD(0x1330) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo3.pr1_pru1_gpi3 (pr1_mii1_rxd3) */ | ||
285 | K2G_CORE_IOPAD(0x1334) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo4.pr1_pru1_gpi4 (pr1_mii1_rxdv) */ | ||
286 | K2G_CORE_IOPAD(0x1338) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo5.pr1_pru1_gpi5 (pr1_mii1_rxer) */ | ||
287 | K2G_CORE_IOPAD(0x133c) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo6.pr1_pru1_gpi6 (pr1_mii_mr1_clk) */ | ||
288 | |||
289 | K2G_CORE_IOPAD(0x1344) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo8.pr1_pru1_gpi8 (pr1_mii1_rxlink) */ | ||
290 | K2G_CORE_IOPAD(0x1348) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo9.pr1_pru1_gpi9 (pr1_mii1_col) */ | ||
291 | K2G_CORE_IOPAD(0x134c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo10.pr1_pru1_gpi10 (pr1_mii1_crs) */ | ||
292 | |||
293 | K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo11.pr1_pru0_gpo11 (pr1_mii1_txd0) */ | ||
294 | K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo12.pr1_pru0_gpo12 (pr1_mii1_txd1) */ | ||
295 | K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo13.pr1_pru0_gpo13 (pr1_mii1_txd2) */ | ||
296 | K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo14.pr1_pru0_gpo14 (pr1_mii1_txd3) */ | ||
297 | K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo15.pr1_pru0_gpo15 (pr1_mii1_txen) */ | ||
298 | K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo16.pr1_pru0_gpo16 (pr1_mii_mt1_clk) */ | ||
299 | >; | ||
300 | }; | ||
301 | }; | ||
302 | |||
303 | &uio_pruss1_mdio { | ||
304 | status = "okay"; | ||
305 | pinctrl-0 = <&uio_pruss1_mdio_eth_default>; | ||
306 | pinctrl-names = "default"; | ||
307 | reset-gpios = <&gpio0 23 GPIO_ACTIVE_LOW>, | ||
308 | <&gpio0 21 GPIO_ACTIVE_LOW>; | ||
309 | reset-delay-us = <20>; | ||
310 | |||
311 | uio_pruss1_eth0_phy: uio-ethernet-phy@0 { | ||
312 | reg = <0>; | ||
313 | }; | ||
314 | |||
315 | uio_pruss1_eth1_phy: uio-ethernet-phy@1 { | ||
316 | reg = <1>; | ||
317 | }; | ||
318 | }; | ||
319 | |||
320 | &uio_pruss2_mdio { | ||
321 | status = "okay"; | ||
322 | pinctrl-0 = <&uio_pruss2_mdio_eth_default>; | ||
323 | pinctrl-names = "default"; | ||
324 | reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>, | ||
325 | <&gpio0 24 GPIO_ACTIVE_LOW>; | ||
326 | reset-delay-us = <20>; | ||
327 | |||
328 | uio_pruss2_eth0_phy: uio-ethernet-phy@2 { | ||
329 | reg = <2>; | ||
330 | }; | ||
331 | |||
332 | uio_pruss2_eth1_phy: uio-ethernet-phy@3 { | ||
333 | reg = <3>; | ||
334 | }; | ||
335 | }; | ||
336 | |||
337 | &pruss0 { | ||
338 | status = "disabled"; | ||
339 | }; | ||
340 | |||
341 | &pru0_0 { | ||
342 | status = "disabled"; | ||
343 | }; | ||
344 | |||
345 | &pru0_1 { | ||
346 | status = "disabled"; | ||
347 | }; | ||
348 | |||
349 | &pruss0_intc { | ||
350 | status = "disabled"; | ||
351 | }; | ||
352 | |||
353 | &pruss0_mdio { | ||
354 | status = "disabled"; | ||
355 | }; | ||
356 | |||
357 | &pruss1 { | ||
358 | status = "disabled"; | ||
359 | }; | ||
360 | |||
361 | &pru1_0 { | ||
362 | status = "disabled"; | ||
363 | }; | ||
364 | |||
365 | &pru1_1 { | ||
366 | status = "disabled"; | ||
367 | }; | ||
368 | |||
369 | &pruss1_intc { | ||
370 | status = "disabled"; | ||
371 | }; | ||
372 | |||
373 | &pruss1_mdio { | ||
374 | status = "disabled"; | ||
375 | }; | ||
376 | |||
377 | &pruss0_emac0 { | ||
378 | status = "disabled"; | ||
379 | }; | ||
380 | |||
381 | &pruss0_emac1 { | ||
382 | status = "disabled"; | ||
383 | }; | ||
384 | |||
385 | &pruss1_emac0 { | ||
386 | status = "disabled"; | ||
387 | }; | ||
388 | |||
389 | &pruss1_emac1 { | ||
390 | status = "disabled"; | ||
391 | }; | ||
diff --git a/recipes-kernel/linux/ti-uio.inc b/recipes-kernel/linux/ti-uio.inc index 5c436376..13cf53e2 100644 --- a/recipes-kernel/linux/ti-uio.inc +++ b/recipes-kernel/linux/ti-uio.inc | |||
@@ -2,7 +2,10 @@ SRC_URI_append_keystone = " file://keystone-uio.dtsi" | |||
2 | SRC_URI_append_k2hk = " file://k2hk-uio.dtsi" | 2 | SRC_URI_append_k2hk = " file://k2hk-uio.dtsi" |
3 | SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi" | 3 | SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi" |
4 | SRC_URI_append_k2e = " file://k2e-uio.dtsi" | 4 | SRC_URI_append_k2e = " file://k2e-uio.dtsi" |
5 | SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi" | 5 | SRC_URI_append_k2g = " file://keystone-k2g-pru-uio.dtsi" |
6 | SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi \ | ||
7 | file://am571x-pru-uio.dtsi \ | ||
8 | " | ||
6 | SRC_URI_append_ti33x = " file://am335x-pru-uio.dtsi" | 9 | SRC_URI_append_ti33x = " file://am335x-pru-uio.dtsi" |
7 | SRC_URI_append_ti43x = " file://am437x-pru-uio.dtsi" | 10 | SRC_URI_append_ti43x = " file://am437x-pru-uio.dtsi" |
8 | 11 | ||
@@ -12,9 +15,10 @@ DTSI_LIST_append_k2hk = " k2hk-uio.dtsi" | |||
12 | DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi" | 15 | DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi" |
13 | DTSI_LIST_append_k2e = " k2e-uio.dtsi" | 16 | DTSI_LIST_append_k2e = " k2e-uio.dtsi" |
14 | 17 | ||
15 | KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}" | 18 | KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb am571x-idk-pru-excl-uio.dtb", "", d)}" |
16 | KERNEL_DEVICETREE_append_ti33x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am335x-icev2-pru-excl-uio.dtb", "", d)}" | 19 | KERNEL_DEVICETREE_append_ti33x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am335x-icev2-pru-excl-uio.dtb", "", d)}" |
17 | KERNEL_DEVICETREE_append_ti43x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am437x-idk-pru-excl-uio.dtb", "", d)}" | 20 | KERNEL_DEVICETREE_append_ti43x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am437x-idk-pru-excl-uio.dtb", "", d)}" |
21 | KERNEL_DEVICETREE_append_k2g = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " keystone-k2g-ice-pru-excl-uio.dtb", "", d)}" | ||
18 | 22 | ||
19 | do_setup_uio() { | 23 | do_setup_uio() { |
20 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] | 24 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] |
@@ -40,6 +44,12 @@ do_setup_uio_append_am57xx-evm() { | |||
40 | cp ${S}/arch/arm/boot/dts/am572x-idk.dts ${S}/arch/arm/boot/dts/$dts | 44 | cp ${S}/arch/arm/boot/dts/am572x-idk.dts ${S}/arch/arm/boot/dts/$dts |
41 | cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ | 45 | cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ |
42 | echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts | 46 | echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts |
47 | |||
48 | dts="am571x-idk-pru-excl-uio.dts" | ||
49 | dtsi="am571x-pru-uio.dtsi" | ||
50 | cp ${S}/arch/arm/boot/dts/am571x-idk.dts ${S}/arch/arm/boot/dts/$dts | ||
51 | cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ | ||
52 | echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts | ||
43 | fi | 53 | fi |
44 | } | 54 | } |
45 | 55 | ||
@@ -67,4 +77,16 @@ do_setup_uio_append_ti43x() { | |||
67 | fi | 77 | fi |
68 | } | 78 | } |
69 | 79 | ||
80 | do_setup_uio_append_k2g() { | ||
81 | |||
82 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] | ||
83 | then | ||
84 | dts="keystone-k2g-ice-pru-excl-uio.dts" | ||
85 | dtsi="keystone-k2g-pru-uio.dtsi" | ||
86 | cp ${S}/arch/arm/boot/dts/keystone-k2g-ice.dts ${S}/arch/arm/boot/dts/$dts | ||
87 | cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ | ||
88 | echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts | ||
89 | fi | ||
90 | } | ||
91 | |||
70 | do_patch[postfuncs] += "do_setup_uio" | 92 | do_patch[postfuncs] += "do_setup_uio" |