diff options
author | Sam Nelson <sam.nelson@ti.com> | 2016-05-17 17:54:12 +0000 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2016-05-18 16:50:38 -0400 |
commit | 2a8d94c1fa963dfc8c1aa77d9869ad2315fac7db (patch) | |
tree | 3dfa661cf9918eef9135ff76aba044399d433f66 /recipes-kernel | |
parent | 8166221b76b223768a005af3992d3edcc452dc82 (diff) | |
download | meta-ti-2a8d94c1fa963dfc8c1aa77d9869ad2315fac7db.tar.gz |
linux-ti-staging: Add new device tree target am572x-idk-pru-excl-uio.dtb
This new device tree file is to support pruss with uio based drivers
alone.
Adds uio entries for pruss susbsystem and disables other drivers
controlling the same.
New dtb is added only if ENABLE_TI_UIO_DEVICES is enabled.
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
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" |