diff options
Diffstat (limited to 'recipes-kernel')
-rw-r--r-- | recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi | 191 | ||||
-rw-r--r-- | recipes-kernel/linux/ti-uio.inc | 15 |
2 files changed, 206 insertions, 0 deletions
diff --git a/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi new file mode 100644 index 00000000..577603a5 --- /dev/null +++ b/recipes-kernel/linux/files/dra7xx/am572x-pru-uio.dtsi | |||
@@ -0,0 +1,191 @@ | |||
1 | / { | ||
2 | ocp { | ||
3 | pruss2_eth { | ||
4 | status = "disabled"; | ||
5 | }; | ||
6 | uio_pruss1_mem: uio_pruss1_mem { | ||
7 | compatible = "ti,uio-module-drv"; | ||
8 | ti,hwmods = "pruss1"; | ||
9 | mem = <0x4b200000 0x2000>, | ||
10 | <0x4b202000 0x2000>, | ||
11 | <0x4b210000 0x8000>, | ||
12 | <0x4b220000 0x2000>, | ||
13 | <0x4b226000 0x2000>, | ||
14 | <0x4b22e000 0x31c>, | ||
15 | <0x4b232000 0x58>; | ||
16 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
17 | "iep", "mii_rt"; | ||
18 | status = "okay"; | ||
19 | }; | ||
20 | uio_pruss1_evt0: uio_pruss1_evt0 { | ||
21 | compatible = "ti,uio-module-drv"; | ||
22 | interrupts = <GIC_SPI 186 IRQ_TYPE_EDGE_RISING>; | ||
23 | status = "okay"; | ||
24 | }; | ||
25 | uio_pruss1_evt1: uio_pruss1_evt1 { | ||
26 | compatible = "ti,uio-module-drv"; | ||
27 | interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; | ||
28 | status = "okay"; | ||
29 | }; | ||
30 | uio_pruss1_evt2: uio_pruss1_evt2 { | ||
31 | compatible = "ti,uio-module-drv"; | ||
32 | interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>; | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | uio_pruss1_evt3: uio_pruss1_evt3 { | ||
36 | compatible = "ti,uio-module-drv"; | ||
37 | interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>; | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | uio_pruss1_evt4: uio_pruss1_evt4 { | ||
41 | compatible = "ti,uio-module-drv"; | ||
42 | interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>; | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | uio_pruss1_evt5: uio_pruss1_evt5 { | ||
46 | compatible = "ti,uio-module-drv"; | ||
47 | interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>; | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | uio_pruss1_evt6: uio_pruss1_evt6 { | ||
51 | compatible = "ti,uio-module-drv"; | ||
52 | interrupts = <GIC_SPI 192 IRQ_TYPE_EDGE_RISING>; | ||
53 | status = "okay"; | ||
54 | }; | ||
55 | uio_pruss1_evt7: uio_pruss1_evt7 { | ||
56 | compatible = "ti,uio-module-drv"; | ||
57 | interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | uio_pruss1_0_mem: uio_pruss1_0_mem { | ||
62 | compatible = "ti,uio-module-drv"; | ||
63 | mem = <0x4b234000 0x3000>, | ||
64 | <0x4b222000 0x400>, | ||
65 | <0x4b222400 0x100>; | ||
66 | mem-names = "iram", "control", "debug"; | ||
67 | status = "okay"; | ||
68 | }; | ||
69 | |||
70 | uio_pruss1_1_mem: uio_pruss1_1_mem { | ||
71 | compatible = "ti,uio-module-drv"; | ||
72 | mem = <0x4b238000 0x3000>, | ||
73 | <0x4b224000 0x400>, | ||
74 | <0x4b224400 0x100>; | ||
75 | mem-names = "iram", "control", "debug"; | ||
76 | status = "okay"; | ||
77 | }; | ||
78 | |||
79 | uio_pruss1_mdio: uio_pruss1_mdio { | ||
80 | compatible = "ti,uio-module-drv"; | ||
81 | mem = <0x4b232400 0x90>; | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | |||
85 | uio_pruss2_mem: uio_pruss2_mem { | ||
86 | compatible = "ti,uio-module-drv"; | ||
87 | ti,hwmods = "pruss2"; | ||
88 | mem = <0x4b280000 0x2000>, | ||
89 | <0x4b282000 0x2000>, | ||
90 | <0x4b290000 0x8000>, | ||
91 | <0x4b2a0000 0x2000>, | ||
92 | <0x4b2a6000 0x2000>, | ||
93 | <0x4b2ae000 0x31c>, | ||
94 | <0x4b2b2000 0x58>; | ||
95 | mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", | ||
96 | "iep", "mii_rt"; | ||
97 | status = "okay"; | ||
98 | }; | ||
99 | uio_pruss2_evt0: uio_pruss2_evt0 { | ||
100 | compatible = "ti,uio-module-drv"; | ||
101 | interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>; | ||
102 | status = "okay"; | ||
103 | }; | ||
104 | uio_pruss2_evt1: uio_pruss2_evt1 { | ||
105 | compatible = "ti,uio-module-drv"; | ||
106 | interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; | ||
107 | status = "okay"; | ||
108 | }; | ||
109 | uio_pruss2_evt2: uio_pruss2_evt2 { | ||
110 | compatible = "ti,uio-module-drv"; | ||
111 | interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>; | ||
112 | status = "okay"; | ||
113 | }; | ||
114 | uio_pruss2_evt3: uio_pruss2_evt3 { | ||
115 | compatible = "ti,uio-module-drv"; | ||
116 | interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>; | ||
117 | status = "okay"; | ||
118 | }; | ||
119 | uio_pruss2_evt4: uio_pruss2_evt4 { | ||
120 | compatible = "ti,uio-module-drv"; | ||
121 | interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>; | ||
122 | status = "okay"; | ||
123 | }; | ||
124 | uio_pruss2_evt5: uio_pruss2_evt5 { | ||
125 | compatible = "ti,uio-module-drv"; | ||
126 | interrupts = <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>; | ||
127 | status = "okay"; | ||
128 | }; | ||
129 | uio_pruss2_evt6: uio_pruss2_evt6 { | ||
130 | compatible = "ti,uio-module-drv"; | ||
131 | interrupts = <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>; | ||
132 | status = "okay"; | ||
133 | }; | ||
134 | uio_pruss2_evt7: uio_pruss2_evt7 { | ||
135 | compatible = "ti,uio-module-drv"; | ||
136 | interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>; | ||
137 | status = "okay"; | ||
138 | }; | ||
139 | |||
140 | uio_pruss2_0_mem: uio_pruss2_0_mem { | ||
141 | compatible = "ti,uio-module-drv"; | ||
142 | mem = <0x4b2b4000 0x3000>, | ||
143 | <0x4b2a2000 0x400>, | ||
144 | <0x4b2a2400 0x100>; | ||
145 | mem-names = "iram", "control", "debug"; | ||
146 | status = "okay"; | ||
147 | }; | ||
148 | uio_pruss2_1_mem: uio_pruss2_1_mem { | ||
149 | compatible = "ti,uio-module-drv"; | ||
150 | mem = <0x4b2b8000 0x3000>, | ||
151 | <0x4b2a4000 0x400>, | ||
152 | <0x4b2a4400 0x100>; | ||
153 | mem-names = "iram", "control", "debug"; | ||
154 | status = "okay"; | ||
155 | }; | ||
156 | uio_pruss2_mdio: uio_pruss2_mdio { | ||
157 | compatible = "ti,uio-module-drv"; | ||
158 | mem = <0x4b2b2400 0x90>; | ||
159 | mem-names = "mdio"; | ||
160 | status = "okay"; | ||
161 | }; | ||
162 | }; | ||
163 | }; | ||
164 | |||
165 | &pruss1 { | ||
166 | status = "disabled"; | ||
167 | }; | ||
168 | |||
169 | &pru1_0 { | ||
170 | status = "disabled"; | ||
171 | }; | ||
172 | |||
173 | &pru1_1 { | ||
174 | status = "disabled"; | ||
175 | }; | ||
176 | |||
177 | &pruss2 { | ||
178 | status = "disabled"; | ||
179 | }; | ||
180 | |||
181 | &pru2_0 { | ||
182 | status = "disabled"; | ||
183 | }; | ||
184 | |||
185 | &pru2_1 { | ||
186 | status = "disabled"; | ||
187 | }; | ||
188 | |||
189 | &pruss2_mdio { | ||
190 | status = "disabled"; | ||
191 | }; | ||
diff --git a/recipes-kernel/linux/ti-uio.inc b/recipes-kernel/linux/ti-uio.inc index 776e4a43..f038bc8d 100644 --- a/recipes-kernel/linux/ti-uio.inc +++ b/recipes-kernel/linux/ti-uio.inc | |||
@@ -2,6 +2,7 @@ SRC_URI_append_keystone = " file://keystone-uio.dtsi" | |||
2 | SRC_URI_append_k2hk-evm = " file://k2hk-uio.dtsi" | 2 | SRC_URI_append_k2hk-evm = " 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-evm = " file://k2e-uio.dtsi" | 4 | SRC_URI_append_k2e-evm = " file://k2e-uio.dtsi" |
5 | SRC_URI_append_am57xx-evm = " file://am572x-pru-uio.dtsi" | ||
5 | 6 | ||
6 | DTSI_LIST = "" | 7 | DTSI_LIST = "" |
7 | DTSI_LIST_append_keystone = " keystone-uio.dtsi" | 8 | DTSI_LIST_append_keystone = " keystone-uio.dtsi" |
@@ -9,6 +10,8 @@ DTSI_LIST_append_k2hk-evm = " k2hk-uio.dtsi" | |||
9 | DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi" | 10 | DTSI_LIST_append_k2l-evm = " k2l-uio.dtsi" |
10 | DTSI_LIST_append_k2e-evm = " k2e-uio.dtsi" | 11 | DTSI_LIST_append_k2e-evm = " k2e-uio.dtsi" |
11 | 12 | ||
13 | KERNEL_DEVICETREE_append_am57xx-evm = "${@base_conditional("ENABLE_TI_UIO_DEVICES", "1", " am572x-idk-pru-excl-uio.dtb", "", d)}" | ||
14 | |||
12 | do_setup_uio() { | 15 | do_setup_uio() { |
13 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] | 16 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] |
14 | then | 17 | then |
@@ -24,4 +27,16 @@ do_setup_uio() { | |||
24 | fi | 27 | fi |
25 | } | 28 | } |
26 | 29 | ||
30 | do_setup_uio_append_am57xx-evm() { | ||
31 | |||
32 | if [ "${ENABLE_TI_UIO_DEVICES}" == "1" ] | ||
33 | then | ||
34 | dts="am572x-idk-pru-excl-uio.dts" | ||
35 | dtsi="am572x-pru-uio.dtsi" | ||
36 | cp ${S}/arch/arm/boot/dts/am572x-idk.dts ${S}/arch/arm/boot/dts/$dts | ||
37 | cp ${WORKDIR}/${dtsi} ${S}/arch/arm/boot/dts/ | ||
38 | echo "#include \"${dtsi}\"" >> ${S}/arch/arm/boot/dts/$dts | ||
39 | fi | ||
40 | } | ||
41 | |||
27 | do_patch[postfuncs] += "do_setup_uio" | 42 | do_patch[postfuncs] += "do_setup_uio" |