summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone-experimental/recipes-core
diff options
context:
space:
mode:
authorSandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>2023-04-20 21:14:06 -0600
committerMark Hatle <mark.hatle@amd.com>2023-05-10 10:56:51 -0500
commit83d783a3d6e61a0c6b08f659bd076b23661ef0a1 (patch)
tree4771753a567ea01b400cc7a2f2b855b4b2286517 /meta-xilinx-standalone-experimental/recipes-core
parent7a44bd747e4e5b1b2910e3cc4acd4be6f1bf49ff (diff)
downloadmeta-xilinx-83d783a3d6e61a0c6b08f659bd076b23661ef0a1.tar.gz
dt-processor: Fix dts generated files structure
1. Add AMD Copyright notice. 2. Fix pdi_path typo in usage. 3. If dt-processor is run with two different zynqmp/versal sdt dts then <cpu>-linux.dts and multiconfig dts were overwritten. Generate dts files in build/conf/dts/<machine_name>/ directory instead of build/conf/dts. This way when user use same build directory for building different machine target it will avoid overwriting dts files. Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com> Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-standalone-experimental/recipes-core')
-rwxr-xr-xmeta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh56
1 files changed, 29 insertions, 27 deletions
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..2e457ac3 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
@@ -42,7 +43,7 @@ $0
42 [-t <machine>] Machine type: zynqmp or versal (usually auto detected) 43 [-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) 44 [-v <soc_variant>] SOC Variant: cg, dr, eg, ev, ai-prime, premium (usually auto detected)
44 [-p <psu_init_path>] Path to psu_init files, defaults to system_dts path 45 [-p <psu_init_path>] Path to psu_init files, defaults to system_dts path
45 [-i <pdu_path>] Path to the pdi file 46 [-i <pdi_path>] Path to the pdi file
46 [-l <config_file>] write local.conf changes to this file 47 [-l <config_file>] write local.conf changes to this file
47 [-P <petalinux_schema>] Path to petalinux schema file 48 [-P <petalinux_schema>] Path to petalinux schema file
48 49
@@ -199,7 +200,7 @@ cortex_a53_linux() {
199 200
200 # Check if it is overlay dts otherwise just create linux dts 201 # Check if it is overlay dts otherwise just create linux dts
201 ( 202 (
202 cd dts || error "Unable to cd to dts dir" 203 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
203 if [ "${overlay_dts}" = "true" ]; then 204 if [ "${overlay_dts}" = "true" ]; then
204 if [ "${external_fpga}" = "true" ]; then 205 if [ "${external_fpga}" = "true" ]; then
205 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \ 206 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \
@@ -232,7 +233,7 @@ cortex_a53_linux() {
232 233
233 ## Generate a multiconfig 234 ## Generate a multiconfig
234 cat <<EOF >"${conf_file}" 235 cat <<EOF >"${conf_file}"
235CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 236CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
236 237
237TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" 238TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
238EOF 239EOF
@@ -268,7 +269,7 @@ cortex_a53_baremetal() {
268 269
269 # Build device tree 270 # Build device tree
270 ( 271 (
271 cd dts || error "Unable to cd to dts dir" 272 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
272 if [ -n "${domain_file}" ]; then 273 if [ -n "${domain_file}" ]; then
273 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 274 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}" \ 275 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \
@@ -309,7 +310,7 @@ EOF
309 cat /dev/null >"${conf_file}" 310 cat /dev/null >"${conf_file}"
310 fi 311 fi
311 cat <<EOF >>"${conf_file}" 312 cat <<EOF >>"${conf_file}"
312CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 313CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
313 314
314ESW_MACHINE = "$3" 315ESW_MACHINE = "$3"
315DEFAULTTUNE = "cortexa53" 316DEFAULTTUNE = "cortexa53"
@@ -335,7 +336,7 @@ cortex_a53_freertos() {
335 336
336 # Build device tree 337 # Build device tree
337 ( 338 (
338 cd dts || error "Unable to cd to dts dir" 339 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
339 if [ -n "${domain_file}" ]; then 340 if [ -n "${domain_file}" ]; then
340 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 341 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}" \ 342 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \
@@ -361,7 +362,7 @@ cortex_a53_freertos() {
361 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 362 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
362 363
363 cat <<EOF >"${conf_file}" 364 cat <<EOF >"${conf_file}"
364CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 365CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
365 366
366ESW_MACHINE = "$3" 367ESW_MACHINE = "$3"
367DEFAULTTUNE = "cortexa53" 368DEFAULTTUNE = "cortexa53"
@@ -396,10 +397,10 @@ cortex_a72_linux() {
396 fi 397 fi
397 398
398 ( 399 (
399 cd dts || error "Unable to cd to dts dir" 400 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
400 # Check if it is overlay dts otherwise just create linux dts 401 # Check if it is overlay dts otherwise just create linux dts
401 if [ "${overlay_dts}" = "true" ]; then 402 if [ "${overlay_dts}" = "true" ]; then
402 # As there is no partial support on Versal, As per fpga manager implementatin there is 403 # 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. 404 # a flag "external_fpga" which says apply overlay without loading the bit file.
404 if [ "${external_fpga}" = "true" ]; then 405 if [ "${external_fpga}" = "true" ]; then
405 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \ 406 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \
@@ -432,7 +433,7 @@ cortex_a72_linux() {
432 433
433 ## Generate a multiconfig 434 ## Generate a multiconfig
434 cat <<EOF >"${conf_file}" 435 cat <<EOF >"${conf_file}"
435CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 436CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
436 437
437TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" 438TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
438EOF 439EOF
@@ -453,7 +454,7 @@ cortex_a72_baremetal() {
453 454
454 # Build device tree 455 # Build device tree
455 ( 456 (
456 cd dts || error "Unable to cd to dts dir" 457 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
457 if [ -n "${domain_file}" ]; then 458 if [ -n "${domain_file}" ]; then
458 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 459 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}" \ 460 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \
@@ -479,7 +480,7 @@ cortex_a72_baremetal() {
479 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 480 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
480 481
481 cat <<EOF >"${conf_file}" 482 cat <<EOF >"${conf_file}"
482CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 483CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
483 484
484ESW_MACHINE = "$3" 485ESW_MACHINE = "$3"
485DEFAULTTUNE = "cortexa72" 486DEFAULTTUNE = "cortexa72"
@@ -505,7 +506,7 @@ cortex_a72_freertos() {
505 506
506 # Build device tree 507 # Build device tree
507 ( 508 (
508 cd dts || error "Unable to cd to dts dir" 509 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
509 if [ -n "${domain_file}" ]; then 510 if [ -n "${domain_file}" ]; then
510 LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \ 511 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}" \ 512 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \
@@ -531,7 +532,7 @@ cortex_a72_freertos() {
531 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 532 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
532 533
533 cat <<EOF >"${conf_file}" 534 cat <<EOF >"${conf_file}"
534CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 535CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
535 536
536ESW_MACHINE = "$3" 537ESW_MACHINE = "$3"
537DEFAULTTUNE = "cortexa72" 538DEFAULTTUNE = "cortexa72"
@@ -572,7 +573,7 @@ cortex_r5_baremetal() {
572 573
573 # Build device tree 574 # Build device tree
574 ( 575 (
575 cd dts || error "Unable to cd to dts dir" 576 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
576 if [ -n "$domain_file" ]; then 577 if [ -n "$domain_file" ]; then
577 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 578 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}" \ 579 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \
@@ -612,7 +613,7 @@ EOF
612 cat /dev/null >"${conf_file}" 613 cat /dev/null >"${conf_file}"
613 fi 614 fi
614 cat <<EOF >>"${conf_file}" 615 cat <<EOF >>"${conf_file}"
615CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 616CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
616 617
617ESW_MACHINE = "$3" 618ESW_MACHINE = "$3"
618DEFAULTTUNE = "cortexr5" 619DEFAULTTUNE = "cortexr5"
@@ -638,7 +639,7 @@ cortex_r5_freertos() {
638 639
639 # Build device tree 640 # Build device tree
640 ( 641 (
641 cd dts || error "Unable to cd to dts dir" 642 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
642 if [ -n "$domain_file" ]; then 643 if [ -n "$domain_file" ]; then
643 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 644 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}" \ 645 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \
@@ -664,7 +665,7 @@ cortex_r5_freertos() {
664 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 665 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
665 666
666 cat <<EOF >"${conf_file}" 667 cat <<EOF >"${conf_file}"
667CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 668CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
668 669
669ESW_MACHINE = "$3" 670ESW_MACHINE = "$3"
670DEFAULTTUNE = "cortexr5" 671DEFAULTTUNE = "cortexr5"
@@ -684,7 +685,7 @@ process_microblaze() {
684 685
685 mkdir -p machine/include/${mach_conf} 686 mkdir -p machine/include/${mach_conf}
686 ( 687 (
687 cd dts || error "Unable to cd to dts dir" 688 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
688 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \ 689 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \
689 || error "lopper failed" 690 || error "lopper failed"
690 rm -f lop-microblaze-yocto.dts.dtb 691 rm -f lop-microblaze-yocto.dts.dtb
@@ -714,7 +715,7 @@ pmu-microblaze() {
714 715
715 # Build device tree 716 # Build device tree
716 ( 717 (
717 cd dts || error "Unable to cd to dts dir" 718 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
718 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" 719 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
719 ) 720 )
720 721
@@ -732,7 +733,7 @@ pmu-microblaze() {
732 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 733 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
733 734
734 cat <<EOF >"${conf_file}" 735 cat <<EOF >"${conf_file}"
735CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 736CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
736 737
737ESW_MACHINE = "$1" 738ESW_MACHINE = "$1"
738 739
@@ -765,7 +766,7 @@ pmc-microblaze() {
765 766
766 # Build device tree 767 # Build device tree
767 ( 768 (
768 cd dts || error "Unable to cd to dts dir" 769 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
769 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" 770 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
770 ) 771 )
771 772
@@ -783,7 +784,7 @@ pmc-microblaze() {
783 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 784 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
784 785
785 cat <<EOF >"${conf_file}" 786 cat <<EOF >"${conf_file}"
786CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 787CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
787 788
788ESW_MACHINE = "$1" 789ESW_MACHINE = "$1"
789 790
@@ -816,7 +817,7 @@ psm-microblaze() {
816 817
817 # Build device tree 818 # Build device tree
818 ( 819 (
819 cd dts || error "Unable to cd to dts dir" 820 cd dts/${mach_conf} || error "Unable to cd to dts/${mach_conf} dir"
820 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" 821 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
821 ) 822 )
822 823
@@ -834,7 +835,7 @@ psm-microblaze() {
834 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," 835 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
835 836
836 cat <<EOF >"${conf_file}" 837 cat <<EOF >"${conf_file}"
837CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 838CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${mach_conf}/${dts_file}"
838 839
839ESW_MACHINE = "$1" 840ESW_MACHINE = "$1"
840 841
@@ -890,7 +891,7 @@ EOF
890 cat <<EOF >>"${conf_file}" 891 cat <<EOF >>"${conf_file}"
891 892
892# Set the default (linux) domain device tree 893# Set the default (linux) domain device tree
893CONFIG_DTFILE ?= "\${TOPDIR}/conf/dts/${system_conf}" 894CONFIG_DTFILE ?= "\${TOPDIR}/conf/dts/${mach_conf}/${system_conf}"
894CONFIG_DTFILE[vardepsexclude] += "TOPDIR" 895CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
895 896
896require conf/machine/${incmachine} 897require conf/machine/${incmachine}
@@ -1182,6 +1183,7 @@ fi
1182detect_machine 1183detect_machine
1183# Now that we know the machine name, we can create the directory 1184# Now that we know the machine name, we can create the directory
1184mkdir -p machine/include/${mach_conf} 1185mkdir -p machine/include/${mach_conf}
1186mkdir -p dts/${mach_conf}
1185 1187
1186echo "System Configuration:" 1188echo "System Configuration:"
1187echo "MODEL = \"${model}\"" 1189echo "MODEL = \"${model}\""