Qualcomm
OP-TEE supports Qualcomm SoCs through the plat-qcom platform. The platform
is organised around architecture families, where each family groups a set of
chipsets (PLATFORM_FLAVOR) that share the same CPU topology, drivers and
memory layout.
Supported architectures
The following architecture families and chipsets are currently supported:
- Hoya architecture – application processors
kodiak
lemans
- Bobcat architecture – networking processors
ipq96xx
ipq52xx
Note
Driver and feature support for both architecture families is still a work in progress. The per-architecture pages reflect the current state of the upstream port and are expected to grow over time.
To build for a given chipset, select the Qualcomm platform and the matching flavor, for example:
$ make PLATFORM=qcom PLATFORM_FLAVOR=kodiak
Common platform support
The following features are enabled for every Qualcomm chipset, regardless of the architecture family:
Boot flow based on Arm Trusted Firmware (
CFG_WITH_ARM_TRUSTED_FW) with an AArch64 secure core (CFG_ARM64_core) using a 40-bit physical address space (CFG_CORE_LARGE_PHYS_ADDR).GIC interrupt controller (
CFG_GIC).Secure time sourced from the physical counter
CNTPCT(CFG_SECURE_TIME_SOURCE_CNTPCT).GENI serial engine UART console driver (
CFG_QCOM_GENI_UART). The UART is shared with the non-secure world, so the ready-wait period is tunable per platform viaCFG_QCOM_GENI_UART_RDY_WAIT_USEC.Arm Crypto Extensions acceleration (
CFG_CRYPTO_WITH_CE), which in turn enables CE-accelerated AES, AES-GCM and SHA-1/SHA-256.The Hardware Unique Key length is set to 32 bytes (
CFG_HW_UNIQUE_KEY_LENGTH). Note that the platform does not yet provide its owntee_otp_get_hw_unique_key()implementation, so the default (test) key from the OP-TEE core is used unless a board-specific provider is added.
Per-architecture documentation
Refer to the architecture-specific pages below for the drivers, services and configuration available on each architecture family and its chipsets: