1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2010-2015, Intel Corporation. 5 */ 6 7 #ifndef __SP_LOCAL_H_INCLUDED__ 8 #define __SP_LOCAL_H_INCLUDED__ 9 10 #include <type_support.h> 11 #include "sp_global.h" 12 13 #define sp_address_of(var) (HIVE_ADDR_ ## var) 14 15 /* 16 * deprecated 17 */ 18 #define store_sp_int(var, value) \ 19 sp_dmem_store_uint32(SP0_ID, (unsigned int)sp_address_of(var), \ 20 (uint32_t)(value)) 21 22 #define store_sp_ptr(var, value) \ 23 sp_dmem_store_uint32(SP0_ID, (unsigned int)sp_address_of(var), \ 24 (uint32_t)(value)) 25 26 #define load_sp_uint(var) \ 27 sp_dmem_load_uint32(SP0_ID, (unsigned int)sp_address_of(var)) 28 29 #define load_sp_array_uint8(array_name, index) \ 30 sp_dmem_load_uint8(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 31 (index) * sizeof(uint8_t)) 32 33 #define load_sp_array_uint16(array_name, index) \ 34 sp_dmem_load_uint16(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 35 (index) * sizeof(uint16_t)) 36 37 #define load_sp_array_uint(array_name, index) \ 38 sp_dmem_load_uint32(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 39 (index) * sizeof(uint32_t)) 40 41 #define store_sp_var(var, data, bytes) \ 42 sp_dmem_store(SP0_ID, (unsigned int)sp_address_of(var), data, bytes) 43 44 #define store_sp_array_uint8(array_name, index, value) \ 45 sp_dmem_store_uint8(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 46 (index) * sizeof(uint8_t), value) 47 48 #define store_sp_array_uint16(array_name, index, value) \ 49 sp_dmem_store_uint16(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 50 (index) * sizeof(uint16_t), value) 51 52 #define store_sp_array_uint(array_name, index, value) \ 53 sp_dmem_store_uint32(SP0_ID, (unsigned int)sp_address_of(array_name) + \ 54 (index) * sizeof(uint32_t), value) 55 56 #define store_sp_var_with_offset(var, offset, data, bytes) \ 57 sp_dmem_store(SP0_ID, (unsigned int)sp_address_of(var) + \ 58 offset, data, bytes) 59 60 #define load_sp_var(var, data, bytes) \ 61 sp_dmem_load(SP0_ID, (unsigned int)sp_address_of(var), data, bytes) 62 63 #define load_sp_var_with_offset(var, offset, data, bytes) \ 64 sp_dmem_load(SP0_ID, (unsigned int)sp_address_of(var) + offset, \ 65 data, bytes) 66 67 #endif /* __SP_LOCAL_H_INCLUDED__ */ 68