uboot/arch/arm/include/asm/omap_sec_common.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2016
   4 * Texas Instruments, <www.ti.com>
   5 *
   6 * Andreas Dannenberg <dannenberg@ti.com>
   7 */
   8#ifndef _OMAP_SEC_COMMON_H_
   9#define _OMAP_SEC_COMMON_H_
  10
  11/*
  12 * Invoke secure ROM API on high-security (HS) device variants. It formats
  13 * the variable argument list into the format expected by the ROM code before
  14 * triggering the actual low-level smc entry.
  15 */
  16u32 secure_rom_call(u32 service, u32 proc_id, u32 flag, ...);
  17
  18/*
  19 * Invoke a secure ROM API on high-secure (HS) device variants that can be used
  20 * to verify a secure blob by authenticating and optionally decrypting it. The
  21 * exact operation performed depends on how the certificate that was embedded
  22 * into the blob during the signing/encryption step when the secure blob was
  23 * first created.
  24 */
  25int secure_boot_verify_image(void **p_image, size_t *p_size);
  26
  27/*
  28 * Return the start of secure reserved RAM, if a default start address has
  29 * not been configured then return a region at the end of the external DRAM.
  30 */
  31u32 get_sec_mem_start(void);
  32
  33/*
  34 * Invoke a secure HAL API that allows configuration of the external memory
  35 * firewall regions.
  36 */
  37int secure_emif_firewall_setup(uint8_t region_num, uint32_t start_addr,
  38                               uint32_t size, uint32_t access_perm,
  39                               uint32_t initiator_perm);
  40
  41/*
  42 * Invoke a secure HAL API on high-secure (HS) device variants that reserves a
  43 * region of external memory for secure world use, and protects it using memory
  44 * firewalls that prevent public world access. This API is intended to setaside
  45 * memory that will be used for a secure world OS/TEE.
  46 */
  47int secure_emif_reserve(void);
  48
  49/*
  50 * Invoke a secure HAL API to lock the external memory firewall configurations.
  51 * After this API is called, none of the HAL APIs for configuring the that
  52 * firewall will be usable (calls to those APIs will return failure and have
  53 * no effect).
  54 */
  55int secure_emif_firewall_lock(void);
  56
  57/*
  58 * Invoke a secure HAL API to authenticate and install a Trusted Execution
  59 * Environment (TEE) image.
  60 */
  61int secure_tee_install(u32 tee_image);
  62
  63#endif /* _OMAP_SEC_COMMON_H_ */
  64