Home
last modified time | relevance | path

Searched refs:aplic (Results 1 – 4 of 4) sorted by relevance

/optee_os/core/drivers/
H A Daplic_msi.c26 static void aplic_set_target(struct aplic_data *aplic, uint32_t source, in aplic_set_target() argument
39 target = aplic->aplic_base + APLIC_TARGET_BASE + in aplic_set_target()
44 static uint32_t __unused aplic_get_source_mode(struct aplic_data *aplic, in aplic_get_source_mode() argument
49 sm = io_read32(aplic->aplic_base + APLIC_SOURCECFG_BASE + in aplic_get_source_mode()
55 static void aplic_init_base_addr(struct aplic_data *aplic, in aplic_init_base_addr() argument
67 aplic->aplic_base = aplic_base; in aplic_init_base_addr()
68 aplic->size = APLIC_SIZE; in aplic_init_base_addr()
69 aplic->targets_mmode = false; in aplic_init_base_addr()
70 aplic->num_idc = 0; in aplic_init_base_addr()
71 aplic->num_source = APLIC_NUM_SOURCE; in aplic_init_base_addr()
[all …]
H A Daplic_direct.c46 struct aplic_data *aplic = &aplic_data; in aplic_get_idc_base() local
49 return aplic->aplic_base + APLIC_IDC_BASE + hartid * APLIC_IDC_SIZE; in aplic_get_idc_base()
63 static void aplic_set_target(struct aplic_data *aplic, uint32_t source, in aplic_set_target() argument
73 target = aplic->aplic_base + APLIC_TARGET_BASE + in aplic_set_target()
78 static void aplic_init_base_addr(struct aplic_data *aplic, in aplic_init_base_addr() argument
90 aplic->aplic_base = aplic_base; in aplic_init_base_addr()
91 aplic->size = APLIC_SIZE; in aplic_init_base_addr()
92 aplic->targets_mmode = false; in aplic_init_base_addr()
93 aplic->num_idc = APLIC_NUM_IDC; in aplic_init_base_addr()
94 aplic->num_source = APLIC_NUM_SOURCE; in aplic_init_base_addr()
[all …]
H A Daplic_priv.c24 struct aplic_data *aplic) in aplic_parse_fdt_node() argument
36 if (nodeoff < 0 || !aplic || !fdt) in aplic_parse_fdt_node()
42 aplic->aplic_base = core_mmu_get_va(reg_addr, MEM_AREA_IO_SEC, in aplic_parse_fdt_node()
44 if (!aplic->aplic_base) in aplic_parse_fdt_node()
46 aplic->size = reg_size; in aplic_parse_fdt_node()
50 aplic->num_source = fdt32_to_cpu(*val); in aplic_parse_fdt_node()
57 aplic->targets_mmode = true; in aplic_parse_fdt_node()
61 aplic->num_idc = len / 2; in aplic_parse_fdt_node()
76 aplic->targets_mmode = imsic.targets_mmode; in aplic_parse_fdt_node()
84 TEE_Result aplic_init_from_device_tree(struct aplic_data *aplic) in aplic_init_from_device_tree() argument
[all …]
/optee_os/core/include/drivers/
H A Daplic_priv.h84 static inline void aplic_enable_interrupt(struct aplic_data *aplic, in aplic_enable_interrupt() argument
87 io_write32(aplic->aplic_base + APLIC_SETIENUM, source); in aplic_enable_interrupt()
90 static inline void aplic_disable_interrupt(struct aplic_data *aplic, in aplic_disable_interrupt() argument
93 io_write32(aplic->aplic_base + APLIC_CLRIENUM, source); in aplic_disable_interrupt()
96 static inline void aplic_set_pending(struct aplic_data *aplic, uint32_t source) in aplic_set_pending() argument
98 io_write32(aplic->aplic_base + APLIC_SETIPNUM, source); in aplic_set_pending()
101 static inline void aplic_clear_pending(struct aplic_data *aplic, in aplic_clear_pending() argument
104 io_write32(aplic->aplic_base + APLIC_CLRIPNUM, source); in aplic_clear_pending()
107 static inline bool aplic_is_bad_it(struct aplic_data *aplic, size_t it) in aplic_is_bad_it() argument
109 return !it || it > aplic->num_source; in aplic_is_bad_it()
[all …]