diff options
| author | Mark Hatle <mark.hatle@amd.com> | 2023-10-23 08:51:20 -0600 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@amd.com> | 2023-10-23 08:56:37 -0600 |
| commit | eb42c7caeac33f42096673522e650441f05ca8da (patch) | |
| tree | 33f97fe41ec8855cf591c2692c7c7038b6bc1ae3 /meta-xilinx-standalone-experimental | |
| parent | 387b31acf85b84bd34f339c87c0b51a9af4e16e4 (diff) | |
| parent | 05911e19d85fd98c42054238392afe95a5125265 (diff) | |
| download | meta-xilinx-eb42c7caeac33f42096673522e650441f05ca8da.tar.gz | |
Merge remote-tracking branch 'origin/rel-v2023.2' into nanbield
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-standalone-experimental')
5 files changed, 94 insertions, 47 deletions
diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 8014265b..31aa0f63 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md | |||
| @@ -34,7 +34,7 @@ $ bitbake meta-xilinx-setup | |||
| 34 | ``` | 34 | ``` |
| 35 | 3. Install the setup SDK: | 35 | 3. Install the setup SDK: |
| 36 | ``` | 36 | ``` |
| 37 | $ .${TMPDIR}/tmp/deploy/sdk/x86_64-xilinx-nativesdk-prestep-2023.1....sh -d prestep -y | 37 | $ .${TMPDIR}/tmp/deploy/sdk/x86_64-xilinx-nativesdk-prestep-2023.2....sh -d prestep -y |
| 38 | ``` | 38 | ``` |
| 39 | 39 | ||
| 40 | Then follow the instructions in the 'prestep/README-setup' file. | 40 | Then follow the instructions in the 'prestep/README-setup' file. |
diff --git a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc b/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc index b252e609..a9192f62 100644 --- a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc +++ b/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc | |||
| @@ -2,13 +2,10 @@ | |||
| 2 | # meta-xilinx/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 | # meta-xilinx/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass |
| 3 | 3 | ||
| 4 | # Make it clear decoupling is 'experimental' in the version | 4 | # Make it clear decoupling is 'experimental' in the version |
| 5 | ESW_VER = "2023.1_sdt_experimental" | 5 | ESW_VER = "2023_sdt_experimental" |
| 6 | 6 | ||
| 7 | REPO = "git://github.com/Xilinx/embeddedsw-experimental-dt-support.git;protocol=https" | 7 | REPO = "git://github.com/Xilinx/embeddedsw-experimental-dt-support.git;protocol=https" |
| 8 | 8 | ||
| 9 | ESW_BRANCH[2023.1_sdt_experimental] = "xlnx_rel_v2023.1_sdt" | 9 | ESW_BRANCH[2023_sdt_experimental] = "xlnx_rel_v2023.2_sdt" |
| 10 | ESW_REV[2023.1_sdt_experimental] = "b47bfef27d7af0690add590b9c98e6fc51a1a1f6" | 10 | ESW_REV[2023_sdt_experimental] = "742a608800e7621fb7c376daf5124333b5826d6d" |
| 11 | LIC_FILES_CHKSUM[master] = '7c92de7a21a6613265035c28f4a92f48' | 11 | LIC_FILES_CHKSUM[xlnx_rel_v2023.2_sdt] = 'ce611484168a6000bd35df68fc4f4290' |
| 12 | LIC_FILES_CHKSUM[xlnx_rel_v2022.1_sdt_experimental_beta] = 'e26f53a7d6f58f4b1a9687099417225c' | ||
| 13 | LIC_FILES_CHKSUM[xlnx_rel_v2023.1_sdt_experimental] = 'ce611484168a6000bd35df68fc4f4290' | ||
| 14 | LIC_FILES_CHKSUM[xlnx_rel_v2023.1_sdt] = 'ce611484168a6000bd35df68fc4f4290' | ||
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 939fabe4..1c754689 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 | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #! /bin/bash | 1 | #! /bin/bash |
| 2 | 2 | ||
| 3 | # Copyright (c) 2021 Xilinx Inc | 3 | # Copyright (c) 2021-2022 Xilinx Inc |
| 4 | # Copyright (C) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. | ||
| 4 | # | 5 | # |
| 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy | 6 | # Permission is hereby granted, free of charge, to any person obtaining a copy |
| 6 | # of this software and associated documentation files (the "Software"), to deal | 7 | # of this software and associated documentation files (the "Software"), to deal |
| @@ -39,10 +40,13 @@ $0 | |||
| 39 | [-o <overlay_dts>] Generate overlay dts | 40 | [-o <overlay_dts>] Generate overlay dts |
| 40 | [-e <external_fpga>] Apply a partial overlay | 41 | [-e <external_fpga>] Apply a partial overlay |
| 41 | [-m <machine_conf>] The name of the machine .conf to generate | 42 | [-m <machine_conf>] The name of the machine .conf to generate |
| 43 | [-D <dts_path>] Absolute path or subdirectory of conf/dts to place DTS files in (usually auto detected from DTS) | ||
| 42 | [-t <machine>] Machine type: zynqmp or versal (usually auto detected) | 44 | [-t <machine>] Machine type: zynqmp or versal (usually auto detected) |
| 43 | [-v <soc_variant>] SOC Variant: cg, dr, eg, ev, ai-prime, premium (usually auto detected) | 45 | [-v <soc_variant>] SOC Variant: cg, dr, eg, ev, ai-prime, premium (usually auto detected) |
| 46 | [-r <require_machine>] This machine will be required, instead of the generic machine if defined | ||
| 47 | [-O <overrides>] Optional, can add additional overrides to the generated machine | ||
| 44 | [-p <psu_init_path>] Path to psu_init files, defaults to system_dts path | 48 | [-p <psu_init_path>] Path to psu_init files, defaults to system_dts path |
| 45 | [-i <pdu_path>] Path to the pdi file | 49 | [-i <pdi_path>] Path to the pdi file |
| 46 | [-l <config_file>] write local.conf changes to this file | 50 | [-l <config_file>] write local.conf changes to this file |
| 47 | [-P <petalinux_schema>] Path to petalinux schema file | 51 | [-P <petalinux_schema>] Path to petalinux schema file |
| 48 | 52 | ||
| @@ -54,7 +58,7 @@ parse_args() { | |||
| 54 | [ $# -eq 0 ] && usage | 58 | [ $# -eq 0 ] && usage |
| 55 | [ $1 = "--help" ] && usage | 59 | [ $1 = "--help" ] && usage |
| 56 | 60 | ||
| 57 | while getopts ":c:s:d:o:e:m:l:hP:p:i:t:v:" opt; do | 61 | while getopts ":c:s:d:o:e:m:D:l:hP:p:i:t:v:r:O:" opt; do |
| 58 | case ${opt} in | 62 | case ${opt} in |
| 59 | c) config_dir=$OPTARG ;; | 63 | c) config_dir=$OPTARG ;; |
| 60 | s) system_dts=$OPTARG ;; | 64 | s) system_dts=$OPTARG ;; |
| @@ -62,8 +66,11 @@ parse_args() { | |||
| 62 | d) domain_file=$OPTARG ;; | 66 | d) domain_file=$OPTARG ;; |
| 63 | e) external_fpga=$OPTARG ;; | 67 | e) external_fpga=$OPTARG ;; |
| 64 | m) mach_conf=$OPTARG ; mach_conf=${mach_conf%%.conf} ;; | 68 | m) mach_conf=$OPTARG ; mach_conf=${mach_conf%%.conf} ;; |
| 69 | D) dts_path=$OPTARG ;; | ||
| 65 | t) machine=$OPTARG ;; | 70 | t) machine=$OPTARG ;; |
| 66 | v) soc_variant=$OPTARG ;; | 71 | v) soc_variant=$OPTARG ;; |
| 72 | r) incmachine=$OPTARG ;; | ||
| 73 | O) overrides=$OPTARG ;; | ||
| 67 | p) psu_init_path=$OPTARG ;; | 74 | p) psu_init_path=$OPTARG ;; |
| 68 | i) pdi_path=$OPTARG ;; | 75 | i) pdi_path=$OPTARG ;; |
| 69 | l) localconf=$OPTARG ;; | 76 | l) localconf=$OPTARG ;; |
| @@ -133,11 +140,15 @@ detect_machine() { | |||
| 133 | soc_variant="hbm" ;; | 140 | soc_variant="hbm" ;; |
| 134 | # Special Case Starter Kit SOMs | 141 | # Special Case Starter Kit SOMs |
| 135 | xck26) | 142 | xck26) |
| 136 | incmachine="k26-smk.conf" | 143 | if [ -z "${incmachine}" ]; then |
| 144 | incmachine="k26-smk.conf" | ||
| 145 | fi | ||
| 137 | machine="zynqmp" | 146 | machine="zynqmp" |
| 138 | soc_variant="ev" ;; | 147 | soc_variant="ev" ;; |
| 139 | xck24) | 148 | xck24) |
| 140 | incmachine="k24-smk.conf" | 149 | if [ -z "${incmachine}" ]; then |
| 150 | incmachine="k24-smk.conf" | ||
| 151 | fi | ||
| 141 | machine="zynqmp" | 152 | machine="zynqmp" |
| 142 | soc_variant="eg" ;; | 153 | soc_variant="eg" ;; |
| 143 | esac | 154 | esac |
| @@ -199,7 +210,7 @@ cortex_a53_linux() { | |||
| 199 | 210 | ||
| 200 | # Check if it is overlay dts otherwise just create linux dts | 211 | # Check if it is overlay dts otherwise just create linux dts |
| 201 | ( | 212 | ( |
| 202 | cd dts || error "Unable to cd to dts dir" | 213 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 203 | if [ "${overlay_dts}" = "true" ]; then | 214 | if [ "${overlay_dts}" = "true" ]; then |
| 204 | if [ "${external_fpga}" = "true" ]; then | 215 | if [ "${external_fpga}" = "true" ]; then |
| 205 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \ | 216 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \ |
| @@ -232,7 +243,7 @@ cortex_a53_linux() { | |||
| 232 | 243 | ||
| 233 | ## Generate a multiconfig | 244 | ## Generate a multiconfig |
| 234 | cat <<EOF >"${conf_file}" | 245 | cat <<EOF >"${conf_file}" |
| 235 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 246 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 236 | 247 | ||
| 237 | TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" | 248 | TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" |
| 238 | EOF | 249 | EOF |
| @@ -268,7 +279,7 @@ cortex_a53_baremetal() { | |||
| 268 | 279 | ||
| 269 | # Build device tree | 280 | # Build device tree |
| 270 | ( | 281 | ( |
| 271 | cd dts || error "Unable to cd to dts dir" | 282 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 272 | if [ -n "${domain_file}" ]; then | 283 | if [ -n "${domain_file}" ]; then |
| 273 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ | 284 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ |
| 274 | -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ | 285 | -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -309,7 +320,7 @@ EOF | |||
| 309 | cat /dev/null >"${conf_file}" | 320 | cat /dev/null >"${conf_file}" |
| 310 | fi | 321 | fi |
| 311 | cat <<EOF >>"${conf_file}" | 322 | cat <<EOF >>"${conf_file}" |
| 312 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 323 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 313 | 324 | ||
| 314 | ESW_MACHINE = "$3" | 325 | ESW_MACHINE = "$3" |
| 315 | DEFAULTTUNE = "cortexa53" | 326 | DEFAULTTUNE = "cortexa53" |
| @@ -335,7 +346,7 @@ cortex_a53_freertos() { | |||
| 335 | 346 | ||
| 336 | # Build device tree | 347 | # Build device tree |
| 337 | ( | 348 | ( |
| 338 | cd dts || error "Unable to cd to dts dir" | 349 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 339 | if [ -n "${domain_file}" ]; then | 350 | if [ -n "${domain_file}" ]; then |
| 340 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ | 351 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ |
| 341 | -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ | 352 | -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -361,7 +372,7 @@ cortex_a53_freertos() { | |||
| 361 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 372 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 362 | 373 | ||
| 363 | cat <<EOF >"${conf_file}" | 374 | cat <<EOF >"${conf_file}" |
| 364 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 375 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 365 | 376 | ||
| 366 | ESW_MACHINE = "$3" | 377 | ESW_MACHINE = "$3" |
| 367 | DEFAULTTUNE = "cortexa53" | 378 | DEFAULTTUNE = "cortexa53" |
| @@ -396,10 +407,10 @@ cortex_a72_linux() { | |||
| 396 | fi | 407 | fi |
| 397 | 408 | ||
| 398 | ( | 409 | ( |
| 399 | cd dts || error "Unable to cd to dts dir" | 410 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 400 | # Check if it is overlay dts otherwise just create linux dts | 411 | # Check if it is overlay dts otherwise just create linux dts |
| 401 | if [ "${overlay_dts}" = "true" ]; then | 412 | if [ "${overlay_dts}" = "true" ]; then |
| 402 | # As there is no partial support on Versal, As per fpga manager implementatin there is | 413 | # As there is no partial support on Versal, As per fpga manager implementation there is |
| 403 | # a flag "external_fpga" which says apply overlay without loading the bit file. | 414 | # a flag "external_fpga" which says apply overlay without loading the bit file. |
| 404 | if [ "${external_fpga}" = "true" ]; then | 415 | if [ "${external_fpga}" = "true" ]; then |
| 405 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \ | 416 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \ |
| @@ -432,7 +443,7 @@ cortex_a72_linux() { | |||
| 432 | 443 | ||
| 433 | ## Generate a multiconfig | 444 | ## Generate a multiconfig |
| 434 | cat <<EOF >"${conf_file}" | 445 | cat <<EOF >"${conf_file}" |
| 435 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 446 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 436 | 447 | ||
| 437 | TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" | 448 | TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" |
| 438 | EOF | 449 | EOF |
| @@ -453,7 +464,7 @@ cortex_a72_baremetal() { | |||
| 453 | 464 | ||
| 454 | # Build device tree | 465 | # Build device tree |
| 455 | ( | 466 | ( |
| 456 | cd dts || error "Unable to cd to dts dir" | 467 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 457 | if [ -n "${domain_file}" ]; then | 468 | if [ -n "${domain_file}" ]; then |
| 458 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ | 469 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ |
| 459 | -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ | 470 | -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -479,7 +490,7 @@ cortex_a72_baremetal() { | |||
| 479 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 490 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 480 | 491 | ||
| 481 | cat <<EOF >"${conf_file}" | 492 | cat <<EOF >"${conf_file}" |
| 482 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 493 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 483 | 494 | ||
| 484 | ESW_MACHINE = "$3" | 495 | ESW_MACHINE = "$3" |
| 485 | DEFAULTTUNE = "cortexa72" | 496 | DEFAULTTUNE = "cortexa72" |
| @@ -505,7 +516,7 @@ cortex_a72_freertos() { | |||
| 505 | 516 | ||
| 506 | # Build device tree | 517 | # Build device tree |
| 507 | ( | 518 | ( |
| 508 | cd dts || error "Unable to cd to dts dir" | 519 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 509 | if [ -n "${domain_file}" ]; then | 520 | if [ -n "${domain_file}" ]; then |
| 510 | LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \ | 521 | LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \ |
| 511 | -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ | 522 | -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -531,7 +542,7 @@ cortex_a72_freertos() { | |||
| 531 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 542 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 532 | 543 | ||
| 533 | cat <<EOF >"${conf_file}" | 544 | cat <<EOF >"${conf_file}" |
| 534 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 545 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 535 | 546 | ||
| 536 | ESW_MACHINE = "$3" | 547 | ESW_MACHINE = "$3" |
| 537 | DEFAULTTUNE = "cortexa72" | 548 | DEFAULTTUNE = "cortexa72" |
| @@ -572,7 +583,7 @@ cortex_r5_baremetal() { | |||
| 572 | 583 | ||
| 573 | # Build device tree | 584 | # Build device tree |
| 574 | ( | 585 | ( |
| 575 | cd dts || error "Unable to cd to dts dir" | 586 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 576 | if [ -n "$domain_file" ]; then | 587 | if [ -n "$domain_file" ]; then |
| 577 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ | 588 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ |
| 578 | -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ | 589 | -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -612,7 +623,7 @@ EOF | |||
| 612 | cat /dev/null >"${conf_file}" | 623 | cat /dev/null >"${conf_file}" |
| 613 | fi | 624 | fi |
| 614 | cat <<EOF >>"${conf_file}" | 625 | cat <<EOF >>"${conf_file}" |
| 615 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 626 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 616 | 627 | ||
| 617 | ESW_MACHINE = "$3" | 628 | ESW_MACHINE = "$3" |
| 618 | DEFAULTTUNE = "cortexr5" | 629 | DEFAULTTUNE = "cortexr5" |
| @@ -638,7 +649,7 @@ cortex_r5_freertos() { | |||
| 638 | 649 | ||
| 639 | # Build device tree | 650 | # Build device tree |
| 640 | ( | 651 | ( |
| 641 | cd dts || error "Unable to cd to dts dir" | 652 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 642 | if [ -n "$domain_file" ]; then | 653 | if [ -n "$domain_file" ]; then |
| 643 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ | 654 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ |
| 644 | -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ | 655 | -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ |
| @@ -664,7 +675,7 @@ cortex_r5_freertos() { | |||
| 664 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 675 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 665 | 676 | ||
| 666 | cat <<EOF >"${conf_file}" | 677 | cat <<EOF >"${conf_file}" |
| 667 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 678 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 668 | 679 | ||
| 669 | ESW_MACHINE = "$3" | 680 | ESW_MACHINE = "$3" |
| 670 | DEFAULTTUNE = "cortexr5" | 681 | DEFAULTTUNE = "cortexr5" |
| @@ -684,7 +695,7 @@ process_microblaze() { | |||
| 684 | 695 | ||
| 685 | mkdir -p machine/include/${mach_conf} | 696 | mkdir -p machine/include/${mach_conf} |
| 686 | ( | 697 | ( |
| 687 | cd dts || error "Unable to cd to dts dir" | 698 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 688 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \ | 699 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \ |
| 689 | || error "lopper failed" | 700 | || error "lopper failed" |
| 690 | rm -f lop-microblaze-yocto.dts.dtb | 701 | rm -f lop-microblaze-yocto.dts.dtb |
| @@ -714,7 +725,7 @@ pmu-microblaze() { | |||
| 714 | 725 | ||
| 715 | # Build device tree | 726 | # Build device tree |
| 716 | ( | 727 | ( |
| 717 | cd dts || error "Unable to cd to dts dir" | 728 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 718 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" | 729 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" |
| 719 | ) | 730 | ) |
| 720 | 731 | ||
| @@ -732,7 +743,7 @@ pmu-microblaze() { | |||
| 732 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 743 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 733 | 744 | ||
| 734 | cat <<EOF >"${conf_file}" | 745 | cat <<EOF >"${conf_file}" |
| 735 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 746 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 736 | 747 | ||
| 737 | ESW_MACHINE = "$1" | 748 | ESW_MACHINE = "$1" |
| 738 | 749 | ||
| @@ -765,7 +776,7 @@ pmc-microblaze() { | |||
| 765 | 776 | ||
| 766 | # Build device tree | 777 | # Build device tree |
| 767 | ( | 778 | ( |
| 768 | cd dts || error "Unable to cd to dts dir" | 779 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 769 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" | 780 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" |
| 770 | ) | 781 | ) |
| 771 | 782 | ||
| @@ -783,7 +794,7 @@ pmc-microblaze() { | |||
| 783 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 794 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 784 | 795 | ||
| 785 | cat <<EOF >"${conf_file}" | 796 | cat <<EOF >"${conf_file}" |
| 786 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 797 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 787 | 798 | ||
| 788 | ESW_MACHINE = "$1" | 799 | ESW_MACHINE = "$1" |
| 789 | 800 | ||
| @@ -816,7 +827,7 @@ psm-microblaze() { | |||
| 816 | 827 | ||
| 817 | # Build device tree | 828 | # Build device tree |
| 818 | ( | 829 | ( |
| 819 | cd dts || error "Unable to cd to dts dir" | 830 | cd ${dts_path} || error "Unable to cd to ${dts_path} dir" |
| 820 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" | 831 | LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" |
| 821 | ) | 832 | ) |
| 822 | 833 | ||
| @@ -834,7 +845,7 @@ psm-microblaze() { | |||
| 834 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," | 845 | sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," |
| 835 | 846 | ||
| 836 | cat <<EOF >"${conf_file}" | 847 | cat <<EOF >"${conf_file}" |
| 837 | CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" | 848 | CONFIG_DTFILE = "${dts_file_path}/${dts_file}" |
| 838 | 849 | ||
| 839 | ESW_MACHINE = "$1" | 850 | ESW_MACHINE = "$1" |
| 840 | 851 | ||
| @@ -874,6 +885,13 @@ MACHINEOVERRIDES =. "\${@['', '${mach_conf}:']['${mach_conf}' != '\${MACHINE}']} | |||
| 874 | 885 | ||
| 875 | EOF | 886 | EOF |
| 876 | 887 | ||
| 888 | if [ -n "${overrides}" ]; then | ||
| 889 | cat <<EOF >>"${conf_file}" | ||
| 890 | MACHINEOVERRIDES .= ":${overrides}" | ||
| 891 | |||
| 892 | EOF | ||
| 893 | fi | ||
| 894 | |||
| 877 | if [ "${machine}" == "zynqmp" ]; then | 895 | if [ "${machine}" == "zynqmp" ]; then |
| 878 | cat <<EOF >>"${conf_file}" | 896 | cat <<EOF >>"${conf_file}" |
| 879 | TUNEFILE[microblaze-pmu] = "conf/machine/include/${mach_conf}/microblaze.inc" | 897 | TUNEFILE[microblaze-pmu] = "conf/machine/include/${mach_conf}/microblaze.inc" |
| @@ -890,7 +908,7 @@ EOF | |||
| 890 | cat <<EOF >>"${conf_file}" | 908 | cat <<EOF >>"${conf_file}" |
| 891 | 909 | ||
| 892 | # Set the default (linux) domain device tree | 910 | # Set the default (linux) domain device tree |
| 893 | CONFIG_DTFILE ?= "\${TOPDIR}/conf/dts/${system_conf}" | 911 | CONFIG_DTFILE ?= "${dts_file_path}/${system_conf}" |
| 894 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" | 912 | CONFIG_DTFILE[vardepsexclude] += "TOPDIR" |
| 895 | 913 | ||
| 896 | require conf/machine/${incmachine} | 914 | require conf/machine/${incmachine} |
| @@ -969,10 +987,10 @@ EOF | |||
| 969 | 987 | ||
| 970 | cat <<EOF >>"${conf_file}" | 988 | cat <<EOF >>"${conf_file}" |
| 971 | # Enable the correct version of the firmware components | 989 | # Enable the correct version of the firmware components |
| 972 | PREFERRED_VERSION_fsbl-firmware = "2023.1_sdt_experimental%" | 990 | PREFERRED_VERSION_fsbl-firmware = "2023_sdt_experimental%" |
| 973 | PREFERRED_VERSION_pmu-firmware = "2023.1_sdt_experimental%" | 991 | PREFERRED_VERSION_pmu-firmware = "2023_sdt_experimental%" |
| 974 | PREFERRED_VERSION_plm-firmware = "2023.1_sdt_experimental%" | 992 | PREFERRED_VERSION_plm-firmware = "2023_sdt_experimental%" |
| 975 | PREFERRED_VERSION_psm-firmware = "2023.1_sdt_experimental%" | 993 | PREFERRED_VERSION_psm-firmware = "2023_sdt_experimental%" |
| 976 | 994 | ||
| 977 | # Exclude BASE_TMPDIR from hash calculations | 995 | # Exclude BASE_TMPDIR from hash calculations |
| 978 | BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR" | 996 | BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR" |
| @@ -1125,9 +1143,9 @@ BASE_TMPDIR ?= "\${TOPDIR}" | |||
| 1125 | 1143 | ||
| 1126 | # The following is the full set of multiconfigs for this configuration | 1144 | # The following is the full set of multiconfigs for this configuration |
| 1127 | # A large list can cause a slow parse. | 1145 | # A large list can cause a slow parse. |
| 1128 | BBMULTICONFIG ?= "${multiconf}" | 1146 | #BBMULTICONFIG ?= "${multiconf}" |
| 1129 | # Alternatively trim the list to the minimum | 1147 | # Alternatively trim the list to the minimum |
| 1130 | #BBMULTICONFIG = "${multiconf_min}" | 1148 | BBMULTICONFIG = "${multiconf_min}" |
| 1131 | EOF | 1149 | EOF |
| 1132 | } | 1150 | } |
| 1133 | 1151 | ||
| @@ -1171,6 +1189,22 @@ if [ -z "${mach_conf}" ]; then | |||
| 1171 | mach_conf=${local_mach_conf} | 1189 | mach_conf=${local_mach_conf} |
| 1172 | fi | 1190 | fi |
| 1173 | 1191 | ||
| 1192 | if [ -z "${dts_path}"]; then | ||
| 1193 | dts_path=${local_mach_conf} | ||
| 1194 | fi | ||
| 1195 | # Is it relative? If so, relative to conf/dts | ||
| 1196 | if [ "${dts_path##/}" = "${dts_path}" ]; then | ||
| 1197 | dts_path="dts/${dts_path}" | ||
| 1198 | else | ||
| 1199 | dts_path=$(realpath ${dts_path}) | ||
| 1200 | fi | ||
| 1201 | # Convert the DTS_PATH into something we can put in a config file | ||
| 1202 | if [ "${dts_path##/}" = "${dts_path}" ]; then | ||
| 1203 | dts_file_path="\${TOPDIR}/conf/${dts_path}" | ||
| 1204 | else | ||
| 1205 | dts_file_path="${dts_path}" | ||
| 1206 | fi | ||
| 1207 | |||
| 1174 | # Generate CPU list | 1208 | # Generate CPU list |
| 1175 | ( | 1209 | ( |
| 1176 | cd dts || error "Unable to cd to dts dir" | 1210 | cd dts || error "Unable to cd to dts dir" |
| @@ -1182,6 +1216,7 @@ fi | |||
| 1182 | detect_machine | 1216 | detect_machine |
| 1183 | # Now that we know the machine name, we can create the directory | 1217 | # Now that we know the machine name, we can create the directory |
| 1184 | mkdir -p machine/include/${mach_conf} | 1218 | mkdir -p machine/include/${mach_conf} |
| 1219 | mkdir -p ${dts_path} | ||
| 1185 | 1220 | ||
| 1186 | echo "System Configuration:" | 1221 | echo "System Configuration:" |
| 1187 | echo "MODEL = \"${model}\"" | 1222 | echo "MODEL = \"${model}\"" |
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb index 0891fb86..1dcd8404 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | inherit esw_examples | 1 | inherit features_check |
| 2 | 2 | ||
| 3 | ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/" | 3 | REQUIRED_MACHINE_FEATURES = "dmaps" |
| 4 | |||
| 5 | inherit esw python3native | ||
| 6 | |||
| 7 | DEPENDS += "xilstandalone " | ||
| 8 | |||
| 9 | ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/src/" | ||
| 10 | ESW_COMPONENT_NAME = "libdmaps.a" | ||
| 11 | |||
| 12 | addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot | ||
| 13 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 14 | |||
| 15 | do_configure:prepend() { | ||
| 16 | LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} | ||
| 17 | install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ | ||
| 18 | } | ||
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb index 298e3033..b8dc3b33 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | inherit esw features_check | 1 | inherit esw |
| 2 | 2 | ||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/" | 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/" |
| 4 | ESW_COMPONENT_NAME = "libxilffs.a" | 4 | ESW_COMPONENT_NAME = "libxilffs.a" |
