COMPATIBLE_MACHINE:append = "|stm32mp157c-dcm" # Machine-specific configuration OPTEEMACHINE:stm32mp157c-dcm = "stm32mp1" OPTEEOUTPUTMACHINE:stm32mp157c-dcm = "stm32mp1" # Device tree configuration (using the proper configuration variable) EXTRA_OEMAKE:append:stm32mp157c-dcm = " CFG_EMBED_DTB_SOURCE_FILE=stm32mp157c-dcm.dts" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += " \ file://stm32mp157c-dcm-optee.dts \ file://stm32mp151.dtsi \ file://stm32mp153.dtsi \ file://stm32mp157.dtsi \ file://stm32mp15xc.dtsi \ file://stm32mp15xxac-pinctrl.dtsi \ " do_configure:prepend() { bbplain "path: ${S}/core/arch/arm/dts/external-dt/optee/" # Verzeichnis erstellen, falls es nicht existiert mkdir -p ${S}/core/arch/arm/dts/external-dt/optee/ cp ${WORKDIR}/stm32mp157c-dcm-optee.dts ${S}/core/arch/arm/dts/external-dt/optee/ mv -f ${S}/core/arch/arm/dts/external-dt/optee/stm32mp157c-dcm-optee.dts ${S}/core/arch/arm/dts/external-dt/optee/stm32mp157c-dcm.dts cp ${WORKDIR}/stm32mp151.dtsi ${S}/core/arch/arm/dts/external-dt/optee/ cp ${WORKDIR}/stm32mp153.dtsi ${S}/core/arch/arm/dts/external-dt/optee/ cp ${WORKDIR}/stm32mp157.dtsi ${S}/core/arch/arm/dts/external-dt/optee/ cp ${WORKDIR}/stm32mp15xc.dtsi ${S}/core/arch/arm/dts/external-dt/optee/ cp ${WORKDIR}/stm32mp15xxac-pinctrl.dtsi ${S}/core/arch/arm/dts/external-dt/optee/ } #/stm32mp157c_dcm-ostl-linux-gnueabi/optee-os-stm32mp/4.0.0-stm32mp-r1/git/core/include/dt-bindings/pinctrl/stm32-pinfunc.h #/stm32mp157c_dcm-ostl-linux-gnueabi/optee-os-stm32mp/4.0.0-stm32mp-r1/git/core/arch/arm/dts/external-dt/optee/stm32mp157c-dcm.dts # Vorverarbeiten der DTS-Dateien für dtc 1.7.0 do_compile:prepend() { DTS_DIR="${S}/core/arch/arm/dts/external-dt/optee/" # Debug-Ausgabe bbplain "do_compile:prepend - DTS-Quellverzeichnis: ${DTS_DIR}" # Setze erweiterte DTC-Flags für Include-Pfade export DTC_FLAGS="-i ${DTS_DIR} -i ${DTS_DIR}/include" # Verwende CPP zum Vorverarbeiten der DTS-Dateien if [ -d ${DTS_DIR} ]; then DTS_FILES=$(find ${DTS_DIR} -name "stm32mp157c-dcm.dts") for dts_file in ${DTS_FILES}; do # Erstelle Verzeichnis für vorprozessierte Dateien dirname_dts=$(dirname ${dts_file}) basename_dts=$(basename ${dts_file}) mkdir -p ${B}/preprocessed_dts bbplain "Vorverarbeiten von $dts_file mit CPP..." # Vorverarbeiten mit CPP, um alle Includes zu verarbeiten ${CPP} -nostdinc -undef -x assembler-with-cpp -I ${DTS_DIR} -I ${DTS_DIR}/../.. -I ${DTS_DIR}/../../../../../include -o ${B}/preprocessed_dts/${basename_dts} ${dts_file} # Ersetze Original-DTS mit vorverarbeiteter DTS cp ${B}/preprocessed_dts/${basename_dts} ${dts_file} done fi }