~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mach-omap2/omap-secure.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  * omap-secure.h: OMAP Secure infrastructure header.
  4  *
  5  * Copyright (C) 2011 Texas Instruments, Inc.
  6  *      Santosh Shilimkar <santosh.shilimkar@ti.com>
  7  * Copyright (C) 2012 Ivaylo Dimitrov <freemangordon@abv.bg>
  8  * Copyright (C) 2013 Pali Rohár <pali@kernel.org>
  9  */
 10 #ifndef OMAP_ARCH_OMAP_SECURE_H
 11 #define OMAP_ARCH_OMAP_SECURE_H
 12 
 13 #include <linux/types.h>
 14 
 15 /* Monitor error code */
 16 #define  API_HAL_RET_VALUE_NS2S_CONVERSION_ERROR        0xFFFFFFFE
 17 #define  API_HAL_RET_VALUE_SERVICE_UNKNWON              0xFFFFFFFF
 18 
 19 /* HAL API error codes */
 20 #define  API_HAL_RET_VALUE_OK           0x00
 21 #define  API_HAL_RET_VALUE_FAIL         0x01
 22 
 23 /* Secure HAL API flags */
 24 #define FLAG_START_CRITICAL             0x4
 25 #define FLAG_IRQFIQ_MASK                0x3
 26 #define FLAG_IRQ_ENABLE                 0x2
 27 #define FLAG_FIQ_ENABLE                 0x1
 28 #define NO_FLAG                         0x0
 29 
 30 /* Maximum Secure memory storage size */
 31 #define OMAP_SECURE_RAM_STORAGE (88 * SZ_1K)
 32 
 33 #define OMAP3_SAVE_SECURE_RAM_SZ        0x803F
 34 
 35 /* Secure low power HAL API index */
 36 #define OMAP4_HAL_SAVESECURERAM_INDEX   0x1a
 37 #define OMAP4_HAL_SAVEHW_INDEX          0x1b
 38 #define OMAP4_HAL_SAVEALL_INDEX         0x1c
 39 #define OMAP4_HAL_SAVEGIC_INDEX         0x1d
 40 
 41 /* Secure Monitor mode APIs */
 42 #define OMAP4_MON_SCU_PWR_INDEX         0x108
 43 #define OMAP4_MON_L2X0_DBG_CTRL_INDEX   0x100
 44 #define OMAP4_MON_L2X0_CTRL_INDEX       0x102
 45 #define OMAP4_MON_L2X0_AUXCTRL_INDEX    0x109
 46 #define OMAP4_MON_L2X0_PREFETCH_INDEX   0x113
 47 
 48 #define OMAP5_DRA7_MON_SET_CNTFRQ_INDEX 0x109
 49 #define OMAP5_MON_AMBA_IF_INDEX         0x108
 50 #define OMAP5_DRA7_MON_SET_ACR_INDEX    0x107
 51 
 52 /* Secure PPA(Primary Protected Application) APIs */
 53 #define OMAP4_PPA_SERVICE_0             0x21
 54 #define OMAP4_PPA_L2_POR_INDEX          0x23
 55 #define OMAP4_PPA_CPU_ACTRL_SMP_INDEX   0x25
 56 
 57 #define AM43xx_PPA_SVC_PM_SUSPEND       0x71
 58 #define AM43xx_PPA_SVC_PM_RESUME        0x72
 59 
 60 /* Secure RX-51 PPA (Primary Protected Application) APIs */
 61 #define RX51_PPA_HWRNG                  29
 62 #define RX51_PPA_L2_INVAL               40
 63 #define RX51_PPA_WRITE_ACR              42
 64 
 65 #ifndef __ASSEMBLER__
 66 
 67 extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
 68                                 u32 arg1, u32 arg2, u32 arg3, u32 arg4);
 69 extern void omap_smccc_smc(u32 fn, u32 arg);
 70 extern void omap_smc1(u32 fn, u32 arg);
 71 extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
 72 extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
 73 extern int omap_secure_ram_reserve_memblock(void);
 74 extern u32 save_secure_ram_context(u32 args_pa);
 75 extern u32 omap3_save_secure_ram(void *save_regs, int size);
 76 
 77 extern u32 rx51_secure_update_aux_cr(u32 set_bits, u32 clear_bits);
 78 extern u32 rx51_secure_rng_call(u32 ptr, u32 count, u32 flag);
 79 
 80 extern bool optee_available;
 81 void omap_secure_init(void);
 82 
 83 #ifdef CONFIG_SOC_HAS_REALTIME_COUNTER
 84 void set_cntfreq(void);
 85 #else
 86 static inline void set_cntfreq(void)
 87 {
 88 }
 89 #endif
 90 
 91 #endif /* __ASSEMBLER__ */
 92 #endif /* OMAP_ARCH_OMAP_SECURE_H */
 93 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php