6#ifndef HCC_BUS_TYPES_HEADER
7#define HCC_BUS_TYPES_HEADER
21#define HCC_BUS_STATE_TX (1 << 0)
22#define HCC_BUS_STATE_RX (1 << 1)
23#define HCC_BUS_STATE_ALL (HCC_BUS_STATE_TX | HCC_BUS_STATE_RX)
25#define HCC_RX_MAX_MESSAGE 32
26#define HCC_TX_MAX_MESSAGE 32
53#define HCC_ADAPT_BUS_ASSEMBLE_CNT_MIN 1
54#define HCC_ADAPT_BUS_DESCR_ALIGN_BIT_MIN 0
64#ifdef CONFIG_HCC_SUPPORT_REG_OPT
68#ifdef CONFIG_HCC_SUPPORT_PATCH_OPT
enum _hcc_bus_power_action_type_ hcc_bus_power_action_type
#define HCC_RX_MAX_MESSAGE
Definition hcc_bus_types.h:25
struct _bus_dev_ops bus_dev_ops
td_s32(* bus_pm_notify)(td_void)
Definition hcc_bus_types.h:56
_hcc_bus_power_action_type_
Definition hcc_bus_types.h:29
@ HCC_BUS_POWER_PATCH_LAUCH
Definition hcc_bus_types.h:33
@ HCC_BUS_POWER_DOWN
Definition hcc_bus_types.h:30
@ HCC_BUS_POWER_PATCH_LOAD_PREPARE
Definition hcc_bus_types.h:32
@ HCC_BUS_POWER_UP
Definition hcc_bus_types.h:31
@ HCC_BUS_POWER_BUTT
Definition hcc_bus_types.h:34
td_void(* hcc_bus_dfx_f)(td_void)
Definition hcc_bus_types.h:89
@ HCC_ADDR_ALIGN_WORD
Definition hcc_bus_types.h:42
@ HCC_ADDR_ALIGN_MIN
Definition hcc_bus_types.h:41
td_s32(* hcc_service_f)(hcc_bus *bus, hcc_service_type service_type)
Definition hcc_bus_types.h:90
@ HCC_DATA_LEN_ALIGN_MIN
Definition hcc_bus_types.h:46
@ HCC_DATA_LEN_ALIGN_DWORD
Definition hcc_bus_types.h:48
@ HCC_DATA_LEN_ALIGN_QWORD
Definition hcc_bus_types.h:49
@ HCC_DATA_LEN_ALIGN_32BYTES
Definition hcc_bus_types.h:50
@ HCC_DATA_LEN_ALIGN_WORD
Definition hcc_bus_types.h:47
enum _hcc_serv_main_type hcc_service_type
enum _hcc_queue_dir_ hcc_queue_dir
td_u32(* hcc_msg_rx)(td_u8 *cb_data)
Definition hcc_types.h:38
ext_errno
Definition soc_errno.h:9
Definition hcc_bus_types.h:58
td_u32(* tx_proc)(hcc_bus *bus, hcc_trans_queue *queue, td_u16 *remain_pkt_nums)
Definition hcc_bus_types.h:59
td_void(* update_credit)(TD_CONST hcc_bus *bus, td_u32 free_cnt)
Definition hcc_bus_types.h:62
td_s32(* sleep_request)(hcc_bus *pst_bus)
Definition hcc_bus_types.h:78
td_s32(* wakeup_request)(hcc_bus *pst_bus)
Definition hcc_bus_types.h:79
td_s32(* get_credit)(hcc_bus *bus, td_u32 *free_cnt)
Definition hcc_bus_types.h:63
td_s32(* pm_notify_register)(hcc_bus *pst_bus, bus_pm_notify suspend_func, bus_pm_notify resume_func)
Definition hcc_bus_types.h:80
td_void(* flow_off)(hcc_bus *bus, td_bool check)
Definition hcc_bus_types.h:75
td_s32(* power_action)(hcc_bus *pst_bus, hcc_bus_power_action_type action)
Definition hcc_bus_types.h:77
td_s32(* reinit)(hcc_bus *pst_bus)
Definition hcc_bus_types.h:72
ext_errno(* send_and_clear_msg)(TD_CONST hcc_bus *bus, td_u32 msg)
Definition hcc_bus_types.h:60
td_s32(* resume_xfer)(td_void)
Definition hcc_bus_types.h:74
td_bool(* is_busy)(hcc_queue_dir dir)
Definition hcc_bus_types.h:61
td_void(* stop_xfer)(td_void)
Definition hcc_bus_types.h:73
td_void(* flow_on)(hcc_bus *bus, td_bool unc_alloc)
Definition hcc_bus_types.h:76
Definition hcc_bus_types.h:91
td_void * hcc
Definition hcc_bus_types.h:98
td_u32 addr_align
Definition hcc_bus_types.h:94
bus_dev_ops * bus_ops
Definition hcc_bus_types.h:106
td_u32 bus_type
Definition hcc_bus_types.h:92
td_u32 state
Definition hcc_bus_types.h:110
td_u32 max_assemble_cnt
Definition hcc_bus_types.h:96
hcc_bus_dfx_f hcc_bus_dfx
Definition hcc_bus_types.h:104
td_u32 cap_max_trans_size
Definition hcc_bus_types.h:113
td_u32 tx_sched_count
Definition hcc_bus_types.h:111
td_u32 len_align
Definition hcc_bus_types.h:95
struct bus_msg_stru msg[32]
Definition hcc_bus_types.h:108
td_u32 force_update_queue_id
Definition hcc_bus_types.h:112
hcc_unc_struc * rsv_buf
Definition hcc_bus_types.h:100
hcc_service_f hcc_srv_hook
Definition hcc_bus_types.h:105
td_u32 max_trans_size
Definition hcc_bus_types.h:93
td_void * data
Definition hcc_bus_types.h:99
td_u32 last_msg
Definition hcc_bus_types.h:109
td_u32 descr_align_bit
Definition hcc_bus_types.h:97
Definition hcc_queue.h:41
Definition hcc_queue.h:27
Definition hcc_bus_types.h:83
td_void * data
Definition hcc_bus_types.h:85
hcc_msg_rx msg_rx
Definition hcc_bus_types.h:84
osal_atomic count
Definition hcc_bus_types.h:86
Definition osal_atomic.h:18
#define TD_CONST
Definition td_base.h:18
unsigned short td_u16
Definition td_type.h:37
unsigned char td_u8
Definition td_type.h:36
td_u8 td_bool
Definition td_type.h:50
void td_void
Definition td_type.h:49
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44