summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGou, Hongmei <h-gou@ti.com>2017-06-23 04:09:25 +0000
committerDenys Dmytriyenko <denys@ti.com>2017-06-26 14:57:12 -0400
commit0bd61341b732ddacb4385b901483cde66e222112 (patch)
tree68f4506668ca56f91598b6c7387b58feeeb31c9c
parentec17a80bfe0f06c4a9dc9141c67f02474038dc19 (diff)
downloadmeta-ti-0bd61341b732ddacb4385b901483cde66e222112.tar.gz
linux-ti-staging: include pru-uio device tree files for am3/am4
* These device tree files are to support pruss with uio based drivers alone. The new dtbs are added only if ENABLE_TI_UIO_DEVICES is enabled. Signed-off-by: Hongmei Gou <h-gou@ti.com> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-rw-r--r--recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi192
-rw-r--r--recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi292
-rw-r--r--recipes-kernel/linux/ti-uio.inc28
3 files changed, 512 insertions, 0 deletions
diff --git a/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi b/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
new file mode 100644
index 00000000..2d9127b8
--- /dev/null
+++ b/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi
@@ -0,0 +1,192 @@
1&pruss_soc_bus {
2 uio_pruss_mdio: uio_pruss_mdio@4a332400 {
3 compatible = "ti,davinci_mdio";
4 reg = <0x4a332400 0x90>;
5 clocks = <&dpll_core_m4_ck>;
6 clock-names = "fck";
7 bus_freq = <1000000>;
8 #address-cells = <1>;
9 #size-cells = <0>;
10 status = "disabled";
11 };
12
13 uio_pruss_mem: uio_pruss_mem {
14 compatible = "ti,uio-module-drv";
15 mem = <0x4a300000 0x2000>,
16 <0x4a302000 0x2000>,
17 <0x4a310000 0x3000>,
18 <0x4a320000 0x2000>,
19 <0x4a326000 0x2000>,
20 <0x4a32e000 0x31c>,
21 <0x4a332000 0x58>;
22 mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
23 "iep", "mii_rt";
24
25 status = "okay";
26 };
27 uio_pruss_mem2: uio_pruss_mem2 {
28 compatible = "ti,uio-module-drv";
29 mem = <0x4a328000 0xd4>,
30 <0x4a330000 0x174>,
31 <0x4a332400 0x90>,
32 <0x40302000 0x0e000>;
33 mem-names = "uart", "ecap", "mdio", "ocmc";
34 status = "okay";
35 };
36
37 uio_pruss_evt0: uio_pruss_evt0 {
38 compatible = "ti,uio-module-drv";
39 interrupts = <20>;
40 interrupt-mode = <1>;
41 status = "okay";
42 };
43 uio_pruss_evt1: uio_pruss_evt1 {
44 compatible = "ti,uio-module-drv";
45 interrupts = <21>;
46 interrupt-mode = <1>;
47 status = "okay";
48 };
49 uio_pruss_evt2: uio_pruss_evt2 {
50 compatible = "ti,uio-module-drv";
51 interrupts = <22>;
52 interrupt-mode = <1>;
53 status = "okay";
54 };
55 uio_pruss_evt3: uio_pruss_evt3 {
56 compatible = "ti,uio-module-drv";
57 interrupts = <23>;
58 interrupt-mode = <1>;
59 status = "okay";
60 };
61 uio_pruss_evt4: uio_pruss_evt4 {
62 compatible = "ti,uio-module-drv";
63 interrupts = <24>;
64 interrupt-mode = <1>;
65 status = "okay";
66 };
67 uio_pruss_evt5: uio_pruss_evt5 {
68 compatible = "ti,uio-module-drv";
69 interrupts = <25>;
70 interrupt-mode = <1>;
71 status = "okay";
72 };
73 uio_pruss_evt6: uio_pruss_evt6 {
74 compatible = "ti,uio-module-drv";
75 interrupts = <26>;
76 interrupt-mode = <1>;
77 status = "okay";
78 };
79 uio_pruss_evt7: uio_pruss_evt7 {
80 compatible = "ti,uio-module-drv";
81 interrupts = <27>;
82 interrupt-mode = <1>;
83 status = "okay";
84 };
85
86 uio_pruss_0_mem: uio_pruss_0_mem {
87 compatible = "ti,uio-module-drv";
88 mem = <0x4a334000 0x2000>,
89 <0x4a322000 0x400>,
90 <0x4a322400 0x100>;
91 mem-names = "iram", "control", "debug";
92 status = "okay";
93 };
94
95 uio_pruss_1_mem: uio_pruss_1_mem {
96 compatible = "ti,uio-module-drv";
97 mem = <0x4a338000 0x2000>,
98 <0x4a324000 0x400>,
99 <0x4a324400 0x100>;
100 mem-names = "iram", "control", "debug";
101 status = "okay";
102 };
103};
104
105&am33xx_pinmux {
106 uio_pruss_mdio_eth_default: uio_pruss_mdio_eht_default {
107 pinctrl-single,pins = <
108 AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */
109 AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */
110 AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* gpmc_ben0_cle.gpio2_5 */
111 /* disable CPSW MDIO */
112 AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_data.gpio0_0 */
113 AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_clk.gpio0_1 */
114 AM33XX_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */
115 AM33XX_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */
116 AM33XX_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */
117 AM33XX_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */
118 AM33XX_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */
119 AM33XX_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */
120 AM33XX_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */
121 AM33XX_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */
122 AM33XX_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */
123 AM33XX_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */
124 AM33XX_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */
125 AM33XX_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */
126 AM33XX_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */
127 AM33XX_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */
128 AM33XX_IOPAD(0x8e8, (PIN_INPUT | MUX_MODE2)) /* dss_pclk.pr1_mii0_crs */
129
130 AM33XX_IOPAD(0x840, (PIN_INPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii_mt1_clk */
131 AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd0 */
132 AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd1 */
133 AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd2 */
134 AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_txd3 */
135 AM33XX_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd0 */
136 AM33XX_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii1_rxd1 */
137 AM33XX_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii1_rxd2 */
138 AM33XX_IOPAD(0x854, (PIN_INPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_rxd3 */
139 AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_txen */
140 AM33XX_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii_mr1_clk */
141 AM33XX_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxdv */
142 AM33XX_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxer */
143 AM33XX_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_ben1.pr1_mii1_rxlink */
144 AM33XX_IOPAD(0x8ec, (PIN_INPUT | MUX_MODE2)) /* lcd_ac_bias_en.pr1_mii1_crs */
145 AM33XX_IOPAD(0x870, (PIN_INPUT | MUX_MODE5)) /* gpmc_wait0.pr1_mii1_col */
146 >;
147 };
148};
149
150&uio_pruss_mdio {
151 pinctrl-0 = <&uio_pruss_mdio_eth_default>;
152 pinctrl-names = "default";
153 reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
154 reset-delay-us = <2>; /* PHY datasheet states 1uS min */
155 status = "okay";
156
157 uio_pruss_eth0_phy: ethernet-phy@1 {
158 reg = <1>;
159 };
160
161 uio_pruss_eth1_phy: ethernet-phy@3 {
162 reg = <3>;
163 };
164};
165
166&pruss {
167 status = "disabled";
168};
169
170&pru0 {
171 status = "disabled";
172};
173
174&pru1 {
175 status = "disabled";
176};
177
178&pruss_intc {
179 status = "disabled";
180};
181
182&pruss_mdio {
183 status = "disabled";
184};
185
186&pruss_emac0 {
187 status = "disabled";
188};
189
190&pruss_emac1 {
191 status = "disabled";
192};
diff --git a/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi b/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi
new file mode 100644
index 00000000..80993c4b
--- /dev/null
+++ b/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi
@@ -0,0 +1,292 @@
1&pruss_soc_bus {
2 uio_pruss2_mdio: uio_mdio@54432400 {
3 compatible = "ti,davinci_mdio";
4 reg = <0x54432400 0x90>;
5 clocks = <&dpll_core_m4_ck>;
6 clock-names = "fck";
7 bus_freq = <1000000>;
8 #address-cells = <1>;
9 #size-cells = <0>;
10 status = "disabled";
11 };
12
13 uio_pruss2_mem: uio_pruss2_mem {
14 compatible = "ti,uio-module-drv";
15 mem = <0x54400000 0x2000>,
16 <0x54402000 0x2000>,
17 <0x54410000 0x8000>,
18 <0x54420000 0x2000>,
19 <0x54426000 0x2000>,
20 <0x5442e000 0x31c>,
21 <0x54432000 0x58>;
22 mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
23 "iep", "mii_rt";
24 status = "okay";
25 };
26 uio_pruss2_mem2: uio_pruss2_mem2 {
27 compatible = "ti,uio-module-drv";
28 mem = <0x54428000 0x38>,
29 <0x54430000 0x60>,
30 <0x54432400 0x90>,
31 <0x40320000 0x20000>;
32 mem-names = "uart", "ecap", "mdio", "ocmc";
33 status = "okay";
34 };
35 uio_pruss2_evt0: uio_pruss2_evt0 {
36 compatible = "ti,uio-module-drv";
37 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
38 interrupt-mode = <1>;
39 status = "okay";
40 };
41 uio_pruss2_evt1: uio_pruss2_evt1 {
42 compatible = "ti,uio-module-drv";
43 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
44 interrupt-mode = <1>;
45 status = "okay";
46 };
47 uio_pruss2_evt2: uio_pruss2_evt2 {
48 compatible = "ti,uio-module-drv";
49 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
50 interrupt-mode = <1>;
51 status = "okay";
52 };
53 uio_pruss2_evt3: uio_pruss2_evt3 {
54 compatible = "ti,uio-module-drv";
55 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
56 interrupt-mode = <1>;
57 status = "okay";
58 };
59 uio_pruss2_evt4: uio_pruss2_evt4 {
60 compatible = "ti,uio-module-drv";
61 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
62 interrupt-mode = <1>;
63 status = "okay";
64 };
65 uio_pruss2_evt5: uio_pruss2_evt5 {
66 compatible = "ti,uio-module-drv";
67 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
68 interrupt-mode = <1>;
69 status = "okay";
70 };
71 uio_pruss2_evt6: uio_pruss2_evt6 {
72 compatible = "ti,uio-module-drv";
73 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
74 interrupt-mode = <1>;
75 status = "okay";
76 };
77 uio_pruss2_evt7: uio_pruss2_evt7 {
78 compatible = "ti,uio-module-drv";
79 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
80 interrupt-mode = <1>;
81 status = "okay";
82 };
83
84 uio_pruss2_0_mem: uio_pruss2_0_mem {
85 compatible = "ti,uio-module-drv";
86 mem = <0x54434000 0x3000>,
87 <0x54422000 0x400>,
88 <0x54422400 0x100>;
89 mem-names = "iram", "control", "debug";
90 status = "okay";
91 };
92
93 uio_pruss2_1_mem: uio_pruss2_1_mem {
94 compatible = "ti,uio-module-drv";
95 mem = <0x54438000 0x3000>,
96 <0x54424000 0x400>,
97 <0x54424400 0x100>;
98 mem-names = "iram", "control", "debug";
99 status = "okay";
100 };
101
102 uio_pruss1_mem: uio_pruss1_mem {
103 compatible = "ti,uio-module-drv";
104 mem = <0x54440000 0x1000>,
105 <0x54442000 0x1000>,
106 <0x54450000 0x8000>,
107 <0x54460000 0x2000>,
108 <0x54466000 0x2000>,
109 <0x5446e000 0x31c>,
110 <0x54472000 0x58>;
111 mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg",
112 "iep", "mii_rt";
113 status = "okay";
114 };
115 uio_pruss1_mem2: uio_pruss1_mem2 {
116 compatible = "ti,uio-module-drv";
117 mem = <0x54468000 0x38>,
118 <0x54470000 0x60>,
119 <0x54472400 0x90>,
120 <0x40302000 0x1e000>;
121 mem-names = "uart", "ecap", "mdio", "ocmc";
122 status = "okay";
123 };
124 uio_pruss1_evt0: uio_pruss1_evt0 {
125 compatible = "ti,uio-module-drv";
126 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
127 interrupt-mode = <1>;
128 status = "okay";
129 };
130 uio_pruss1_evt1: uio_pruss1_evt1 {
131 compatible = "ti,uio-module-drv";
132 interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
133 interrupt-mode = <1>;
134 status = "okay";
135 };
136 uio_pruss1_evt2: uio_pruss1_evt2 {
137 compatible = "ti,uio-module-drv";
138 interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
139 interrupt-mode = <1>;
140 status = "okay";
141 };
142 uio_pruss1_evt3: uio_pruss1_evt3 {
143 compatible = "ti,uio-module-drv";
144 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
145 interrupt-mode = <1>;
146 status = "okay";
147 };
148 uio_pruss1_evt4: uio_pruss1_evt4 {
149 compatible = "ti,uio-module-drv";
150 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
151 interrupt-mode = <1>;
152 status = "okay";
153 };
154 uio_pruss1_evt5: uio_pruss1_evt5 {
155 compatible = "ti,uio-module-drv";
156 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
157 interrupt-mode = <1>;
158 status = "okay";
159 };
160 uio_pruss1_evt6: uio_pruss1_evt6 {
161 compatible = "ti,uio-module-drv";
162 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
163 interrupt-mode = <1>;
164 status = "okay";
165 };
166 uio_pruss1_evt7: uio_pruss1_evt7 {
167 compatible = "ti,uio-module-drv";
168 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
169 interrupt-mode = <1>;
170 status = "okay";
171 };
172
173 uio_pruss1_0_mem: uio_pruss1_0_mem {
174 compatible = "ti,uio-module-drv";
175 mem = <0x54474000 0x1000>,
176 <0x54462000 0x400>,
177 <0x54462400 0x100>;
178 mem-names = "iram", "control", "debug";
179 status = "okay";
180 };
181 uio_pruss1_1_mem: uio_pruss1_1_mem {
182 compatible = "ti,uio-module-drv";
183 mem = <0x54478000 0x1000>,
184 <0x54464000 0x400>,
185 <0x54464400 0x100>;
186 mem-names = "iram", "control", "debug";
187 status = "okay";
188 };
189};
190
191&am43xx_pinmux {
192 uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default {
193 pinctrl-single,pins = <
194 AM4372_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */
195 AM4372_IOPAD(0xa70, (PIN_INPUT | MUX_MODE8)) /* xdma_event_intr0.pr1_mdio_data */
196 AM4372_IOPAD(0xa00, (PIN_INPUT_PULLUP | MUX_MODE7)) /* cam1_data6.gpio4_20 */
197 AM4372_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */
198 AM4372_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */
199 AM4372_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */
200 AM4372_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */
201 AM4372_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */
202 AM4372_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */
203 AM4372_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */
204 AM4372_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */
205 AM4372_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */
206 AM4372_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */
207 AM4372_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */
208 AM4372_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */
209 AM4372_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */
210 AM4372_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */
211 AM4372_IOPAD(0xa40, (PIN_INPUT | MUX_MODE5)) /* gpio5_10.pr1_mii0_crs */
212 AM4372_IOPAD(0xa38, (PIN_INPUT | MUX_MODE5)) /* gpio5_8.pr1_mii0_col */
213 AM4372_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii_mt1_clk */
214 AM4372_IOPAD(0x854, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_txd0 */
215 AM4372_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd1 */
216 AM4372_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd2 */
217 AM4372_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd3 */
218 AM4372_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxd0 */
219 AM4372_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxd1 */
220 AM4372_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii1_rxd2 */
221 AM4372_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd3 */
222 AM4372_IOPAD(0x840, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii1_txen */
223 AM4372_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii_mr1_clk */
224 AM4372_IOPAD(0x844, (PIN_INPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_rxdv */
225 AM4372_IOPAD(0x874, (PIN_INPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_rxer */
226 AM4372_IOPAD(0xa4c, (PIN_INPUT | MUX_MODE5)) /* gpio5_13.pr1_mii1_rxlink */
227 AM4372_IOPAD(0xa44, (PIN_INPUT | MUX_MODE5)) /* gpio5_11.pr1_mii1_crs */
228 AM4372_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_be1n.pr1_mii1_col */
229 >;
230 };
231};
232
233&uio_pruss2_mdio {
234 pinctrl-0 = <&uio_pruss2_mdio_eth_default>;
235 pinctrl-names = "default";
236 status = "okay";
237
238 reset-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
239 reset-delay-us = <2>; /* PHY datasheet states 1uS min */
240
241 uio_pruss2_eth0_phy: uio_ethernet-phy@0 {
242 reg = <0>;
243 };
244
245 uio_pruss2_eth1_phy: uio_ethernet-phy@1 {
246 reg = <1>;
247 };
248};
249
250&pruss1 {
251 status = "disabled";
252};
253
254&pru1_0 {
255 status = "disabled";
256};
257
258&pru1_1 {
259 status = "disabled";
260};
261
262&pruss1_intc {
263 status = "disabled";
264};
265
266&pruss1_mdio {
267 status = "disabled";
268};
269
270&pruss0 {
271 status = "disabled";
272};
273
274&pru0_0 {
275 status = "disabled";
276};
277
278&pru0_1 {
279 status = "disabled";
280};
281
282&pruss0_intc {
283 status = "disabled";
284};
285
286&pruss1_emac0 {
287 status = "disabled";
288};
289
290&pruss1_emac1 {
291 status = "disabled";
292};
diff --git a/recipes-kernel/linux/ti-uio.inc b/recipes-kernel/linux/ti-uio.inc
index 46153736..5c436376 100644
--- a/recipes-kernel/linux/ti-uio.inc
+++ b/recipes-kernel/linux/ti-uio.inc
@@ -3,6 +3,8 @@ SRC_URI_append_k2hk = " file://k2hk-uio.dtsi"
3SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi" 3SRC_URI_append_k2l-evm = " file://k2l-uio.dtsi"
4SRC_URI_append_k2e = " file://k2e-uio.dtsi" 4SRC_URI_append_k2e = " file://k2e-uio.dtsi"
5SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi" 5SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi"
6SRC_URI_append_ti33x = " file://am335x-pru-uio.dtsi"
7SRC_URI_append_ti43x = " file://am437x-pru-uio.dtsi"
6 8
7DTSI_LIST = "" 9DTSI_LIST = ""
8DTSI_LIST_append_keystone = " keystone-uio.dtsi" 10DTSI_LIST_append_keystone = " keystone-uio.dtsi"
@@ -11,6 +13,8 @@ DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi"
11DTSI_LIST_append_k2e = " k2e-uio.dtsi" 13DTSI_LIST_append_k2e = " k2e-uio.dtsi"
12 14
13KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}" 15KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}"
16KERNEL_DEVICETREE_append_ti33x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am335x-icev2-pru-excl-uio.dtb", "", d)}"
17KERNEL_DEVICETREE_append_ti43x = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am437x-idk-pru-excl-uio.dtb", "", d)}"
14 18
15do_setup_uio() { 19do_setup_uio() {
16 if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] 20 if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
@@ -39,4 +43,28 @@ do_setup_uio_append_am57xx-evm() {
39 fi 43 fi
40} 44}
41 45
46do_setup_uio_append_ti33x() {
47
48 if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
49 then
50 dts="am335x-icev2-pru-excl-uio.dts"
51 dtsi="am335x-pru-uio.dtsi"
52 cp ${S}/arch/arm/boot/dts/am335x-icev2.dts ${S}/arch/arm/boot/dts/$dts
53 cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/
54 echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts
55 fi
56}
57
58do_setup_uio_append_ti43x() {
59
60 if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ]
61 then
62 dts="am437x-idk-pru-excl-uio.dts"
63 dtsi="am437x-pru-uio.dtsi"
64 cp ${S}/arch/arm/boot/dts/am437x-idk-evm.dts ${S}/arch/arm/boot/dts/$dts
65 cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/
66 echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts
67 fi
68}
69
42do_patch[postfuncs] += "do_setup_uio" 70do_patch[postfuncs] += "do_setup_uio"