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

Reply via email to