config OPTEE_LIB bool "Support OPTEE library" default y if OPTEE || OPTEE_IMAGE help Selecting this option will enable the shared OPTEE library code. config HAS_TEE_IN_BUILD_ENV def_bool $(success, test -n "$(TEE)") select OPTEE_LIB if OF_CONTROL select OF_LIBFDT if OF_CONTROL help It is typical whenever OP-TEE OS is loaded before U-Boot proper that it modifies the FDT passed to U-Boot proper to add reserved-memory nodes for the RAM it just reserved for itself. U-Boot must copy those reserved-nodes in the FDT for the next OS to boot. Failing to do so will incur random crashes or device reboots once the next OS is running. This makes sure that whenever TEE is present in the environment, meaning a TEE OS will be part of the boot flow, the copy made by the OP-TEE lib will happen. config OPTEE_IMAGE bool "Support OPTEE images" help Selecting this option to boot OPTEE images. This option enable the OPTEE specific checks done before booting an OPTEE image created with mkimage config OPTEE_TZDRAM_SIZE hex "Amount of Trust-Zone RAM for the OPTEE image" default 0x0000000 depends on OPTEE_LIB help The size of pre-allocated Trust Zone DRAM to allocate for the OPTEE runtime. config BOOTM_OPTEE bool "Support OPTEE bootm command" select BOOTM_LINUX select OPTEE_IMAGE help Select this command to enable chain-loading of a Linux kernel via an OPTEE firmware. The bootflow is BootROM -> u-boot -> OPTEE -> Linux in this case.