xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8822cs/hal/halmac/halmac_sdio_reg.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /******************************************************************************
2  *
3  * Copyright(c) 2016 - 2019 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  ******************************************************************************/
15 
16 #ifndef __HALMAC_SDIO_REG_H__
17 #define __HALMAC_SDIO_REG_H__
18 
19 /* SDIO CMD address mapping */
20 
21 #define HALMAC_SDIO_4BYTE_LEN_MASK      0x1FFF
22 #define HALMAC_SDIO_LOCAL_MSK           0x0FFF
23 #define HALMAC_WLAN_MAC_REG_MSK		0xFFFF
24 #define	HALMAC_WLAN_IOREG_MSK		0xFFFF
25 
26 /* Sdio Address for SDIO Local Reg, TRX FIFO, MAC Reg */
27 enum halmac_sdio_cmd_addr {
28 	HALMAC_SDIO_CMD_ADDR_SDIO_REG = 0,
29 	HALMAC_SDIO_CMD_ADDR_MAC_REG = 8,
30 	HALMAC_SDIO_CMD_ADDR_TXFF_HIGH = 4,
31 	HALMAC_SDIO_CMD_ADDR_TXFF_LOW = 6,
32 	HALMAC_SDIO_CMD_ADDR_TXFF_NORMAL = 5,
33 	HALMAC_SDIO_CMD_ADDR_TXFF_EXTRA = 7,
34 	HALMAC_SDIO_CMD_ADDR_RXFF = 7,
35 };
36 
37 /* IO Bus domain address mapping */
38 #define SDIO_LOCAL_OFFSET		0x10250000
39 #define WLAN_IOREG_OFFSET		0x10260000
40 #define FW_FIFO_OFFSET			0x10270000
41 #define TX_HIQ_OFFSET			0x10310000
42 #define TX_MIQ_OFFSET			0x10320000
43 #define TX_LOQ_OFFSET			0x10330000
44 #define TX_EXQ_OFFSET			0x10350000
45 #define RX_RXOFF_OFFSET			0x10340000
46 
47 /* Get TX WLAN FIFO information in CMD53 addr  */
48 #if (HALMAC_8822B_SUPPORT || HALMAC_8821C_SUPPORT)
49 #define GET_WLAN_TXFF_DEVICE_ID(cmd53_addr) \
50 			LE_BITS_TO_4BYTE((u32 *)cmd53_addr, 13, 4)
51 #define GET_WLAN_TXFF_PKT_SIZE(cmd53_addr) \
52 			(LE_BITS_TO_4BYTE((u32 *)cmd53_addr, 0, 13) << 2)
53 #endif
54 
55 #endif/* __HALMAC_SDIO_REG_H__ */
56