summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh')
-rwxr-xr-xmeta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh107
1 files changed, 71 insertions, 36 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..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}"
235CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 246CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
236 247
237TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" 248TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
238EOF 249EOF
@@ -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}"
312CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 323CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
313 324
314ESW_MACHINE = "$3" 325ESW_MACHINE = "$3"
315DEFAULTTUNE = "cortexa53" 326DEFAULTTUNE = "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}"
364CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 375CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
365 376
366ESW_MACHINE = "$3" 377ESW_MACHINE = "$3"
367DEFAULTTUNE = "cortexa53" 378DEFAULTTUNE = "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}"
435CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 446CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
436 447
437TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" 448TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
438EOF 449EOF
@@ -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}"
482CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 493CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
483 494
484ESW_MACHINE = "$3" 495ESW_MACHINE = "$3"
485DEFAULTTUNE = "cortexa72" 496DEFAULTTUNE = "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}"
534CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 545CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
535 546
536ESW_MACHINE = "$3" 547ESW_MACHINE = "$3"
537DEFAULTTUNE = "cortexa72" 548DEFAULTTUNE = "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}"
615CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 626CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
616 627
617ESW_MACHINE = "$3" 628ESW_MACHINE = "$3"
618DEFAULTTUNE = "cortexr5" 629DEFAULTTUNE = "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}"
667CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 678CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
668 679
669ESW_MACHINE = "$3" 680ESW_MACHINE = "$3"
670DEFAULTTUNE = "cortexr5" 681DEFAULTTUNE = "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}"
735CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 746CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
736 747
737ESW_MACHINE = "$1" 748ESW_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}"
786CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 797CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
787 798
788ESW_MACHINE = "$1" 799ESW_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}"
837CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}" 848CONFIG_DTFILE = "${dts_file_path}/${dts_file}"
838 849
839ESW_MACHINE = "$1" 850ESW_MACHINE = "$1"
840 851
@@ -874,6 +885,13 @@ MACHINEOVERRIDES =. "\${@['', '${mach_conf}:']['${mach_conf}' != '\${MACHINE}']}
874 885
875EOF 886EOF
876 887
888 if [ -n "${overrides}" ]; then
889 cat <<EOF >>"${conf_file}"
890MACHINEOVERRIDES .= ":${overrides}"
891
892EOF
893 fi
894
877 if [ "${machine}" == "zynqmp" ]; then 895 if [ "${machine}" == "zynqmp" ]; then
878 cat <<EOF >>"${conf_file}" 896 cat <<EOF >>"${conf_file}"
879TUNEFILE[microblaze-pmu] = "conf/machine/include/${mach_conf}/microblaze.inc" 897TUNEFILE[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
893CONFIG_DTFILE ?= "\${TOPDIR}/conf/dts/${system_conf}" 911CONFIG_DTFILE ?= "${dts_file_path}/${system_conf}"
894CONFIG_DTFILE[vardepsexclude] += "TOPDIR" 912CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
895 913
896require conf/machine/${incmachine} 914require 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
972PREFERRED_VERSION_fsbl-firmware = "2023.1_sdt_experimental%" 990PREFERRED_VERSION_fsbl-firmware = "2023_sdt_experimental%"
973PREFERRED_VERSION_pmu-firmware = "2023.1_sdt_experimental%" 991PREFERRED_VERSION_pmu-firmware = "2023_sdt_experimental%"
974PREFERRED_VERSION_plm-firmware = "2023.1_sdt_experimental%" 992PREFERRED_VERSION_plm-firmware = "2023_sdt_experimental%"
975PREFERRED_VERSION_psm-firmware = "2023.1_sdt_experimental%" 993PREFERRED_VERSION_psm-firmware = "2023_sdt_experimental%"
976 994
977# Exclude BASE_TMPDIR from hash calculations 995# Exclude BASE_TMPDIR from hash calculations
978BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR" 996BB_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.
1128BBMULTICONFIG ?= "${multiconf}" 1146#BBMULTICONFIG ?= "${multiconf}"
1129# Alternatively trim the list to the minimum 1147# Alternatively trim the list to the minimum
1130#BBMULTICONFIG = "${multiconf_min}" 1148BBMULTICONFIG = "${multiconf_min}"
1131EOF 1149EOF
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}
1172fi 1190fi
1173 1191
1192if [ -z "${dts_path}"]; then
1193 dts_path=${local_mach_conf}
1194fi
1195# Is it relative? If so, relative to conf/dts
1196if [ "${dts_path##/}" = "${dts_path}" ]; then
1197 dts_path="dts/${dts_path}"
1198else
1199 dts_path=$(realpath ${dts_path})
1200fi
1201# Convert the DTS_PATH into something we can put in a config file
1202if [ "${dts_path##/}" = "${dts_path}" ]; then
1203 dts_file_path="\${TOPDIR}/conf/${dts_path}"
1204else
1205 dts_file_path="${dts_path}"
1206fi
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
1182detect_machine 1216detect_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
1184mkdir -p machine/include/${mach_conf} 1218mkdir -p machine/include/${mach_conf}
1219mkdir -p ${dts_path}
1185 1220
1186echo "System Configuration:" 1221echo "System Configuration:"
1187echo "MODEL = \"${model}\"" 1222echo "MODEL = \"${model}\""