diff options
6 files changed, 108 insertions, 94 deletions
diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index 0b179a61..c85e7ad2 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass | |||
| @@ -45,9 +45,9 @@ def get_xlnx_cmake_machine(fam, d): | |||
| 45 | def get_xlnx_cmake_processor(tune, machine, d): | 45 | def get_xlnx_cmake_processor(tune, machine, d): |
| 46 | cmake_processor = tune | 46 | cmake_processor = tune |
| 47 | if tune.startswith('microblaze'): | 47 | if tune.startswith('microblaze'): |
| 48 | if (machine == 'microblaze-pmu'): | 48 | if (machine == 'ub1_cpu_pmu'): |
| 49 | cmake_processor = 'pmu_microblaze' | 49 | cmake_processor = 'pmu_microblaze' |
| 50 | elif (machine == 'microblaze-plm'): | 50 | elif (machine == 'ub1_cpu_pmc'): |
| 51 | cmake_processor = 'plm_microblaze' | 51 | cmake_processor = 'plm_microblaze' |
| 52 | else: | 52 | else: |
| 53 | cmake_processor = 'microblaze' | 53 | cmake_processor = 'microblaze' |
diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh index fab16393..67722bfe 100755 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh +++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh | |||
| @@ -91,7 +91,7 @@ parse_args() { | |||
| 91 | detect_machine() { | 91 | detect_machine() { |
| 92 | if [ -z "${machine}" ]; then | 92 | if [ -z "${machine}" ]; then |
| 93 | # Identify the system type first using PSM/PMC/PMU | 93 | # Identify the system type first using PSM/PMC/PMU |
| 94 | while read -r cpu domain os_hint; do | 94 | while read -r cpu core domain cpu_name os_hint; do |
| 95 | case ${cpu} in | 95 | case ${cpu} in |
| 96 | pmu-microblaze) | 96 | pmu-microblaze) |
| 97 | machine="zynqmp" ;; | 97 | machine="zynqmp" ;; |
| @@ -188,7 +188,7 @@ cortex_a53_baremetal() { | |||
| 188 | [ ${a53_fsbl_done} = 1 ] && return | 188 | [ ${a53_fsbl_done} = 1 ] && return |
| 189 | info "cortex-a53 FSBL baremetal configuration" | 189 | info "cortex-a53 FSBL baremetal configuration" |
| 190 | else | 190 | else |
| 191 | info "cortex-a53 for baremetal [ $1 ]" | 191 | info "cortex-a53 baremetal configuration for core $2 [ $1 ]" |
| 192 | fi | 192 | fi |
| 193 | 193 | ||
| 194 | suffix=""; lto="-nolto" | 194 | suffix=""; lto="-nolto" |
| @@ -196,9 +196,9 @@ cortex_a53_baremetal() { | |||
| 196 | suffix="-$1"; lto="" | 196 | suffix="-$1"; lto="" |
| 197 | fi | 197 | fi |
| 198 | 198 | ||
| 199 | dtb_file="cortexa53-${machine}${suffix}-baremetal.dtb" | 199 | dtb_file="cortexa53-$2-${machine}${suffix}-baremetal.dtb" |
| 200 | multiconf="${multiconf} cortexa53-${machine}${suffix}-baremetal" | 200 | multiconf="${multiconf} cortexa53-$2-${machine}${suffix}-baremetal" |
| 201 | conf_file="multiconfig/cortexa53-${machine}${suffix}-baremetal.conf" | 201 | conf_file="multiconfig/cortexa53-$2-${machine}${suffix}-baremetal.conf" |
| 202 | libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" | 202 | libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" |
| 203 | distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" | 203 | distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" |
| 204 | yocto_distro="xilinx-standalone${lto}" | 204 | yocto_distro="xilinx-standalone${lto}" |
| @@ -224,11 +224,11 @@ cortex_a53_baremetal() { | |||
| 224 | 224 | ||
| 225 | # Build baremetal multiconfig | 225 | # Build baremetal multiconfig |
| 226 | if [ -n "${domain_file}" ]; then | 226 | if [ -n "${domain_file}" ]; then |
| 227 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 227 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 228 | -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ | 228 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 229 | || error "lopper failed" | 229 | || error "lopper failed" |
| 230 | else | 230 | else |
| 231 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ | 231 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 232 | || error "lopper failed" | 232 | || error "lopper failed" |
| 233 | fi | 233 | fi |
| 234 | 234 | ||
| @@ -253,7 +253,7 @@ EOF | |||
| 253 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 253 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 254 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 254 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 255 | 255 | ||
| 256 | ESW_MACHINE = "cortexa53-${machine}" | 256 | ESW_MACHINE = "$3" |
| 257 | DEFAULTTUNE = "cortexa53" | 257 | DEFAULTTUNE = "cortexa53" |
| 258 | 258 | ||
| 259 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 259 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -270,14 +270,14 @@ EOF | |||
| 270 | } | 270 | } |
| 271 | 271 | ||
| 272 | cortex_a53_freertos() { | 272 | cortex_a53_freertos() { |
| 273 | info "cortex-a53 for FreeRTOS [ $1 ]" | 273 | info "cortex-a53 FreeRTOS configuration for core $2 [ $1 ]" |
| 274 | 274 | ||
| 275 | suffix="" | 275 | suffix="" |
| 276 | [ "$1" != "None" ] && suffix="-$1" | 276 | [ "$1" != "None" ] && suffix="-$1" |
| 277 | 277 | ||
| 278 | dtb_file="cortexa53-${machine}${suffix}-freertos.dtb" | 278 | dtb_file="cortexa53-${machine}${suffix}-freertos.dtb" |
| 279 | multiconf="${multiconf} cortexa53-${machine}${suffix}-freertos" | 279 | multiconf="${multiconf} cortexa53-$2-${machine}${suffix}-freertos" |
| 280 | conf_file="multiconfig/cortexa53-${machine}${suffix}-freertos.conf" | 280 | conf_file="multiconfig/cortexa53-$2-${machine}${suffix}-freertos.conf" |
| 281 | libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" | 281 | libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" |
| 282 | distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" | 282 | distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" |
| 283 | 283 | ||
| @@ -297,10 +297,10 @@ cortex_a53_freertos() { | |||
| 297 | 297 | ||
| 298 | # Build baremetal multiconfig | 298 | # Build baremetal multiconfig |
| 299 | if [ -n "${domain_file}" ]; then | 299 | if [ -n "${domain_file}" ]; then |
| 300 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 300 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 301 | -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" || error "lopper failed" | 301 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" |
| 302 | else | 302 | else |
| 303 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ | 303 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 304 | || error "lopper failed" | 304 | || error "lopper failed" |
| 305 | fi | 305 | fi |
| 306 | 306 | ||
| @@ -311,7 +311,7 @@ cortex_a53_freertos() { | |||
| 311 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 311 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 312 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 312 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 313 | 313 | ||
| 314 | ESW_MACHINE = "cortexa53-${machine}" | 314 | ESW_MACHINE = "$3" |
| 315 | DEFAULTTUNE = "cortexa53" | 315 | DEFAULTTUNE = "cortexa53" |
| 316 | 316 | ||
| 317 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 317 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -409,14 +409,14 @@ EOF | |||
| 409 | } | 409 | } |
| 410 | 410 | ||
| 411 | cortex_a72_baremetal() { | 411 | cortex_a72_baremetal() { |
| 412 | info "cortex-a72 for baremetal [ $1 ]" | 412 | info "cortex-a72 baremetal configuration for core $2 [ $1 ]" |
| 413 | 413 | ||
| 414 | suffix="" | 414 | suffix="" |
| 415 | [ "$1" != "None" ] && suffix="-$1" | 415 | [ "$1" != "None" ] && suffix="-$1" |
| 416 | 416 | ||
| 417 | dtb_file="cortexa72-${machine}${suffix}-baremetal.dtb" | 417 | dtb_file="cortexa72-$2-${machine}${suffix}-baremetal.dtb" |
| 418 | multiconf="${multiconf} cortexa72-${machine}${suffix}-baremetal" | 418 | multiconf="${multiconf} cortexa72-$2-${machine}${suffix}-baremetal" |
| 419 | conf_file="multiconfig/cortexa72-${machine}${suffix}-baremetal.conf" | 419 | conf_file="multiconfig/cortexa72-$2-${machine}${suffix}-baremetal.conf" |
| 420 | libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" | 420 | libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" |
| 421 | distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" | 421 | distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" |
| 422 | 422 | ||
| @@ -436,10 +436,10 @@ cortex_a72_baremetal() { | |||
| 436 | 436 | ||
| 437 | # Build baremetal multiconfig | 437 | # Build baremetal multiconfig |
| 438 | if [ -n "${domain_file}" ]; then | 438 | if [ -n "${domain_file}" ]; then |
| 439 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 439 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 440 | -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" || error "lopper failed" | 440 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" |
| 441 | else | 441 | else |
| 442 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" \ | 442 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 443 | || error "lopper failed" | 443 | || error "lopper failed" |
| 444 | fi | 444 | fi |
| 445 | 445 | ||
| @@ -450,7 +450,7 @@ cortex_a72_baremetal() { | |||
| 450 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 450 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 451 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 451 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 452 | 452 | ||
| 453 | ESW_MACHINE = "cortexa72-${machine}" | 453 | ESW_MACHINE = "$3" |
| 454 | DEFAULTTUNE = "cortexa72" | 454 | DEFAULTTUNE = "cortexa72" |
| 455 | 455 | ||
| 456 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 456 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -467,14 +467,14 @@ EOF | |||
| 467 | } | 467 | } |
| 468 | 468 | ||
| 469 | cortex_a72_freertos() { | 469 | cortex_a72_freertos() { |
| 470 | info "cortex-a72 for FreeRTOS [ $1 ]" | 470 | info "cortex-a72 FreeRTOS configuration for core $2 [ $1 ]" |
| 471 | 471 | ||
| 472 | suffix="" | 472 | suffix="" |
| 473 | [ "$1" != "None" ] && suffix="-$1" | 473 | [ "$1" != "None" ] && suffix="-$1" |
| 474 | 474 | ||
| 475 | dtb_file="cortexa72-${machine}${suffix}-freertos.dtb" | 475 | dtb_file="cortexa72-$2-${machine}${suffix}-freertos.dtb" |
| 476 | multiconf="${multiconf} cortexa72-${machine}${suffix}-freertos" | 476 | multiconf="${multiconf} cortexa72-$2-${machine}${suffix}-freertos" |
| 477 | conf_file="multiconfig/cortexa72-${machine}${suffix}-freertos.conf" | 477 | conf_file="multiconfig/cortexa72-$2-${machine}${suffix}-freertos.conf" |
| 478 | libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" | 478 | libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" |
| 479 | distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" | 479 | distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" |
| 480 | 480 | ||
| @@ -494,10 +494,10 @@ cortex_a72_freertos() { | |||
| 494 | 494 | ||
| 495 | # Build baremetal multiconfig | 495 | # Build baremetal multiconfig |
| 496 | if [ -n "${domain_file}" ]; then | 496 | if [ -n "${domain_file}" ]; then |
| 497 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 497 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 498 | -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" || error "lopper failed" | 498 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" |
| 499 | else | 499 | else |
| 500 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" \ | 500 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 501 | || error "lopper failed" | 501 | || error "lopper failed" |
| 502 | fi | 502 | fi |
| 503 | 503 | ||
| @@ -508,7 +508,7 @@ cortex_a72_freertos() { | |||
| 508 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 508 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 509 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 509 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 510 | 510 | ||
| 511 | ESW_MACHINE = "cortexa72-${machine}" | 511 | ESW_MACHINE = "$3" |
| 512 | DEFAULTTUNE = "cortexa72" | 512 | DEFAULTTUNE = "cortexa72" |
| 513 | 513 | ||
| 514 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 514 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -530,7 +530,7 @@ cortex_r5_baremetal() { | |||
| 530 | [ ${r5_fsbl_done} = 1 ] && return | 530 | [ ${r5_fsbl_done} = 1 ] && return |
| 531 | info "cortex-r5 FSBL baremetal configuration" | 531 | info "cortex-r5 FSBL baremetal configuration" |
| 532 | else | 532 | else |
| 533 | info "cortex-r5 for baremetal [ $1 ]" | 533 | info "cortex-r5 baremetal configuration for core $2 [ $1 ]" |
| 534 | fi | 534 | fi |
| 535 | 535 | ||
| 536 | suffix=""; lto="-nolto" | 536 | suffix=""; lto="-nolto" |
| @@ -538,9 +538,9 @@ cortex_r5_baremetal() { | |||
| 538 | suffix="-$1"; lto="" | 538 | suffix="-$1"; lto="" |
| 539 | fi | 539 | fi |
| 540 | 540 | ||
| 541 | dtb_file="cortexr5-${machine}${suffix}-baremetal.dtb" | 541 | dtb_file="cortexr5-$2-${machine}${suffix}-baremetal.dtb" |
| 542 | multiconf="${multiconf} cortexr5-${machine}${suffix}-baremetal" | 542 | multiconf="${multiconf} cortexr5-$2-${machine}${suffix}-baremetal" |
| 543 | conf_file="multiconfig/cortexr5-${machine}${suffix}-baremetal.conf" | 543 | conf_file="multiconfig/cortexr5-$2-${machine}${suffix}-baremetal.conf" |
| 544 | libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" | 544 | libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" |
| 545 | distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" | 545 | distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" |
| 546 | yocto_distro="xilinx-standalone${lto}" | 546 | yocto_distro="xilinx-standalone${lto}" |
| @@ -567,10 +567,10 @@ cortex_r5_baremetal() { | |||
| 567 | 567 | ||
| 568 | # Build baremetal multiconfig | 568 | # Build baremetal multiconfig |
| 569 | if [ -n "${domain_file}" ]; then | 569 | if [ -n "${domain_file}" ]; then |
| 570 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 570 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 571 | -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" || error "lopper failed" | 571 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" |
| 572 | else | 572 | else |
| 573 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" \ | 573 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 574 | || error "lopper failed" | 574 | || error "lopper failed" |
| 575 | fi | 575 | fi |
| 576 | 576 | ||
| @@ -595,7 +595,7 @@ EOF | |||
| 595 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 595 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 596 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 596 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 597 | 597 | ||
| 598 | ESW_MACHINE = "cortexr5-${machine}" | 598 | ESW_MACHINE = "$3" |
| 599 | DEFAULTTUNE = "cortexr5" | 599 | DEFAULTTUNE = "cortexr5" |
| 600 | 600 | ||
| 601 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 601 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -612,14 +612,14 @@ EOF | |||
| 612 | } | 612 | } |
| 613 | 613 | ||
| 614 | cortex_r5_freertos() { | 614 | cortex_r5_freertos() { |
| 615 | info "cortex-r5 for FreeRTOS [ $1 ]" | 615 | info "cortex-r5 FreeRTOS configuration for core $2 [ $1 ]" |
| 616 | 616 | ||
| 617 | suffix="" | 617 | suffix="" |
| 618 | [ "$1" != "None" ] && suffix="-$1" | 618 | [ "$1" != "None" ] && suffix="-$1" |
| 619 | 619 | ||
| 620 | dtb_file="cortexr5-${machine}${suffix}-freertos.dtb" | 620 | dtb_file="cortexr5-$2-${machine}${suffix}-freertos.dtb" |
| 621 | multiconf="${multiconf} cortexr5-${machine}${suffix}-freertos" | 621 | multiconf="${multiconf} cortexr5-$2-${machine}${suffix}-freertos" |
| 622 | conf_file="multiconfig/cortexr5-${machine}${suffix}-freertos.conf" | 622 | conf_file="multiconfig/cortexr5-$2-${machine}${suffix}-freertos.conf" |
| 623 | libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" | 623 | libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" |
| 624 | distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" | 624 | distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" |
| 625 | 625 | ||
| @@ -639,10 +639,10 @@ cortex_r5_freertos() { | |||
| 639 | 639 | ||
| 640 | # Build baremetal multiconfig | 640 | # Build baremetal multiconfig |
| 641 | if [ -n "${domain_file}" ]; then | 641 | if [ -n "${domain_file}" ]; then |
| 642 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 642 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 643 | -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" || error "lopper failed" | 643 | -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" |
| 644 | else | 644 | else |
| 645 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" \ | 645 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ |
| 646 | || error "lopper failed" | 646 | || error "lopper failed" |
| 647 | fi | 647 | fi |
| 648 | 648 | ||
| @@ -653,7 +653,7 @@ cortex_r5_freertos() { | |||
| 653 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 653 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 654 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 654 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 655 | 655 | ||
| 656 | ESW_MACHINE = "cortexr5-${machine}" | 656 | ESW_MACHINE = "$3" |
| 657 | DEFAULTTUNE = "cortexr5" | 657 | DEFAULTTUNE = "cortexr5" |
| 658 | 658 | ||
| 659 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" | 659 | TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" |
| @@ -678,7 +678,7 @@ process_microblaze() { | |||
| 678 | 678 | ||
| 679 | ( | 679 | ( |
| 680 | cd dtb || error "Unable to cd to dtb dir" | 680 | cd dtb || error "Unable to cd to dtb dir" |
| 681 | ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dtb}" \ | 681 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dtb}" \ |
| 682 | || error "lopper failed" | 682 | || error "lopper failed" |
| 683 | rm -f lop-microblaze-yocto.dts.dtb | 683 | rm -f lop-microblaze-yocto.dts.dtb |
| 684 | ) >microblaze.conf | 684 | ) >microblaze.conf |
| @@ -709,10 +709,10 @@ pmu-microblaze() { | |||
| 709 | 709 | ||
| 710 | # Build baremetal multiconfig | 710 | # Build baremetal multiconfig |
| 711 | if [ -n "${domain_file}" ]; then | 711 | if [ -n "${domain_file}" ]; then |
| 712 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 712 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 713 | -- baremetaldrvlist_xlnx microblaze-pmu "${embeddedsw}" || error "lopper failed" | 713 | -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" |
| 714 | else | 714 | else |
| 715 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-pmu "${embeddedsw}" \ | 715 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ |
| 716 | || error "lopper failed" | 716 | || error "lopper failed" |
| 717 | fi | 717 | fi |
| 718 | 718 | ||
| @@ -723,7 +723,7 @@ pmu-microblaze() { | |||
| 723 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 723 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 724 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 724 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 725 | 725 | ||
| 726 | ESW_MACHINE = "microblaze-pmu" | 726 | ESW_MACHINE = "$1" |
| 727 | 727 | ||
| 728 | require conf/microblaze.conf | 728 | require conf/microblaze.conf |
| 729 | DEFAULTTUNE = "microblaze" | 729 | DEFAULTTUNE = "microblaze" |
| @@ -767,10 +767,10 @@ pmc-microblaze() { | |||
| 767 | 767 | ||
| 768 | # Build baremetal multiconfig | 768 | # Build baremetal multiconfig |
| 769 | if [ -n "${domain_file}" ]; then | 769 | if [ -n "${domain_file}" ]; then |
| 770 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 770 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 771 | -- baremetaldrvlist_xlnx microblaze-plm "${embeddedsw}" || error "lopper failed" | 771 | -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" |
| 772 | else | 772 | else |
| 773 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-plm "${embeddedsw}" \ | 773 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ |
| 774 | || error "lopper failed" | 774 | || error "lopper failed" |
| 775 | fi | 775 | fi |
| 776 | 776 | ||
| @@ -781,7 +781,7 @@ pmc-microblaze() { | |||
| 781 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 781 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 782 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 782 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 783 | 783 | ||
| 784 | ESW_MACHINE = "microblaze-plm" | 784 | ESW_MACHINE = "$1" |
| 785 | 785 | ||
| 786 | require conf/microblaze.conf | 786 | require conf/microblaze.conf |
| 787 | DEFAULTTUNE = "microblaze" | 787 | DEFAULTTUNE = "microblaze" |
| @@ -825,10 +825,10 @@ psm-microblaze() { | |||
| 825 | 825 | ||
| 826 | # Build baremetal multiconfig | 826 | # Build baremetal multiconfig |
| 827 | if [ -n "${domain_file}" ]; then | 827 | if [ -n "${domain_file}" ]; then |
| 828 | ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ | 828 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ |
| 829 | -- baremetaldrvlist_xlnx microblaze-psm "${embeddedsw}" || error "lopper failed" | 829 | -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" |
| 830 | else | 830 | else |
| 831 | ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-psm "${embeddedsw}" \ | 831 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ |
| 832 | || error "lopper failed" | 832 | || error "lopper failed" |
| 833 | fi | 833 | fi |
| 834 | 834 | ||
| @@ -839,7 +839,7 @@ psm-microblaze() { | |||
| 839 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" | 839 | CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" |
| 840 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 840 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 841 | 841 | ||
| 842 | ESW_MACHINE = "microblaze-psm" | 842 | ESW_MACHINE = "$1" |
| 843 | 843 | ||
| 844 | require conf/microblaze.conf | 844 | require conf/microblaze.conf |
| 845 | DEFAULTTUNE = "microblaze" | 845 | DEFAULTTUNE = "microblaze" |
| @@ -863,8 +863,8 @@ EOF | |||
| 863 | parse_cpus() { | 863 | parse_cpus() { |
| 864 | info "Generating configuration..." | 864 | info "Generating configuration..." |
| 865 | 865 | ||
| 866 | while read -r cpu domain os_hint; do | 866 | gen_linux_dtb="None" |
| 867 | 867 | while read -r cpu core domain cpu_name os_hint; do | |
| 868 | # Skip commented lines and WARNINGs | 868 | # Skip commented lines and WARNINGs |
| 869 | case ${cpu} in | 869 | case ${cpu} in |
| 870 | \#* | \[WARNING\]:) continue ;; | 870 | \#* | \[WARNING\]:) continue ;; |
| @@ -874,19 +874,28 @@ parse_cpus() { | |||
| 874 | 874 | ||
| 875 | arm,cortex-a53) | 875 | arm,cortex-a53) |
| 876 | # We need a base cortex_a53_baremetal for the FSBL | 876 | # We need a base cortex_a53_baremetal for the FSBL |
| 877 | cortex_a53_baremetal fsbl | 877 | if [ "${core}" == 0 ]; then |
| 878 | cortex_a53_baremetal fsbl ${core} ${cpu_name} | ||
| 879 | fi | ||
| 878 | if [ "${os_hint}" == "None" ]; then | 880 | if [ "${os_hint}" == "None" ]; then |
| 879 | cortex_a53_linux "${domain}" | 881 | if [ "${gen_linux_dtb}" == "None" ]; then |
| 880 | cortex_a53_baremetal "${domain}" | 882 | cortex_a53_linux "${domain}" |
| 881 | cortex_a53_freertos "${domain}" | 883 | gen_linux_dtb="True" |
| 884 | fi | ||
| 885 | cortex_a53_baremetal "${domain}" ${core} ${cpu_name} | ||
| 886 | cortex_a53_freertos "${domain}" ${core} ${cpu_name} | ||
| 882 | else | 887 | else |
| 883 | case "${os_hint}" in | 888 | case "${os_hint}" in |
| 884 | linux*) | 889 | linux*) |
| 885 | cortex_a53_linux "${domain}" ;; | 890 | if [ "${gen_linux_dtb}" == "None" ]; then |
| 891 | cortex_a53_linux "${domain}" | ||
| 892 | gen_linux_dtb="True" | ||
| 893 | fi | ||
| 894 | ;; | ||
| 886 | baremetal*) | 895 | baremetal*) |
| 887 | cortex_a53_baremetal "${domain}" ;; | 896 | cortex_a53_baremetal "${domain}" ${core} ${cpu_name};; |
| 888 | freertos*) | 897 | freertos*) |
| 889 | cortex_a53_freertos "${domain}" ;; | 898 | cortex_a53_freertos "${domain}" ${core} ${cpu_name};; |
| 890 | *) | 899 | *) |
| 891 | warn "cortex-a53 for unknown OS (${os_hint}), parsing baremetal. ${domain}" | 900 | warn "cortex-a53 for unknown OS (${os_hint}), parsing baremetal. ${domain}" |
| 892 | cortex_a53_baremetal "${domain}" | 901 | cortex_a53_baremetal "${domain}" |
| @@ -896,36 +905,42 @@ parse_cpus() { | |||
| 896 | 905 | ||
| 897 | arm,cortex-a72) | 906 | arm,cortex-a72) |
| 898 | if [ "${os_hint}" == "None" ]; then | 907 | if [ "${os_hint}" == "None" ]; then |
| 899 | cortex_a72_linux "${domain}" | 908 | if [ "${gen_linux_dtb}" == "None" ]; then |
| 900 | cortex_a72_baremetal "${domain}" | 909 | cortex_a72_linux "${domain}" |
| 901 | cortex_a72_freertos "${domain}" | 910 | gen_linux_dtb="True" |
| 911 | fi | ||
| 912 | cortex_a72_baremetal "${domain}" ${core} ${cpu_name} | ||
| 913 | cortex_a72_freertos "${domain}" ${core} ${cpu_name} | ||
| 902 | else | 914 | else |
| 903 | case "${os_hint}" in | 915 | case "${os_hint}" in |
| 904 | linux*) | 916 | linux*) |
| 905 | cortex_a72_linux "${domain}" ;; | 917 | if [ "${gen_linux_dtb}" == "None" ]; then |
| 918 | cortex_a72_linux "${domain}" | ||
| 919 | gen_linux_dtb="True" | ||
| 920 | fi | ||
| 921 | ;; | ||
| 906 | baremetal*) | 922 | baremetal*) |
| 907 | cortex_a72_baremetal "${domain}" ;; | 923 | cortex_a72_baremetal "${domain}" ${core} ${cpu_name};; |
| 908 | freertos*) | 924 | freertos*) |
| 909 | cortex_a72_freertos "${domain}" ;; | 925 | cortex_a72_freertos "${domain}" ${core} ${cpu_name};; |
| 910 | *) | 926 | *) |
| 911 | warn "cortex-a72 for unknown OS (${os_hint}), parsing baremetal. ${domain}" | 927 | warn "cortex-a72 for unknown OS (${os_hint}), parsing baremetal. ${domain}" |
| 912 | cortex_a72_baremetal "${domain}" | 928 | cortex_a72_baremetal "${domain}" |
| 913 | esac | 929 | esac |
| 914 | fi | 930 | fi |
| 915 | ;; | 931 | ;; |
| 916 | |||
| 917 | arm,cortex-r5) | 932 | arm,cortex-r5) |
| 918 | if [ "${os_hint}" == "None" ]; then | 933 | if [ "${os_hint}" == "None" ]; then |
| 919 | # We need a base cortex_r5_baremetal for the FSBL for ZynqMP platform | 934 | # We need a base cortex_r5_baremetal for the FSBL for ZynqMP platform |
| 920 | [ "${machine}" = "zynqmp" ] && cortex_r5_baremetal fsbl | 935 | [ "${machine}" = "zynqmp" ] && cortex_r5_baremetal fsbl ${core} ${cpu_name} |
| 921 | cortex_r5_baremetal "${domain}" | 936 | cortex_r5_baremetal "${domain}" ${core} ${cpu_name} |
| 922 | cortex_r5_freertos "${domain}" | 937 | cortex_r5_freertos "${domain}" ${core} ${cpu_name} |
| 923 | else | 938 | else |
| 924 | case "${os_hint}" in | 939 | case "${os_hint}" in |
| 925 | baremetal*) | 940 | baremetal*) |
| 926 | cortex_r5_baremetal "${domain}" ;; | 941 | cortex_r5_baremetal "${domain}" ${core} ${cpu_name};; |
| 927 | freertos*) | 942 | freertos*) |
| 928 | cortex_r5_freertos "${domain}" ;; | 943 | cortex_r5_freertos "${domain}" ${core} ${cpu_name};; |
| 929 | *) | 944 | *) |
| 930 | warn "cortex-r5 for unknown OS (${os_hint}), parsing baremetal. ${domain}" | 945 | warn "cortex-r5 for unknown OS (${os_hint}), parsing baremetal. ${domain}" |
| 931 | cortex_r5_baremetal "${domain}" | 946 | cortex_r5_baremetal "${domain}" |
| @@ -946,14 +961,13 @@ parse_cpus() { | |||
| 946 | ;; | 961 | ;; |
| 947 | 962 | ||
| 948 | pmu-microblaze) | 963 | pmu-microblaze) |
| 949 | pmu-microblaze ;; | 964 | pmu-microblaze ${cpu_name};; |
| 950 | 965 | ||
| 951 | pmc-microblaze) | 966 | pmc-microblaze) |
| 952 | pmc-microblaze ;; | 967 | pmc-microblaze ${cpu_name};; |
| 953 | 968 | ||
| 954 | psm-microblaze) | 969 | psm-microblaze) |
| 955 | psm-microblaze ;; | 970 | psm-microblaze ${cpu_name};; |
| 956 | |||
| 957 | *) | 971 | *) |
| 958 | warn "Unknown CPU ${cpu}" | 972 | warn "Unknown CPU ${cpu}" |
| 959 | 973 | ||
| @@ -1022,7 +1036,7 @@ cd "${config_dir}" || exit | |||
| 1022 | mkdir -p dtb multiconfig/includes | 1036 | mkdir -p dtb multiconfig/includes |
| 1023 | ( | 1037 | ( |
| 1024 | cd dtb || error "Unable to cd to dtb dir" | 1038 | cd dtb || error "Unable to cd to dtb dir" |
| 1025 | ${lopper} -f --enhanced -i "${lops_dir}/lop-xilinx-id-cpus.dts" "${system_dtb}" \ | 1039 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-xilinx-id-cpus.dts" "${system_dtb}" \ |
| 1026 | /dev/null > ${cpulist} || error "lopper failed" | 1040 | /dev/null > ${cpulist} || error "lopper failed" |
| 1027 | rm -f "lop-xilinx-id-cpus.dts.dtb" | 1041 | rm -f "lop-xilinx-id-cpus.dts.dtb" |
| 1028 | ) | 1042 | ) |
| @@ -1055,4 +1069,4 @@ if [ -n "${petalinux_schema}" ]; then | |||
| 1055 | fi | 1069 | fi |
| 1056 | 1070 | ||
| 1057 | # Cleanup our temp file | 1071 | # Cleanup our temp file |
| 1058 | rm ${cpulist} | 1072 | rm -rf ${cpulist} ${config_dir}/CMakeLists.txt ${config_dir}/DRVLISTConfig.cmake |
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb index 06b82811..45ef6688 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb | |||
| @@ -4,7 +4,7 @@ REQUIRED_DISTRO_FEATURES = "sysmonpsv" | |||
| 4 | 4 | ||
| 5 | inherit esw python3native | 5 | inherit esw python3native |
| 6 | 6 | ||
| 7 | DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'microblaze-plm' and d.getVar('ESW_MACHINE') != 'microblaze-psm' else ''}" | 7 | DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'ub1_cpu_pmc' and d.getVar('ESW_MACHINE') != 'ub2_cpu_psm' else ''}" |
| 8 | 8 | ||
| 9 | ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/" | 9 | ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/" |
| 10 | ESW_COMPONENT_NAME = "libsysmonpsv.a" | 10 | ESW_COMPONENT_NAME = "libsysmonpsv.a" |
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb index f58538cd..90aa5933 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb | |||
| @@ -3,4 +3,4 @@ inherit esw | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/" | 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/" |
| 4 | ESW_COMPONENT_NAME = "libxilpm.a" | 4 | ESW_COMPONENT_NAME = "libxilpm.a" |
| 5 | 5 | ||
| 6 | DEPENDS = "libxil ${@'xilplmi cframe' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else ''}" | 6 | DEPENDS = "libxil ${@'xilplmi cframe' if d.getVar('ESW_MACHINE') == 'ub1_cpu_pmc' else ''}" |
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb index 266503d1..46a5ae45 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb | |||
| @@ -3,4 +3,4 @@ inherit esw | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/" | 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/" |
| 4 | ESW_COMPONENT_NAME = "libxilpuf.a" | 4 | ESW_COMPONENT_NAME = "libxilpuf.a" |
| 5 | 5 | ||
| 6 | DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else 'xilmailbox'}" | 6 | DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'ub1_cpu_pmc' else 'xilmailbox'}" |
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb index b8e2aa16..b8c57eba 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb | |||
| @@ -3,4 +3,4 @@ inherit esw | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/" | 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/" |
| 4 | ESW_COMPONENT_NAME = "libxilsecure.a" | 4 | ESW_COMPONENT_NAME = "libxilsecure.a" |
| 5 | 5 | ||
| 6 | DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else 'xilmailbox'}" | 6 | DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'ub1_cpu_pmc' else 'xilmailbox'}" |
