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 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #ifndef __IA_CSS_SPCTRL_COMM_H__ 17 #define __IA_CSS_SPCTRL_COMM_H__ 18 19 #include <type_support.h> 20 21 /* state of SP */ 22 typedef enum { 23 IA_CSS_SP_SW_TERMINATED = 0, 24 IA_CSS_SP_SW_INITIALIZED, 25 IA_CSS_SP_SW_CONNECTED, 26 IA_CSS_SP_SW_RUNNING 27 } ia_css_spctrl_sp_sw_state; 28 29 /* Structure to encapsulate required arguments for 30 * initialization of SP DMEM using the SP itself 31 */ 32 struct ia_css_sp_init_dmem_cfg { 33 ia_css_ptr ddr_data_addr; /** data segment address in ddr */ 34 u32 dmem_data_addr; /** data segment address in dmem */ 35 u32 dmem_bss_addr; /** bss segment address in dmem */ 36 u32 data_size; /** data segment size */ 37 u32 bss_size; /** bss segment size */ 38 sp_ID_t sp_id; /* <sp Id */ 39 }; 40 41 #define SIZE_OF_IA_CSS_SP_INIT_DMEM_CFG_STRUCT \ 42 (1 * SIZE_OF_IA_CSS_PTR) + \ 43 (4 * sizeof(uint32_t)) + \ 44 (1 * sizeof(sp_ID_t)) 45 46 #endif /* __IA_CSS_SPCTRL_COMM_H__ */ 47