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