tfa-optee.config is merged after qcom_defconfig, which leaves "# CONFIG_OPTEE_LIB is not set" in .config, so the "default y if OPTEE" of OPTEE_LIB never applies and optee_copy_fdt_nodes() is the empty stub. The /firmware/optee node mach-snapdragon adds at runtime then never reaches the OS device tree, and Linux does not bind OP-TEE: on an Arduino VENTUNO Q the U-Boot OP-TEE driver probes and the EFI device tree fixup runs (/chosen/u-boot,version is present), but /firmware only holds scm.
Enable OPTEE_LIB in the fragment. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Tyler Baker <[email protected]> --- board/qualcomm/tfa-optee.config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/board/qualcomm/tfa-optee.config b/board/qualcomm/tfa-optee.config index 1e8364c114..43ee5df812 100644 --- a/board/qualcomm/tfa-optee.config +++ b/board/qualcomm/tfa-optee.config @@ -2,3 +2,6 @@ # source TrustZone stack on Qcom platforms CONFIG_TEE=y CONFIG_OPTEE=y +# qcom_defconfig already sets OPTEE_LIB=n, so its "default y if OPTEE" +# never applies. The library copies the OP-TEE node into the OS DT. +CONFIG_OPTEE_LIB=y -- 2.47.3
