diff options
Diffstat (limited to 'docs/README.dfx.user.dts.md')
-rw-r--r-- | docs/README.dfx.user.dts.md | 326 |
1 files changed, 247 insertions, 79 deletions
diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 69e1e52b..724c1692 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md | |||
@@ -16,11 +16,12 @@ following use cases. | |||
16 | > **Note:** Refer https://github.com/Xilinx/dfx-mgr/blob/master/README.md for | 16 | > **Note:** Refer https://github.com/Xilinx/dfx-mgr/blob/master/README.md for |
17 | > shell.json and accel.json file content. | 17 | > shell.json and accel.json file content. |
18 | 18 | ||
19 | * **Zynq-7000 and ZynqMP**: | 19 | * **Zynq 7000, ZynqMP and Versal**: |
20 | * Design: Vivado flat design. | 20 | * Design: Vivado flat or Segmented Configuration design. |
21 | * Input files to firmware recipes: .bit, .dtsi or dtbo and shell.json (optional) | 21 | * Input files to firmware recipes: .bit or .bin or _pld.pdi, .dtsi or dtbo and shell.json (optional) |
22 | * Usage Examples: | 22 | * Usage Examples: |
23 | ``` | 23 | ``` |
24 | # Zynq 7000 or ZynqMP flat design | ||
24 | SRC_URI = " \ | 25 | SRC_URI = " \ |
25 | file://<flat_design_pl>.bit \ | 26 | file://<flat_design_pl>.bit \ |
26 | file://<flat_design_pl>.dtsi \ | 27 | file://<flat_design_pl>.dtsi \ |
@@ -29,6 +30,7 @@ SRC_URI = " \ | |||
29 | ``` | 30 | ``` |
30 | 31 | ||
31 | ``` | 32 | ``` |
33 | # Zynq 7000 or ZynqMP flat design | ||
32 | SRC_URI = " \ | 34 | SRC_URI = " \ |
33 | file://<flat_design_pl>.bit \ | 35 | file://<flat_design_pl>.bit \ |
34 | file://<flat_design_pl>.dtbo \ | 36 | file://<flat_design_pl>.dtbo \ |
@@ -36,9 +38,69 @@ SRC_URI = " \ | |||
36 | " | 38 | " |
37 | ``` | 39 | ``` |
38 | 40 | ||
41 | ``` | ||
42 | # Zynq 7000 or ZynqMP flat design | ||
43 | SRC_URI = " \ | ||
44 | file://<flat_design_pl>.bin \ | ||
45 | file://<flat_design_pl>.dtsi \ | ||
46 | file://shell.json \ | ||
47 | " | ||
48 | ``` | ||
49 | |||
50 | ``` | ||
51 | # Zynq 7000 or ZynqMP flat design | ||
52 | SRC_URI = " \ | ||
53 | file://<flat_design_pl>.bin \ | ||
54 | file://<flat_design_pl>.dtbo \ | ||
55 | file://shell.json \ | ||
56 | " | ||
57 | ``` | ||
58 | |||
59 | ``` | ||
60 | # Zynq 7000 or ZynqMP flat design | ||
61 | SRC_URI = " \ | ||
62 | file://<flat_design_pl>.bit \ | ||
63 | file://shell.json \ | ||
64 | " | ||
65 | ``` | ||
66 | |||
67 | ``` | ||
68 | # Zynq 7000 or ZynqMP flat design | ||
69 | SRC_URI = " \ | ||
70 | file://<flat_design_pl>.bin \ | ||
71 | file://shell.json \ | ||
72 | " | ||
73 | ``` | ||
74 | |||
75 | ``` | ||
76 | # Versal Segmented Configuration design | ||
77 | SRC_URI = " \ | ||
78 | file://<flat_design>_pld.pdi \ | ||
79 | file://<flat_design>_pld.dtsi \ | ||
80 | file://shell.json \ | ||
81 | " | ||
82 | ``` | ||
83 | |||
84 | ``` | ||
85 | # Versal Segmented Configuration design | ||
86 | SRC_URI = " \ | ||
87 | file://<flat_design>_pld.pdi \ | ||
88 | file://<flat_design>_pld.dtbo \ | ||
89 | file://shell.json \ | ||
90 | " | ||
91 | ``` | ||
92 | |||
93 | ``` | ||
94 | # Versal Segmented Configuration design | ||
95 | SRC_URI = " \ | ||
96 | file://<flat_design>_pld.pdi \ | ||
97 | file://shell.json \ | ||
98 | " | ||
99 | ``` | ||
100 | |||
39 | * **ZynqMP and Versal**: | 101 | * **ZynqMP and Versal**: |
40 | * Design: Vivado DFx design. | 102 | * Design: Vivado DFx design. |
41 | * Input files to firmware recipes: .bit(ZynqMP) or .pdi(Versal), .dtsi or dtbo | 103 | * Input files to firmware recipes: .bit/bin(ZynqMP) or .pdi(Versal), .dtsi or dtbo |
42 | shell.json or accel.json (optional) and .xclbin (optional). | 104 | shell.json or accel.json (optional) and .xclbin (optional). |
43 | * Usage Examples: | 105 | * Usage Examples: |
44 | 106 | ||
@@ -63,6 +125,44 @@ SRC_URI = " \ | |||
63 | ``` | 125 | ``` |
64 | 126 | ||
65 | ``` | 127 | ``` |
128 | # ZynqMP DFx Static | ||
129 | SRC_URI = " \ | ||
130 | file://<dfx_design_static_pl>.bin \ | ||
131 | file://<dfx_design_static_pl>.dtsi \ | ||
132 | file://shell.json \ | ||
133 | file://<dfx_design_static_pl>.xclbin \ | ||
134 | " | ||
135 | ``` | ||
136 | |||
137 | ``` | ||
138 | # ZynqMP DFx Static | ||
139 | SRC_URI = " \ | ||
140 | file://<dfx_design_static_pl>.bin \ | ||
141 | file://<dfx_design_static_pl>.dtbo \ | ||
142 | file://shell.json \ | ||
143 | file://<dfx_design_static_pl>.xclbin \ | ||
144 | " | ||
145 | ``` | ||
146 | |||
147 | ``` | ||
148 | # ZynqMP DFx Static | ||
149 | SRC_URI = " \ | ||
150 | file://<dfx_design_static_pl>.bit \ | ||
151 | file://shell.json \ | ||
152 | file://<dfx_design_static_pl>.xclbin \ | ||
153 | " | ||
154 | ``` | ||
155 | |||
156 | ``` | ||
157 | # ZynqMP DFx Static | ||
158 | SRC_URI = " \ | ||
159 | file://<dfx_design_static_pl>.bin \ | ||
160 | file://shell.json \ | ||
161 | file://<dfx_design_static_pl>.xclbin \ | ||
162 | " | ||
163 | ``` | ||
164 | |||
165 | ``` | ||
66 | # ZynqMP DFx RP | 166 | # ZynqMP DFx RP |
67 | SRC_URI = " \ | 167 | SRC_URI = " \ |
68 | file://<dfx_design_rp_rm_pl>.bit \ | 168 | file://<dfx_design_rp_rm_pl>.bit \ |
@@ -81,6 +181,45 @@ SRC_URI = " \ | |||
81 | file://<dfx_design_rp_rm_pl>.xclbin \ | 181 | file://<dfx_design_rp_rm_pl>.xclbin \ |
82 | " | 182 | " |
83 | ``` | 183 | ``` |
184 | |||
185 | ``` | ||
186 | # ZynqMP DFx RP | ||
187 | SRC_URI = " \ | ||
188 | file://<dfx_design_rp_rm_pl>.bin \ | ||
189 | file://<dfx_design_rp_rm_pl>.dtsi \ | ||
190 | file://accel.json \ | ||
191 | file://<dfx_design_rp_rm_pl>.xclbin \ | ||
192 | " | ||
193 | ``` | ||
194 | |||
195 | ``` | ||
196 | # ZynqMP DFx RP | ||
197 | SRC_URI = " \ | ||
198 | file://<dfx_design_rp_rm_pl>.bin \ | ||
199 | file://<dfx_design_rp_rm_pl>.dtbo \ | ||
200 | file://accel.json \ | ||
201 | file://<dfx_design_rp_rm_pl>.xclbin \ | ||
202 | " | ||
203 | ``` | ||
204 | |||
205 | ``` | ||
206 | # ZynqMP DFx RP | ||
207 | SRC_URI = " \ | ||
208 | file://<dfx_design_rp_rm_pl>.bit \ | ||
209 | file://accel.json \ | ||
210 | file://<dfx_design_rp_rm_pl>.xclbin \ | ||
211 | " | ||
212 | ``` | ||
213 | |||
214 | ``` | ||
215 | # ZynqMP DFx RP | ||
216 | SRC_URI = " \ | ||
217 | file://<dfx_design_rp_rm_pl>.bin \ | ||
218 | file://accel.json \ | ||
219 | file://<dfx_design_rp_rm_pl>.xclbin \ | ||
220 | " | ||
221 | ``` | ||
222 | |||
84 | ``` | 223 | ``` |
85 | # Versal DFx Static | 224 | # Versal DFx Static |
86 | SRC_URI = " \ | 225 | SRC_URI = " \ |
@@ -102,6 +241,15 @@ SRC_URI = " \ | |||
102 | ``` | 241 | ``` |
103 | 242 | ||
104 | ``` | 243 | ``` |
244 | # Versal DFx Static | ||
245 | SRC_URI = " \ | ||
246 | file://<dfx_design_static_pl>.pdi \ | ||
247 | file://shell.json \ | ||
248 | file://<dfx_design_static_pl>.xclbin \ | ||
249 | " | ||
250 | ``` | ||
251 | |||
252 | ``` | ||
105 | # Versal DFx RP | 253 | # Versal DFx RP |
106 | SRC_URI = " \ | 254 | SRC_URI = " \ |
107 | file://<dfx_design_rp_rm_pl>.pdi \ | 255 | file://<dfx_design_rp_rm_pl>.pdi \ |
@@ -120,16 +268,29 @@ SRC_URI = " \ | |||
120 | file://<dfx_design_rp_rm_pl>.xclbin \ | 268 | file://<dfx_design_rp_rm_pl>.xclbin \ |
121 | " | 269 | " |
122 | ``` | 270 | ``` |
271 | |||
272 | ``` | ||
273 | # Versal DFx RP | ||
274 | SRC_URI = " \ | ||
275 | file://<dfx_design_rp_rm_pl>.pdi \ | ||
276 | file://accel.json \ | ||
277 | file://<dfx_design_rp_rm_pl>.xclbin \ | ||
278 | " | ||
279 | ``` | ||
123 | --- | 280 | --- |
124 | 281 | ||
125 | ## How to create a firmware recipe app | 282 | ## How to create a firmware recipe app |
126 | 283 | ||
127 | 1. Follow [Building Instructions](../README.building.md) upto step 4. | 284 | 1. Follow SDT or XSCT Build instructions whichever build method is used but not |
128 | 2. Create recipes-firmware directory in meta layer and copy the .bit/pdi, | 285 | both. |
286 | a. [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md) upto step 4. | ||
287 | b. [XSCT Building Instructions](../README.building.md) | ||
288 | upto step 4.b (With SDT overlay). | ||
289 | 2. Create recipes-firmware directory in meta layer and copy the .bit/bin/pdi, | ||
129 | .dtsi/dtbo, .json and .xclbin file to these directories. | 290 | .dtsi/dtbo, .json and .xclbin file to these directories. |
130 | ``` | 291 | ``` |
131 | $ mkdir -p <meta-layer>/recipes-firmware/<recipes-firmware-app>/files | 292 | $ mkdir -p <meta-layer>/recipes-firmware/<recipes-firmware-app>/files |
132 | $ cp -r <path-to-files>/*.{bit or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} <meta-layer>/recipes-firmware/<firmware-app-name>/files | 293 | $ cp -r <path-to-files>/*.{bit or bin or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} <meta-layer>/recipes-firmware/<firmware-app-name>/files |
133 | ``` | 294 | ``` |
134 | 3. Now create the recipes for flat or static or partial firmware using recipetool. | 295 | 3. Now create the recipes for flat or static or partial firmware using recipetool. |
135 | ``` | 296 | ``` |
@@ -144,8 +305,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
144 | inherit dfx_user_dts | 305 | inherit dfx_user_dts |
145 | 306 | ||
146 | SRC_URI = "\ | 307 | SRC_URI = "\ |
147 | file://zcu111-pl-demo.bit \ | 308 | file://shell.json \ |
148 | file://zcu111-pl-demo.dtsi \ | 309 | file://zcu111-pl-demo-user-dts.bit \ |
310 | file://zcu111-pl-demo-user-dts.dtsi \ | ||
149 | " | 311 | " |
150 | 312 | ||
151 | COMPATIBLE_MACHINE ?= "^$" | 313 | COMPATIBLE_MACHINE ?= "^$" |
@@ -153,7 +315,7 @@ COMPATIBLE_MACHINE:zynqmp = "zynqmp" | |||
153 | ``` | 315 | ``` |
154 | 5. Add firmware-recipe app to image and enable fpga-overlay machine features to | 316 | 5. Add firmware-recipe app to image and enable fpga-overlay machine features to |
155 | local.conf as shown below. | 317 | local.conf as shown below. |
156 | > **Note:** fpga-manager-script provides fpgautil tool to load .bit/pdi and dtbo | 318 | > **Note:** fpga-manager-script provides fpgautil tool to load .bin/pdi and dtbo |
157 | > at runtime linux. | 319 | > at runtime linux. |
158 | ``` | 320 | ``` |
159 | MACHINE_FEATURES += "fpga-overlay" | 321 | MACHINE_FEATURES += "fpga-overlay" |
@@ -162,7 +324,11 @@ IMAGE_INSTALL:append = " \ | |||
162 | fpga-manager-script \ | 324 | fpga-manager-script \ |
163 | " | 325 | " |
164 | ``` | 326 | ``` |
165 | 6. Follow [Building Instructions](../README.building.md) and continue from step 5. | 327 | 6. Follow SDT or XSCT Build instructions whichever build method is used but not |
328 | both. | ||
329 | a. [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md ) and continue from step 5. | ||
330 | b. [XSCT Building Instructions](../README.building.md) | ||
331 | and continue from step 5. | ||
166 | 7. Once images are built firmware app files will be installed on target_rootfs. | 332 | 7. Once images are built firmware app files will be installed on target_rootfs. |
167 | ``` | 333 | ``` |
168 | # <target_rootfs>/lib/firmware/xilinx/firmware-app-name | 334 | # <target_rootfs>/lib/firmware/xilinx/firmware-app-name |
@@ -170,7 +336,7 @@ IMAGE_INSTALL:append = " \ | |||
170 | --- | 336 | --- |
171 | 337 | ||
172 | ## Test Procedure on Target | 338 | ## Test Procedure on Target |
173 | * Once Linux boots on target, use fpgautil command to load .bit or .pdi and | 339 | * Once Linux boots on target, use fpgautil command to load .bin or .pdi and |
174 | corresponding dt overlay as shown below. | 340 | corresponding dt overlay as shown below. |
175 | > **Note:** firmware can be loaded only with sudo or root permissions. | 341 | > **Note:** firmware can be loaded only with sudo or root permissions. |
176 | --- | 342 | --- |
@@ -179,11 +345,11 @@ IMAGE_INSTALL:append = " \ | |||
179 | 345 | ||
180 | * ZynqMP | 346 | * ZynqMP |
181 | ``` | 347 | ``` |
182 | yocto-zynqmp-generic-20231:~$ sudo su | 348 | yocto-zynqmp-generic:~$ sudo su |
183 | yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | 349 | yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts |
184 | CPU0 CPU1 CPU2 CPU3 | 350 | CPU0 CPU1 CPU2 CPU3 |
185 | 11: 13309 13021 13673 14170 GICv2 30 Level arch_timer | 351 | 11: 5820 5482 14979 6981 GICv2 30 Level arch_timer |
186 | 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi | 352 | 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi |
187 | 15: 0 0 0 0 GICv2 175 Level arm-pmu | 353 | 15: 0 0 0 0 GICv2 175 Level arm-pmu |
188 | 16: 0 0 0 0 GICv2 176 Level arm-pmu | 354 | 16: 0 0 0 0 GICv2 176 Level arm-pmu |
189 | 17: 0 0 0 0 GICv2 177 Level arm-pmu | 355 | 17: 0 0 0 0 GICv2 177 Level arm-pmu |
@@ -193,7 +359,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
193 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller | 359 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller |
194 | 22: 0 0 0 0 GICv2 88 Level ams-irq | 360 | 22: 0 0 0 0 GICv2 88 Level ams-irq |
195 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon | 361 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon |
196 | 24: 327 0 0 0 GICv2 53 Level xuartps | 362 | 24: 366 0 0 0 GICv2 53 Level xuartps |
197 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma | 363 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma |
198 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma | 364 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma |
199 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma | 365 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma |
@@ -212,54 +378,55 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
212 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma | 378 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma |
213 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller | 379 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller |
214 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi | 380 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi |
215 | 45: 76 0 0 0 GICv2 95 Level eth0, eth0 | 381 | 45: 325 0 0 0 GICv2 95 Level eth0, eth0 |
216 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon | 382 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon |
217 | 47: 4802 0 0 0 GICv2 49 Level cdns-i2c | 383 | 47: 2798 0 0 0 GICv2 49 Level cdns-i2c |
218 | 48: 501 0 0 0 GICv2 50 Level cdns-i2c | 384 | 48: 326 0 0 0 GICv2 50 Level cdns-i2c |
219 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog | 385 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog |
220 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display | 386 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display |
221 | 52: 548 0 0 0 GICv2 81 Level mmc0 | 387 | 52: 551 0 0 0 GICv2 81 Level mmc0 |
222 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] | 388 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] |
223 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 | 389 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 |
224 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 | 390 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 |
225 | IPI0: 64 25 87 38 Rescheduling interrupts | 391 | IPI0: 51 94 136 48 Rescheduling interrupts |
226 | IPI1: 1933 6579 1096 5686 Function call interrupts | 392 | IPI1: 2295 6271 2952 873 Function call interrupts |
227 | IPI2: 0 0 0 0 CPU stop interrupts | 393 | IPI2: 0 0 0 0 CPU stop interrupts |
228 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts | 394 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts |
229 | IPI4: 0 0 0 0 Timer broadcast interrupts | 395 | IPI4: 0 0 0 0 Timer broadcast interrupts |
230 | IPI5: 0 0 0 0 IRQ work interrupts | 396 | IPI5: 0 0 0 0 IRQ work interrupts |
231 | IPI6: 0 0 0 0 CPU wake-up interrupts | 397 | IPI6: 0 0 0 0 CPU wake-up interrupts |
232 | Err: 0 | 398 | Err: 0 |
233 | yocto-zynqmp-generic-20231:/home/petalinux# tree /lib/firmware/ | 399 | yocto-zynqmp-generic:/home/petalinux# tree /lib/firmware/ |
234 | /lib/firmware/ | 400 | /lib/firmware/ |
235 | `-- xilinx | 401 | `-- xilinx |
236 | `-- zcu111-pl-demo | 402 | `-- zcu111-pl-demo-user-dts |
237 | |-- zcu111-pl-demo.bit.bin | 403 | |-- shell.json |
238 | `-- zcu111-pl-demo.dtbo | 404 | |-- zcu111-pl-demo-user-dts.bin |
239 | 405 | `-- zcu111-pl-demo-user-dts.dtbo | |
240 | 2 directories, 2 files | 406 | |
241 | yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.bit -o /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.dtbo | 407 | 2 directories, 3 files |
242 | [ 91.039773] fpga_manager fpga0: writing zcu111-pl-demo.bit to Xilinx ZynqMP FPGA Manager | 408 | yocto-zynqmp-generic:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.bin -o /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.dtbo |
243 | [ 91.528214] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name | 409 | [ 370.737539] fpga_manager fpga0: writing zcu111-pl-demo-user-dts.bin to Xilinx ZynqMP FPGA Manager |
244 | [ 91.538354] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid | 410 | [ 370.960368] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name |
245 | [ 91.547598] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets | 411 | [ 370.970508] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid |
246 | [ 91.557087] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid | 412 | [ 370.979755] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets |
247 | [ 91.566804] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 | 413 | [ 370.989244] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid |
248 | [ 91.576312] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 | 414 | [ 370.998947] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 |
249 | [ 91.586255] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 | 415 | [ 371.008449] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 |
250 | [ 91.596280] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 | 416 | [ 371.018398] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 |
251 | [ 91.606300] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 | 417 | [ 371.028420] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 |
252 | [ 91.616325] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 | 418 | [ 371.038442] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 |
253 | [ 91.626342] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 | 419 | [ 371.048467] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 |
254 | [ 91.636705] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 | 420 | [ 371.058487] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 |
255 | [ 91.661849] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! | 421 | [ 371.068852] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 |
256 | [ 91.662020] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! | 422 | [ 371.096047] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! |
257 | [ 91.863492] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite | 423 | [ 371.096223] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! |
258 | [ 91.876674] uartlite a0030000.serial: Runtime PM usage count underflow! | 424 | [ 371.115206] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite |
259 | [ 91.906539] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input1 | 425 | [ 371.124178] uartlite a0030000.serial: Runtime PM usage count underflow! |
260 | Time taken to load BIN is 901.000000 Milli Seconds | 426 | [ 371.133186] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input1 |
427 | Time taken to load BIN is 409.000000 Milli Seconds | ||
261 | BIN FILE loaded through FPGA manager successfully | 428 | BIN FILE loaded through FPGA manager successfully |
262 | yocto-zynqmp-generic-20231:/home/petalinux# | 429 | yocto-zynqmp-generic:/home/petalinux# |
263 | ``` | 430 | ``` |
264 | * Versal (DFx Static) | 431 | * Versal (DFx Static) |
265 | ``` | 432 | ``` |
@@ -324,10 +491,10 @@ root@yocto-vck190-dfx-2023:~# | |||
324 | * Verify PL GPIO DIP switches and Push buttons are registered. | 491 | * Verify PL GPIO DIP switches and Push buttons are registered. |
325 | * Move the DIP Switches ON/OFF and verify the interrupt counts. | 492 | * Move the DIP Switches ON/OFF and verify the interrupt counts. |
326 | ``` | 493 | ``` |
327 | yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | 494 | yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts |
328 | CPU0 CPU1 CPU2 CPU3 | 495 | CPU0 CPU1 CPU2 CPU3 |
329 | 11: 23303 22971 24203 24990 GICv2 30 Level arch_timer | 496 | 11: 7674 7136 20210 8226 GICv2 30 Level arch_timer |
330 | 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi | 497 | 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi |
331 | 15: 0 0 0 0 GICv2 175 Level arm-pmu | 498 | 15: 0 0 0 0 GICv2 175 Level arm-pmu |
332 | 16: 0 0 0 0 GICv2 176 Level arm-pmu | 499 | 16: 0 0 0 0 GICv2 176 Level arm-pmu |
333 | 17: 0 0 0 0 GICv2 177 Level arm-pmu | 500 | 17: 0 0 0 0 GICv2 177 Level arm-pmu |
@@ -337,7 +504,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
337 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller | 504 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller |
338 | 22: 0 0 0 0 GICv2 88 Level ams-irq | 505 | 22: 0 0 0 0 GICv2 88 Level ams-irq |
339 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon | 506 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon |
340 | 24: 515 0 0 0 GICv2 53 Level xuartps | 507 | 24: 1143 0 0 0 GICv2 53 Level xuartps |
341 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma | 508 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma |
342 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma | 509 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma |
343 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma | 510 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma |
@@ -356,13 +523,13 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
356 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma | 523 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma |
357 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller | 524 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller |
358 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi | 525 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi |
359 | 45: 110 0 0 0 GICv2 95 Level eth0, eth0 | 526 | 45: 485 0 0 0 GICv2 95 Level eth0, eth0 |
360 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon | 527 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon |
361 | 47: 4802 0 0 0 GICv2 49 Level cdns-i2c | 528 | 47: 2798 0 0 0 GICv2 49 Level cdns-i2c |
362 | 48: 501 0 0 0 GICv2 50 Level cdns-i2c | 529 | 48: 326 0 0 0 GICv2 50 Level cdns-i2c |
363 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog | 530 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog |
364 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display | 531 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display |
365 | 52: 548 0 0 0 GICv2 81 Level mmc0 | 532 | 52: 551 0 0 0 GICv2 81 Level mmc0 |
366 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] | 533 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] |
367 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 | 534 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 |
368 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 | 535 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 |
@@ -379,18 +546,19 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
379 | 69: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 | 546 | 69: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 |
380 | 70: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 | 547 | 70: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 |
381 | 71: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 | 548 | 71: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 |
382 | IPI0: 64 25 87 38 Rescheduling interrupts | 549 | IPI0: 64 106 160 56 Rescheduling interrupts |
383 | IPI1: 2066 6747 1212 5791 Function call interrupts | 550 | IPI1: 2712 6721 3259 998 Function call interrupts |
384 | IPI2: 0 0 0 0 CPU stop interrupts | 551 | IPI2: 0 0 0 0 CPU stop interrupts |
385 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts | 552 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts |
386 | IPI4: 0 0 0 0 Timer broadcast interrupts | 553 | IPI4: 0 0 0 0 Timer broadcast interrupts |
387 | IPI5: 0 0 0 0 IRQ work interrupts | 554 | IPI5: 0 0 0 0 IRQ work interrupts |
388 | IPI6: 0 0 0 0 CPU wake-up interrupts | 555 | IPI6: 0 0 0 0 CPU wake-up interrupts |
389 | Err: 0 | 556 | Err: 0 |
390 | yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | 557 | yocto-zcu111-zynqmp:/home/petalinux# |
558 | yocto-zcu111-zynqmp:/home/petalinux# cat /proc/interrupts | ||
391 | CPU0 CPU1 CPU2 CPU3 | 559 | CPU0 CPU1 CPU2 CPU3 |
392 | 11: 28169 27725 29250 30190 GICv2 30 Level arch_timer | 560 | 11: 8530 7717 22106 8626 GICv2 30 Level arch_timer |
393 | 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi | 561 | 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi |
394 | 15: 0 0 0 0 GICv2 175 Level arm-pmu | 562 | 15: 0 0 0 0 GICv2 175 Level arm-pmu |
395 | 16: 0 0 0 0 GICv2 176 Level arm-pmu | 563 | 16: 0 0 0 0 GICv2 176 Level arm-pmu |
396 | 17: 0 0 0 0 GICv2 177 Level arm-pmu | 564 | 17: 0 0 0 0 GICv2 177 Level arm-pmu |
@@ -400,7 +568,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
400 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller | 568 | 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller |
401 | 22: 0 0 0 0 GICv2 88 Level ams-irq | 569 | 22: 0 0 0 0 GICv2 88 Level ams-irq |
402 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon | 570 | 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon |
403 | 24: 603 0 0 0 GICv2 53 Level xuartps | 571 | 24: 1234 0 0 0 GICv2 53 Level xuartps |
404 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma | 572 | 27: 0 0 0 0 GICv2 156 Level zynqmp-dma |
405 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma | 573 | 28: 0 0 0 0 GICv2 157 Level zynqmp-dma |
406 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma | 574 | 29: 0 0 0 0 GICv2 158 Level zynqmp-dma |
@@ -419,45 +587,45 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts | |||
419 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma | 587 | 42: 0 0 0 0 GICv2 116 Level zynqmp-dma |
420 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller | 588 | 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller |
421 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi | 589 | 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi |
422 | 45: 134 0 0 0 GICv2 95 Level eth0, eth0 | 590 | 45: 527 0 0 0 GICv2 95 Level eth0, eth0 |
423 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon | 591 | 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon |
424 | 47: 4802 0 0 0 GICv2 49 Level cdns-i2c | 592 | 47: 2798 0 0 0 GICv2 49 Level cdns-i2c |
425 | 48: 501 0 0 0 GICv2 50 Level cdns-i2c | 593 | 48: 326 0 0 0 GICv2 50 Level cdns-i2c |
426 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog | 594 | 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog |
427 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display | 595 | 51: 0 0 0 0 GICv2 151 Level fd4a0000.display |
428 | 52: 548 0 0 0 GICv2 81 Level mmc0 | 596 | 52: 551 0 0 0 GICv2 81 Level mmc0 |
429 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] | 597 | 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] |
430 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 | 598 | 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 |
431 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 | 599 | 55: 0 0 0 0 zynq-gpio 22 Edge sw19 |
432 | 59: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N | 600 | 59: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N |
433 | 60: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E | 601 | 60: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E |
434 | 61: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S | 602 | 61: 6 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S |
435 | 62: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W | 603 | 62: 4 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W |
436 | 63: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C | 604 | 63: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C |
437 | 64: 2 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 | 605 | 64: 20 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 |
438 | 65: 2 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 | 606 | 65: 20 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 |
439 | 66: 4 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 | 607 | 66: 2 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 |
440 | 67: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 | 608 | 67: 8 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 |
441 | 68: 2 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 | 609 | 68: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 |
442 | 69: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 | 610 | 69: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 |
443 | 70: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 | 611 | 70: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 |
444 | 71: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 | 612 | 71: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 |
445 | IPI0: 64 26 87 38 Rescheduling interrupts | 613 | IPI0: 64 107 160 56 Rescheduling interrupts |
446 | IPI1: 2163 6791 1243 5866 Function call interrupts | 614 | IPI1: 2720 6763 3430 998 Function call interrupts |
447 | IPI2: 0 0 0 0 CPU stop interrupts | 615 | IPI2: 0 0 0 0 CPU stop interrupts |
448 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts | 616 | IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts |
449 | IPI4: 0 0 0 0 Timer broadcast interrupts | 617 | IPI4: 0 0 0 0 Timer broadcast interrupts |
450 | IPI5: 0 0 0 0 IRQ work interrupts | 618 | IPI5: 0 0 0 0 IRQ work interrupts |
451 | IPI6: 0 0 0 0 CPU wake-up interrupts | 619 | IPI6: 0 0 0 0 CPU wake-up interrupts |
452 | Err: 0 | 620 | Err: 0 |
453 | yocto-zynqmp-generic-20231:/home/petalinux# | 621 | yocto-zynqmp-generic:/home/petalinux# |
454 | ``` | 622 | ``` |
455 | --- | 623 | --- |
456 | 624 | ||
457 | ### Unloading PL bitstream or pdi and dt overlay | 625 | ### Unloading PL bitstream or pdi and dt overlay |
458 | * Zynq or ZynqMP | 626 | * Zynq or ZynqMP |
459 | ``` | 627 | ``` |
460 | yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -R | 628 | yocto-zynqmp-generic:/home/petalinux# fpgautil -R |
461 | ``` | 629 | ``` |
462 | * Versal (DFx RP) | 630 | * Versal (DFx RP) |
463 | ``` | 631 | ``` |