WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
mpw_ssi_reg_if.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
3 * Description: mpw ssi 操作寄存器接口
4 */
5
6#ifndef __MPW_SSI_REG_IF_H__
7#define __MPW_SSI_REG_IF_H__
8
9/*****************************************************************************
10 1 其他头文件包含
11*****************************************************************************/
12#include "osal_types.h"
13#include "fe_rf_dev.h"
14#include "hal_soc_rom.h"
15/*****************************************************************************
16 2 宏定义
17*****************************************************************************/
18#ifdef BUILD_UT
19#define SSI0_BASE_ADDR (osal_u32)g_rf_ssi0_mst_rb_base_addr
20#define SSI1_BASE_ADDR (osal_u32)g_rf_ssi0_mst_rb_base_addr + 0x400
21#else
22#define SSI0_BASE_ADDR (HH503_SSI0_MST_RB_BASE_ADDR) // wifi用,控制MPW0
23#define SSI1_BASE_ADDR (HH503_SSI1_MST_RB_BASE_ADDR) // wifi用,控制MPW1
24#endif
25#define SSI2_BASE_ADDR (0x48009000) // bt用,控制MPW2
26#define SSI3_BASE_ADDR (0x48009400) // gnss、fm用,控制MPW3
27
28#define SSI_ADDR (0x8000)
29
30#define SSI_ADDR_REG (0x30) // SSI读写地址寄存器
31#define SSI_RW_REG (0x34) // SSI读、标志寄存器
32#define SSI_WDATA_REG (0x38) // SSI写数据寄存器
33#define SSI_RDATA_REG (0x3c) // SSI读数据寄存器
34#define SSI_TRANS_DONE (0x40) // SSI读写完成指示寄存器
35#define SSI_RST_N (0x44)
36#define SSI_RD_ERR (0x48)
37#define SSI_HW (0x4c)
38
39/* SSI读写配置 */
40#define SSIREAD (1)
41#define SSIWRITE (0)
42
43/* 设置读写开始标志 */
44#define SSIWORKFLAG (1)
45#define SSIWORKDONEFLAG (0)
46
47#define COMMONWORK_FLAG_INIT (0x0)
48#define COMMONWORK_FLAG_DOING (0x1)
49#define COMMONWORK_FLAG_DONE (0x2)
50
51#define WIFI_SSI1_COMMONWORK_FLAG_INIT (0x10)
52#define WIFI_SSI1_COMMONWORK_FLAG_DOING (0x11)
53#define WIFI_SSI1_COMMONWORK_FLAG_DONE (0x12)
54
55typedef enum {
57 IAM_BFGN = 1
59
60osal_void ssi_write_reg(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 val);
61osal_s8 ssi_read_reg(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 *read_val);
62osal_void ssi_check_reg_rw(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 value);
63osal_void fe_mpw_read_reg(const hal_rf_dev *rf_dev, osal_u32 reg_addr, osal_u16 *reg_val);
64osal_void fe_mpw_write_reg(const hal_rf_dev *rf_dev, osal_u32 reg_addr, osal_u16 reg_val);
65
66#endif /* end of mpw_ssi_reg_if.h */
osal_s8 ssi_read_reg(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 *read_val)
osal_void ssi_check_reg_rw(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 value)
osal_void fe_mpw_write_reg(const hal_rf_dev *rf_dev, osal_u32 reg_addr, osal_u16 reg_val)
curr_sys_type
Definition mpw_ssi_reg_if.h:55
@ IAM_BFGN
Definition mpw_ssi_reg_if.h:57
@ IAM_WIFI
Definition mpw_ssi_reg_if.h:56
osal_void fe_mpw_read_reg(const hal_rf_dev *rf_dev, osal_u32 reg_addr, osal_u16 *reg_val)
osal_void ssi_write_reg(osal_u32 ssi_base_addr, osal_u32 addr_offset, osal_u16 val)
signed char osal_s8
Definition osal_types.h:17
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition fe_rf_dev.h:22