summaryrefslogtreecommitdiff
path: root/drivers/char/mux_sdio_opt1_hal/ipc_info.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/mux_sdio_opt1_hal/ipc_info.h')
-rw-r--r--drivers/char/mux_sdio_opt1_hal/ipc_info.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/drivers/char/mux_sdio_opt1_hal/ipc_info.h b/drivers/char/mux_sdio_opt1_hal/ipc_info.h
new file mode 100644
index 00000000..f603440a
--- /dev/null
+++ b/drivers/char/mux_sdio_opt1_hal/ipc_info.h
@@ -0,0 +1,52 @@
+#ifndef __ipc_info_H__
+#define __ipc_info_H__
+
+#define IPC_STATUS_IDLE 0
+#define IPC_STATUS_IRQ_IND 1
+#define IPC_STATUS_CONNECT_REQ 2
+#define IPC_STATUS_CONNECTED 3
+#define IPC_STATUS_DISCONNECT_REQ 4
+#define IPC_STATUS_DISCONNECTED 5
+#define IPC_STATUS_FLOW_STOP 6
+#define IPC_STATUS_INVALID_PACKET 7
+#define IPC_STATUS_CRC_ERROR 8
+#define IPC_STATUS_PACKET_ERROR 9
+#define IPC_STATUS_INVAILD 10
+
+
+#define IPC_TX_CHANNEL 0
+#define IPC_RX_CHANNEL 1
+#define IPC_CHANNEL_NUM 2
+
+typedef struct IPC_INFO_Tag {
+ u32 status;
+ u32 rate;
+ u32 mux_count;
+ u32 sdio_count;
+ u32 payload_count;
+ u32 saved_count;
+ u32 flow_stop_count;
+ u32 invalid_pkt_count;
+ u32 packet_error_count;
+ u32 crc_error_count;
+ u32 overflow_count;
+} IPC_INFO_T;
+
+
+void ipc_info_init(void);
+void ipc_info_change_status(u32 channel, u32 status);
+void ipc_info_rate(u32 channel, u32 value);
+void ipc_info_mux_write(u32 size);
+void ipc_info_mux_read(u32 size);
+void ipc_info_mux_read_overflow(u32 size);
+void ipc_info_sdio_write(u32 size);
+void ipc_info_sdio_write_payload(u32 size);
+void ipc_info_sdio_write_overflow(u32 size);
+void ipc_info_sdio_read(u32 size);
+void ipc_info_sdio_read_payload(u32 size);
+void ipc_info_sdio_read_saved_count(u32 size);
+void ipc_info_error_status(u32 channel, u32 status);
+void ipc_info_sdio_write_overflow(u32 size);
+IPC_INFO_T* ipc_info_getinfo(u32 channel);
+int sdio_frame_check(char* buf_ptr, size_t length);
+#endif /* __MICP_PERF_H__*/