meta-dcm/recipes-security/optee/optee-os-stm32mp_%.bbappend

69 lines
2.8 KiB
Plaintext

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
}