18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * This file is part of wl12xx 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (c) 1998-2007 Texas Instruments Incorporated 68c2ecf20Sopenharmony_ci * Copyright (C) 2008 Nokia Corporation 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#ifndef __REG_H__ 108c2ecf20Sopenharmony_ci#define __REG_H__ 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/bitops.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#define REGISTERS_BASE 0x00300000 158c2ecf20Sopenharmony_ci#define DRPW_BASE 0x00310000 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#define REGISTERS_DOWN_SIZE 0x00008800 188c2ecf20Sopenharmony_ci#define REGISTERS_WORK_SIZE 0x0000b000 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#define HW_ACCESS_ELP_CTRL_REG_ADDR 0x1FFFC 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci/* ELP register commands */ 238c2ecf20Sopenharmony_ci#define ELPCTRL_WAKE_UP 0x1 248c2ecf20Sopenharmony_ci#define ELPCTRL_WAKE_UP_WLAN_READY 0x5 258c2ecf20Sopenharmony_ci#define ELPCTRL_SLEEP 0x0 268c2ecf20Sopenharmony_ci/* ELP WLAN_READY bit */ 278c2ecf20Sopenharmony_ci#define ELPCTRL_WLAN_READY 0x2 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci/* Device Configuration registers*/ 308c2ecf20Sopenharmony_ci#define SOR_CFG (REGISTERS_BASE + 0x0800) 318c2ecf20Sopenharmony_ci#define ECPU_CTRL (REGISTERS_BASE + 0x0804) 328c2ecf20Sopenharmony_ci#define HI_CFG (REGISTERS_BASE + 0x0808) 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci/* EEPROM registers */ 358c2ecf20Sopenharmony_ci#define EE_START (REGISTERS_BASE + 0x080C) 368c2ecf20Sopenharmony_ci#define EE_CTL (REGISTERS_BASE + 0x2000) 378c2ecf20Sopenharmony_ci#define EE_DATA (REGISTERS_BASE + 0x2004) 388c2ecf20Sopenharmony_ci#define EE_ADDR (REGISTERS_BASE + 0x2008) 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci#define EE_CTL_READ 2 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci#define CHIP_ID_B (REGISTERS_BASE + 0x5674) 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci#define CHIP_ID_1251_PG10 (0x7010101) 458c2ecf20Sopenharmony_ci#define CHIP_ID_1251_PG11 (0x7020101) 468c2ecf20Sopenharmony_ci#define CHIP_ID_1251_PG12 (0x7030101) 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci#define ENABLE (REGISTERS_BASE + 0x5450) 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci/* Power Management registers */ 518c2ecf20Sopenharmony_ci#define ELP_CFG_MODE (REGISTERS_BASE + 0x5804) 528c2ecf20Sopenharmony_ci#define ELP_CMD (REGISTERS_BASE + 0x5808) 538c2ecf20Sopenharmony_ci#define PLL_CAL_TIME (REGISTERS_BASE + 0x5810) 548c2ecf20Sopenharmony_ci#define CLK_REQ_TIME (REGISTERS_BASE + 0x5814) 558c2ecf20Sopenharmony_ci#define CLK_BUF_TIME (REGISTERS_BASE + 0x5818) 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci#define CFG_PLL_SYNC_CNT (REGISTERS_BASE + 0x5820) 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci/* Scratch Pad registers*/ 608c2ecf20Sopenharmony_ci#define SCR_PAD0 (REGISTERS_BASE + 0x5608) 618c2ecf20Sopenharmony_ci#define SCR_PAD1 (REGISTERS_BASE + 0x560C) 628c2ecf20Sopenharmony_ci#define SCR_PAD2 (REGISTERS_BASE + 0x5610) 638c2ecf20Sopenharmony_ci#define SCR_PAD3 (REGISTERS_BASE + 0x5614) 648c2ecf20Sopenharmony_ci#define SCR_PAD4 (REGISTERS_BASE + 0x5618) 658c2ecf20Sopenharmony_ci#define SCR_PAD4_SET (REGISTERS_BASE + 0x561C) 668c2ecf20Sopenharmony_ci#define SCR_PAD4_CLR (REGISTERS_BASE + 0x5620) 678c2ecf20Sopenharmony_ci#define SCR_PAD5 (REGISTERS_BASE + 0x5624) 688c2ecf20Sopenharmony_ci#define SCR_PAD5_SET (REGISTERS_BASE + 0x5628) 698c2ecf20Sopenharmony_ci#define SCR_PAD5_CLR (REGISTERS_BASE + 0x562C) 708c2ecf20Sopenharmony_ci#define SCR_PAD6 (REGISTERS_BASE + 0x5630) 718c2ecf20Sopenharmony_ci#define SCR_PAD7 (REGISTERS_BASE + 0x5634) 728c2ecf20Sopenharmony_ci#define SCR_PAD8 (REGISTERS_BASE + 0x5638) 738c2ecf20Sopenharmony_ci#define SCR_PAD9 (REGISTERS_BASE + 0x563C) 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci/* Spare registers*/ 768c2ecf20Sopenharmony_ci#define SPARE_A1 (REGISTERS_BASE + 0x0994) 778c2ecf20Sopenharmony_ci#define SPARE_A2 (REGISTERS_BASE + 0x0998) 788c2ecf20Sopenharmony_ci#define SPARE_A3 (REGISTERS_BASE + 0x099C) 798c2ecf20Sopenharmony_ci#define SPARE_A4 (REGISTERS_BASE + 0x09A0) 808c2ecf20Sopenharmony_ci#define SPARE_A5 (REGISTERS_BASE + 0x09A4) 818c2ecf20Sopenharmony_ci#define SPARE_A6 (REGISTERS_BASE + 0x09A8) 828c2ecf20Sopenharmony_ci#define SPARE_A7 (REGISTERS_BASE + 0x09AC) 838c2ecf20Sopenharmony_ci#define SPARE_A8 (REGISTERS_BASE + 0x09B0) 848c2ecf20Sopenharmony_ci#define SPARE_B1 (REGISTERS_BASE + 0x5420) 858c2ecf20Sopenharmony_ci#define SPARE_B2 (REGISTERS_BASE + 0x5424) 868c2ecf20Sopenharmony_ci#define SPARE_B3 (REGISTERS_BASE + 0x5428) 878c2ecf20Sopenharmony_ci#define SPARE_B4 (REGISTERS_BASE + 0x542C) 888c2ecf20Sopenharmony_ci#define SPARE_B5 (REGISTERS_BASE + 0x5430) 898c2ecf20Sopenharmony_ci#define SPARE_B6 (REGISTERS_BASE + 0x5434) 908c2ecf20Sopenharmony_ci#define SPARE_B7 (REGISTERS_BASE + 0x5438) 918c2ecf20Sopenharmony_ci#define SPARE_B8 (REGISTERS_BASE + 0x543C) 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_cienum wl12xx_acx_int_reg { 948c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_TRIG, 958c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_TRIG_H, 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci/*============================================= 988c2ecf20Sopenharmony_ci Host Interrupt Mask Register - 32bit (RW) 998c2ecf20Sopenharmony_ci ------------------------------------------ 1008c2ecf20Sopenharmony_ci Setting a bit in this register masks the 1018c2ecf20Sopenharmony_ci corresponding interrupt to the host. 1028c2ecf20Sopenharmony_ci 0 - RX0 - Rx first dubble buffer Data Interrupt 1038c2ecf20Sopenharmony_ci 1 - TXD - Tx Data Interrupt 1048c2ecf20Sopenharmony_ci 2 - TXXFR - Tx Transfer Interrupt 1058c2ecf20Sopenharmony_ci 3 - RX1 - Rx second dubble buffer Data Interrupt 1068c2ecf20Sopenharmony_ci 4 - RXXFR - Rx Transfer Interrupt 1078c2ecf20Sopenharmony_ci 5 - EVENT_A - Event Mailbox interrupt 1088c2ecf20Sopenharmony_ci 6 - EVENT_B - Event Mailbox interrupt 1098c2ecf20Sopenharmony_ci 7 - WNONHST - Wake On Host Interrupt 1108c2ecf20Sopenharmony_ci 8 - TRACE_A - Debug Trace interrupt 1118c2ecf20Sopenharmony_ci 9 - TRACE_B - Debug Trace interrupt 1128c2ecf20Sopenharmony_ci 10 - CDCMP - Command Complete Interrupt 1138c2ecf20Sopenharmony_ci 11 - 1148c2ecf20Sopenharmony_ci 12 - 1158c2ecf20Sopenharmony_ci 13 - 1168c2ecf20Sopenharmony_ci 14 - ICOMP - Initialization Complete Interrupt 1178c2ecf20Sopenharmony_ci 16 - SG SE - Soft Gemini - Sense enable interrupt 1188c2ecf20Sopenharmony_ci 17 - SG SD - Soft Gemini - Sense disable interrupt 1198c2ecf20Sopenharmony_ci 18 - - 1208c2ecf20Sopenharmony_ci 19 - - 1218c2ecf20Sopenharmony_ci 20 - - 1228c2ecf20Sopenharmony_ci 21- - 1238c2ecf20Sopenharmony_ci Default: 0x0001 1248c2ecf20Sopenharmony_ci*==============================================*/ 1258c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_MASK, 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci/*============================================= 1288c2ecf20Sopenharmony_ci Host Interrupt Mask Set 16bit, (Write only) 1298c2ecf20Sopenharmony_ci ------------------------------------------ 1308c2ecf20Sopenharmony_ci Setting a bit in this register sets 1318c2ecf20Sopenharmony_ci the corresponding bin in ACX_HINT_MASK register 1328c2ecf20Sopenharmony_ci without effecting the mask 1338c2ecf20Sopenharmony_ci state of other bits (0 = no effect). 1348c2ecf20Sopenharmony_ci==============================================*/ 1358c2ecf20Sopenharmony_ci ACX_REG_HINT_MASK_SET, 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci/*============================================= 1388c2ecf20Sopenharmony_ci Host Interrupt Mask Clear 16bit,(Write only) 1398c2ecf20Sopenharmony_ci ------------------------------------------ 1408c2ecf20Sopenharmony_ci Setting a bit in this register clears 1418c2ecf20Sopenharmony_ci the corresponding bin in ACX_HINT_MASK register 1428c2ecf20Sopenharmony_ci without effecting the mask 1438c2ecf20Sopenharmony_ci state of other bits (0 = no effect). 1448c2ecf20Sopenharmony_ci=============================================*/ 1458c2ecf20Sopenharmony_ci ACX_REG_HINT_MASK_CLR, 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci/*============================================= 1488c2ecf20Sopenharmony_ci Host Interrupt Status Nondestructive Read 1498c2ecf20Sopenharmony_ci 16bit,(Read only) 1508c2ecf20Sopenharmony_ci ------------------------------------------ 1518c2ecf20Sopenharmony_ci The host can read this register to determine 1528c2ecf20Sopenharmony_ci which interrupts are active. 1538c2ecf20Sopenharmony_ci Reading this register doesn't 1548c2ecf20Sopenharmony_ci effect its content. 1558c2ecf20Sopenharmony_ci=============================================*/ 1568c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_NO_CLEAR, 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci/*============================================= 1598c2ecf20Sopenharmony_ci Host Interrupt Status Clear on Read Register 1608c2ecf20Sopenharmony_ci 16bit,(Read only) 1618c2ecf20Sopenharmony_ci ------------------------------------------ 1628c2ecf20Sopenharmony_ci The host can read this register to determine 1638c2ecf20Sopenharmony_ci which interrupts are active. 1648c2ecf20Sopenharmony_ci Reading this register clears it, 1658c2ecf20Sopenharmony_ci thus making all interrupts inactive. 1668c2ecf20Sopenharmony_ci==============================================*/ 1678c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_CLEAR, 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci/*============================================= 1708c2ecf20Sopenharmony_ci Host Interrupt Acknowledge Register 1718c2ecf20Sopenharmony_ci 16bit,(Write only) 1728c2ecf20Sopenharmony_ci ------------------------------------------ 1738c2ecf20Sopenharmony_ci The host can set individual bits in this 1748c2ecf20Sopenharmony_ci register to clear (acknowledge) the corresp. 1758c2ecf20Sopenharmony_ci interrupt status bits in the HINT_STS_CLR and 1768c2ecf20Sopenharmony_ci HINT_STS_ND registers, thus making the 1778c2ecf20Sopenharmony_ci assotiated interrupt inactive. (0-no effect) 1788c2ecf20Sopenharmony_ci==============================================*/ 1798c2ecf20Sopenharmony_ci ACX_REG_INTERRUPT_ACK, 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci/*=============================================== 1828c2ecf20Sopenharmony_ci Host Software Reset - 32bit RW 1838c2ecf20Sopenharmony_ci ------------------------------------------ 1848c2ecf20Sopenharmony_ci [31:1] Reserved 1858c2ecf20Sopenharmony_ci 0 SOFT_RESET Soft Reset - When this bit is set, 1868c2ecf20Sopenharmony_ci it holds the Wlan hardware in a soft reset state. 1878c2ecf20Sopenharmony_ci This reset disables all MAC and baseband processor 1888c2ecf20Sopenharmony_ci clocks except the CardBus/PCI interface clock. 1898c2ecf20Sopenharmony_ci It also initializes all MAC state machines except 1908c2ecf20Sopenharmony_ci the host interface. It does not reload the 1918c2ecf20Sopenharmony_ci contents of the EEPROM. When this bit is cleared 1928c2ecf20Sopenharmony_ci (not self-clearing), the Wlan hardware 1938c2ecf20Sopenharmony_ci exits the software reset state. 1948c2ecf20Sopenharmony_ci===============================================*/ 1958c2ecf20Sopenharmony_ci ACX_REG_SLV_SOFT_RESET, 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci/*=============================================== 1988c2ecf20Sopenharmony_ci EEPROM Burst Read Start - 32bit RW 1998c2ecf20Sopenharmony_ci ------------------------------------------ 2008c2ecf20Sopenharmony_ci [31:1] Reserved 2018c2ecf20Sopenharmony_ci 0 ACX_EE_START - EEPROM Burst Read Start 0 2028c2ecf20Sopenharmony_ci Setting this bit starts a burst read from 2038c2ecf20Sopenharmony_ci the external EEPROM. 2048c2ecf20Sopenharmony_ci If this bit is set (after reset) before an EEPROM read/write, 2058c2ecf20Sopenharmony_ci the burst read starts at EEPROM address 0. 2068c2ecf20Sopenharmony_ci Otherwise, it starts at the address 2078c2ecf20Sopenharmony_ci following the address of the previous access. 2088c2ecf20Sopenharmony_ci TheWlan hardware hardware clears this bit automatically. 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci Default: 0x00000000 2118c2ecf20Sopenharmony_ci*================================================*/ 2128c2ecf20Sopenharmony_ci ACX_REG_EE_START, 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci/* Embedded ARM CPU Control */ 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci/*=============================================== 2178c2ecf20Sopenharmony_ci Halt eCPU - 32bit RW 2188c2ecf20Sopenharmony_ci ------------------------------------------ 2198c2ecf20Sopenharmony_ci 0 HALT_ECPU Halt Embedded CPU - This bit is the 2208c2ecf20Sopenharmony_ci complement of bit 1 (MDATA2) in the SOR_CFG register. 2218c2ecf20Sopenharmony_ci During a hardware reset, this bit holds 2228c2ecf20Sopenharmony_ci the inverse of MDATA2. 2238c2ecf20Sopenharmony_ci When downloading firmware from the host, 2248c2ecf20Sopenharmony_ci set this bit (pull down MDATA2). 2258c2ecf20Sopenharmony_ci The host clears this bit after downloading the firmware into 2268c2ecf20Sopenharmony_ci zero-wait-state SSRAM. 2278c2ecf20Sopenharmony_ci When loading firmware from Flash, clear this bit (pull up MDATA2) 2288c2ecf20Sopenharmony_ci so that the eCPU can run the bootloader code in Flash 2298c2ecf20Sopenharmony_ci HALT_ECPU eCPU State 2308c2ecf20Sopenharmony_ci -------------------- 2318c2ecf20Sopenharmony_ci 1 halt eCPU 2328c2ecf20Sopenharmony_ci 0 enable eCPU 2338c2ecf20Sopenharmony_ci ===============================================*/ 2348c2ecf20Sopenharmony_ci ACX_REG_ECPU_CONTROL, 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ci ACX_REG_TABLE_LEN 2378c2ecf20Sopenharmony_ci}; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci#define ACX_SLV_SOFT_RESET_BIT BIT(0) 2408c2ecf20Sopenharmony_ci#define ACX_REG_EEPROM_START_BIT BIT(0) 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ci/* Command/Information Mailbox Pointers */ 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ci/*=============================================== 2458c2ecf20Sopenharmony_ci Command Mailbox Pointer - 32bit RW 2468c2ecf20Sopenharmony_ci ------------------------------------------ 2478c2ecf20Sopenharmony_ci This register holds the start address of 2488c2ecf20Sopenharmony_ci the command mailbox located in the Wlan hardware memory. 2498c2ecf20Sopenharmony_ci The host must read this pointer after a reset to 2508c2ecf20Sopenharmony_ci find the location of the command mailbox. 2518c2ecf20Sopenharmony_ci The Wlan hardware initializes the command mailbox 2528c2ecf20Sopenharmony_ci pointer with the default address of the command mailbox. 2538c2ecf20Sopenharmony_ci The command mailbox pointer is not valid until after 2548c2ecf20Sopenharmony_ci the host receives the Init Complete interrupt from 2558c2ecf20Sopenharmony_ci the Wlan hardware. 2568c2ecf20Sopenharmony_ci ===============================================*/ 2578c2ecf20Sopenharmony_ci#define REG_COMMAND_MAILBOX_PTR (SCR_PAD0) 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci/*=============================================== 2608c2ecf20Sopenharmony_ci Information Mailbox Pointer - 32bit RW 2618c2ecf20Sopenharmony_ci ------------------------------------------ 2628c2ecf20Sopenharmony_ci This register holds the start address of 2638c2ecf20Sopenharmony_ci the information mailbox located in the Wlan hardware memory. 2648c2ecf20Sopenharmony_ci The host must read this pointer after a reset to find 2658c2ecf20Sopenharmony_ci the location of the information mailbox. 2668c2ecf20Sopenharmony_ci The Wlan hardware initializes the information mailbox pointer 2678c2ecf20Sopenharmony_ci with the default address of the information mailbox. 2688c2ecf20Sopenharmony_ci The information mailbox pointer is not valid 2698c2ecf20Sopenharmony_ci until after the host receives the Init Complete interrupt from 2708c2ecf20Sopenharmony_ci the Wlan hardware. 2718c2ecf20Sopenharmony_ci ===============================================*/ 2728c2ecf20Sopenharmony_ci#define REG_EVENT_MAILBOX_PTR (SCR_PAD1) 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci/* Misc */ 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci#define REG_ENABLE_TX_RX (ENABLE) 2788c2ecf20Sopenharmony_ci/* 2798c2ecf20Sopenharmony_ci * Rx configuration (filter) information element 2808c2ecf20Sopenharmony_ci * --------------------------------------------- 2818c2ecf20Sopenharmony_ci */ 2828c2ecf20Sopenharmony_ci#define REG_RX_CONFIG (RX_CFG) 2838c2ecf20Sopenharmony_ci#define REG_RX_FILTER (RX_FILTER_CFG) 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci 2868c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_PHY_HEADER_PLCP 0x0002 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci/* promiscuous - receives all valid frames */ 2898c2ecf20Sopenharmony_ci#define RX_CFG_PROMISCUOUS 0x0008 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci/* receives frames from any BSSID */ 2928c2ecf20Sopenharmony_ci#define RX_CFG_BSSID 0x0020 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci/* receives frames destined to any MAC address */ 2958c2ecf20Sopenharmony_ci#define RX_CFG_MAC 0x0010 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_ONLY_MY_DEST_MAC 0x0010 2988c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_ANY_DEST_MAC 0x0000 2998c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_ONLY_MY_BSSID 0x0020 3008c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_ANY_BSSID 0x0000 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci/* discards all broadcast frames */ 3038c2ecf20Sopenharmony_ci#define RX_CFG_DISABLE_BCAST 0x0200 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_ONLY_MY_SSID 0x0400 3068c2ecf20Sopenharmony_ci#define RX_CFG_ENABLE_RX_CMPLT_FCS_ERROR 0x0800 3078c2ecf20Sopenharmony_ci#define RX_CFG_COPY_RX_STATUS 0x2000 3088c2ecf20Sopenharmony_ci#define RX_CFG_TSF 0x10000 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_ANY_DST_MY_BSS (RX_CFG_ENABLE_ANY_DEST_MAC | \ 3118c2ecf20Sopenharmony_ci RX_CFG_ENABLE_ONLY_MY_BSSID) 3128c2ecf20Sopenharmony_ci 3138c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_MY_DST_ANY_BSS (RX_CFG_ENABLE_ONLY_MY_DEST_MAC\ 3148c2ecf20Sopenharmony_ci | RX_CFG_ENABLE_ANY_BSSID) 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_ANY_DST_ANY_BSS (RX_CFG_ENABLE_ANY_DEST_MAC | \ 3178c2ecf20Sopenharmony_ci RX_CFG_ENABLE_ANY_BSSID) 3188c2ecf20Sopenharmony_ci 3198c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_MY_DST_MY_BSS (RX_CFG_ENABLE_ONLY_MY_DEST_MAC\ 3208c2ecf20Sopenharmony_ci | RX_CFG_ENABLE_ONLY_MY_BSSID) 3218c2ecf20Sopenharmony_ci 3228c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_FOR_SCAN (RX_CFG_ENABLE_PHY_HEADER_PLCP \ 3238c2ecf20Sopenharmony_ci | RX_CFG_ENABLE_RX_CMPLT_FCS_ERROR \ 3248c2ecf20Sopenharmony_ci | RX_CFG_COPY_RX_STATUS | RX_CFG_TSF) 3258c2ecf20Sopenharmony_ci 3268c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_FOR_MEASUREMENT (RX_CFG_ENABLE_ANY_DEST_MAC) 3278c2ecf20Sopenharmony_ci 3288c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_FOR_JOIN (RX_CFG_ENABLE_ONLY_MY_BSSID | \ 3298c2ecf20Sopenharmony_ci RX_CFG_ENABLE_ONLY_MY_DEST_MAC) 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ci#define RX_CONFIG_OPTION_FOR_IBSS_JOIN (RX_CFG_ENABLE_ONLY_MY_SSID | \ 3328c2ecf20Sopenharmony_ci RX_CFG_ENABLE_ONLY_MY_DEST_MAC) 3338c2ecf20Sopenharmony_ci 3348c2ecf20Sopenharmony_ci#define RX_FILTER_OPTION_DEF (CFG_RX_MGMT_EN | CFG_RX_DATA_EN\ 3358c2ecf20Sopenharmony_ci | CFG_RX_CTL_EN | CFG_RX_BCN_EN\ 3368c2ecf20Sopenharmony_ci | CFG_RX_AUTH_EN | CFG_RX_ASSOC_EN) 3378c2ecf20Sopenharmony_ci 3388c2ecf20Sopenharmony_ci#define RX_FILTER_OPTION_FILTER_ALL 0 3398c2ecf20Sopenharmony_ci 3408c2ecf20Sopenharmony_ci#define RX_FILTER_OPTION_DEF_PRSP_BCN (CFG_RX_PRSP_EN | CFG_RX_MGMT_EN\ 3418c2ecf20Sopenharmony_ci | CFG_RX_RCTS_ACK | CFG_RX_BCN_EN) 3428c2ecf20Sopenharmony_ci 3438c2ecf20Sopenharmony_ci#define RX_FILTER_OPTION_JOIN (CFG_RX_MGMT_EN | CFG_RX_DATA_EN\ 3448c2ecf20Sopenharmony_ci | CFG_RX_BCN_EN | CFG_RX_AUTH_EN\ 3458c2ecf20Sopenharmony_ci | CFG_RX_ASSOC_EN | CFG_RX_RCTS_ACK\ 3468c2ecf20Sopenharmony_ci | CFG_RX_PRSP_EN) 3478c2ecf20Sopenharmony_ci 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ci/*=============================================== 3508c2ecf20Sopenharmony_ci EEPROM Read/Write Request 32bit RW 3518c2ecf20Sopenharmony_ci ------------------------------------------ 3528c2ecf20Sopenharmony_ci 1 EE_READ - EEPROM Read Request 1 - Setting this bit 3538c2ecf20Sopenharmony_ci loads a single byte of data into the EE_DATA 3548c2ecf20Sopenharmony_ci register from the EEPROM location specified in 3558c2ecf20Sopenharmony_ci the EE_ADDR register. 3568c2ecf20Sopenharmony_ci The Wlan hardware hardware clears this bit automatically. 3578c2ecf20Sopenharmony_ci EE_DATA is valid when this bit is cleared. 3588c2ecf20Sopenharmony_ci 3598c2ecf20Sopenharmony_ci 0 EE_WRITE - EEPROM Write Request - Setting this bit 3608c2ecf20Sopenharmony_ci writes a single byte of data from the EE_DATA register into the 3618c2ecf20Sopenharmony_ci EEPROM location specified in the EE_ADDR register. 3628c2ecf20Sopenharmony_ci The Wlan hardware hardware clears this bit automatically. 3638c2ecf20Sopenharmony_ci*===============================================*/ 3648c2ecf20Sopenharmony_ci#define EE_CTL (REGISTERS_BASE + 0x2000) 3658c2ecf20Sopenharmony_ci#define ACX_EE_CTL_REG EE_CTL 3668c2ecf20Sopenharmony_ci#define EE_WRITE 0x00000001ul 3678c2ecf20Sopenharmony_ci#define EE_READ 0x00000002ul 3688c2ecf20Sopenharmony_ci 3698c2ecf20Sopenharmony_ci/*=============================================== 3708c2ecf20Sopenharmony_ci EEPROM Address - 32bit RW 3718c2ecf20Sopenharmony_ci ------------------------------------------ 3728c2ecf20Sopenharmony_ci This register specifies the address 3738c2ecf20Sopenharmony_ci within the EEPROM from/to which to read/write data. 3748c2ecf20Sopenharmony_ci ===============================================*/ 3758c2ecf20Sopenharmony_ci#define EE_ADDR (REGISTERS_BASE + 0x2008) 3768c2ecf20Sopenharmony_ci#define ACX_EE_ADDR_REG EE_ADDR 3778c2ecf20Sopenharmony_ci 3788c2ecf20Sopenharmony_ci/*=============================================== 3798c2ecf20Sopenharmony_ci EEPROM Data - 32bit RW 3808c2ecf20Sopenharmony_ci ------------------------------------------ 3818c2ecf20Sopenharmony_ci This register either holds the read 8 bits of 3828c2ecf20Sopenharmony_ci data from the EEPROM or the write data 3838c2ecf20Sopenharmony_ci to be written to the EEPROM. 3848c2ecf20Sopenharmony_ci ===============================================*/ 3858c2ecf20Sopenharmony_ci#define EE_DATA (REGISTERS_BASE + 0x2004) 3868c2ecf20Sopenharmony_ci#define ACX_EE_DATA_REG EE_DATA 3878c2ecf20Sopenharmony_ci 3888c2ecf20Sopenharmony_ci#define EEPROM_ACCESS_TO 10000 /* timeout counter */ 3898c2ecf20Sopenharmony_ci#define START_EEPROM_MGR 0x00000001 3908c2ecf20Sopenharmony_ci 3918c2ecf20Sopenharmony_ci/*=============================================== 3928c2ecf20Sopenharmony_ci EEPROM Base Address - 32bit RW 3938c2ecf20Sopenharmony_ci ------------------------------------------ 3948c2ecf20Sopenharmony_ci This register holds the upper nine bits 3958c2ecf20Sopenharmony_ci [23:15] of the 24-bit Wlan hardware memory 3968c2ecf20Sopenharmony_ci address for burst reads from EEPROM accesses. 3978c2ecf20Sopenharmony_ci The EEPROM provides the lower 15 bits of this address. 3988c2ecf20Sopenharmony_ci The MSB of the address from the EEPROM is ignored. 3998c2ecf20Sopenharmony_ci ===============================================*/ 4008c2ecf20Sopenharmony_ci#define ACX_EE_CFG EE_CFG 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_ci/*=============================================== 4038c2ecf20Sopenharmony_ci GPIO Output Values -32bit, RW 4048c2ecf20Sopenharmony_ci ------------------------------------------ 4058c2ecf20Sopenharmony_ci [31:16] Reserved 4068c2ecf20Sopenharmony_ci [15: 0] Specify the output values (at the output driver inputs) for 4078c2ecf20Sopenharmony_ci GPIO[15:0], respectively. 4088c2ecf20Sopenharmony_ci ===============================================*/ 4098c2ecf20Sopenharmony_ci#define ACX_GPIO_OUT_REG GPIO_OUT 4108c2ecf20Sopenharmony_ci#define ACX_MAX_GPIO_LINES 15 4118c2ecf20Sopenharmony_ci 4128c2ecf20Sopenharmony_ci/*=============================================== 4138c2ecf20Sopenharmony_ci Contention window -32bit, RW 4148c2ecf20Sopenharmony_ci ------------------------------------------ 4158c2ecf20Sopenharmony_ci [31:26] Reserved 4168c2ecf20Sopenharmony_ci [25:16] Max (0x3ff) 4178c2ecf20Sopenharmony_ci [15:07] Reserved 4188c2ecf20Sopenharmony_ci [06:00] Current contention window value - default is 0x1F 4198c2ecf20Sopenharmony_ci ===============================================*/ 4208c2ecf20Sopenharmony_ci#define ACX_CONT_WIND_CFG_REG CONT_WIND_CFG 4218c2ecf20Sopenharmony_ci#define ACX_CONT_WIND_MIN_MASK 0x0000007f 4228c2ecf20Sopenharmony_ci#define ACX_CONT_WIND_MAX 0x03ff0000 4238c2ecf20Sopenharmony_ci 4248c2ecf20Sopenharmony_ci/*=============================================== 4258c2ecf20Sopenharmony_ci HI_CFG Interface Configuration Register Values 4268c2ecf20Sopenharmony_ci ------------------------------------------ 4278c2ecf20Sopenharmony_ci ===============================================*/ 4288c2ecf20Sopenharmony_ci#define HI_CFG_UART_ENABLE 0x00000004 4298c2ecf20Sopenharmony_ci#define HI_CFG_RST232_ENABLE 0x00000008 4308c2ecf20Sopenharmony_ci#define HI_CFG_CLOCK_REQ_SELECT 0x00000010 4318c2ecf20Sopenharmony_ci#define HI_CFG_HOST_INT_ENABLE 0x00000020 4328c2ecf20Sopenharmony_ci#define HI_CFG_VLYNQ_OUTPUT_ENABLE 0x00000040 4338c2ecf20Sopenharmony_ci#define HI_CFG_HOST_INT_ACTIVE_LOW 0x00000080 4348c2ecf20Sopenharmony_ci#define HI_CFG_UART_TX_OUT_GPIO_15 0x00000100 4358c2ecf20Sopenharmony_ci#define HI_CFG_UART_TX_OUT_GPIO_14 0x00000200 4368c2ecf20Sopenharmony_ci#define HI_CFG_UART_TX_OUT_GPIO_7 0x00000400 4378c2ecf20Sopenharmony_ci 4388c2ecf20Sopenharmony_ci/* 4398c2ecf20Sopenharmony_ci * NOTE: USE_ACTIVE_HIGH compilation flag should be defined in makefile 4408c2ecf20Sopenharmony_ci * for platforms using active high interrupt level 4418c2ecf20Sopenharmony_ci */ 4428c2ecf20Sopenharmony_ci#ifdef USE_ACTIVE_HIGH 4438c2ecf20Sopenharmony_ci#define HI_CFG_DEF_VAL \ 4448c2ecf20Sopenharmony_ci (HI_CFG_UART_ENABLE | \ 4458c2ecf20Sopenharmony_ci HI_CFG_RST232_ENABLE | \ 4468c2ecf20Sopenharmony_ci HI_CFG_CLOCK_REQ_SELECT | \ 4478c2ecf20Sopenharmony_ci HI_CFG_HOST_INT_ENABLE) 4488c2ecf20Sopenharmony_ci#else 4498c2ecf20Sopenharmony_ci#define HI_CFG_DEF_VAL \ 4508c2ecf20Sopenharmony_ci (HI_CFG_UART_ENABLE | \ 4518c2ecf20Sopenharmony_ci HI_CFG_RST232_ENABLE | \ 4528c2ecf20Sopenharmony_ci HI_CFG_CLOCK_REQ_SELECT | \ 4538c2ecf20Sopenharmony_ci HI_CFG_HOST_INT_ENABLE) 4548c2ecf20Sopenharmony_ci 4558c2ecf20Sopenharmony_ci#endif 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci#define REF_FREQ_19_2 0 4588c2ecf20Sopenharmony_ci#define REF_FREQ_26_0 1 4598c2ecf20Sopenharmony_ci#define REF_FREQ_38_4 2 4608c2ecf20Sopenharmony_ci#define REF_FREQ_40_0 3 4618c2ecf20Sopenharmony_ci#define REF_FREQ_33_6 4 4628c2ecf20Sopenharmony_ci#define REF_FREQ_NUM 5 4638c2ecf20Sopenharmony_ci 4648c2ecf20Sopenharmony_ci#define LUT_PARAM_INTEGER_DIVIDER 0 4658c2ecf20Sopenharmony_ci#define LUT_PARAM_FRACTIONAL_DIVIDER 1 4668c2ecf20Sopenharmony_ci#define LUT_PARAM_ATTN_BB 2 4678c2ecf20Sopenharmony_ci#define LUT_PARAM_ALPHA_BB 3 4688c2ecf20Sopenharmony_ci#define LUT_PARAM_STOP_TIME_BB 4 4698c2ecf20Sopenharmony_ci#define LUT_PARAM_BB_PLL_LOOP_FILTER 5 4708c2ecf20Sopenharmony_ci#define LUT_PARAM_NUM 6 4718c2ecf20Sopenharmony_ci 4728c2ecf20Sopenharmony_ci#define ACX_EEPROMLESS_IND_REG (SCR_PAD4) 4738c2ecf20Sopenharmony_ci#define USE_EEPROM 0 4748c2ecf20Sopenharmony_ci#define SOFT_RESET_MAX_TIME 1000000 4758c2ecf20Sopenharmony_ci#define SOFT_RESET_STALL_TIME 1000 4768c2ecf20Sopenharmony_ci#define NVS_DATA_BUNDARY_ALIGNMENT 4 4778c2ecf20Sopenharmony_ci 4788c2ecf20Sopenharmony_ci 4798c2ecf20Sopenharmony_ci/* Firmware image load chunk size */ 4808c2ecf20Sopenharmony_ci#define CHUNK_SIZE 512 4818c2ecf20Sopenharmony_ci 4828c2ecf20Sopenharmony_ci/* Firmware image header size */ 4838c2ecf20Sopenharmony_ci#define FW_HDR_SIZE 8 4848c2ecf20Sopenharmony_ci 4858c2ecf20Sopenharmony_ci#define ECPU_CONTROL_HALT 0x00000101 4868c2ecf20Sopenharmony_ci 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ci/****************************************************************************** 4898c2ecf20Sopenharmony_ci 4908c2ecf20Sopenharmony_ci CHANNELS, BAND & REG DOMAINS definitions 4918c2ecf20Sopenharmony_ci 4928c2ecf20Sopenharmony_ci******************************************************************************/ 4938c2ecf20Sopenharmony_ci 4948c2ecf20Sopenharmony_ci 4958c2ecf20Sopenharmony_cienum { 4968c2ecf20Sopenharmony_ci RADIO_BAND_2_4GHZ = 0, /* 2.4 Ghz band */ 4978c2ecf20Sopenharmony_ci RADIO_BAND_5GHZ = 1, /* 5 Ghz band */ 4988c2ecf20Sopenharmony_ci RADIO_BAND_JAPAN_4_9_GHZ = 2, 4998c2ecf20Sopenharmony_ci DEFAULT_BAND = RADIO_BAND_2_4GHZ, 5008c2ecf20Sopenharmony_ci INVALID_BAND = 0xFE, 5018c2ecf20Sopenharmony_ci MAX_RADIO_BANDS = 0xFF 5028c2ecf20Sopenharmony_ci}; 5038c2ecf20Sopenharmony_ci 5048c2ecf20Sopenharmony_cienum { 5058c2ecf20Sopenharmony_ci NO_RATE = 0, 5068c2ecf20Sopenharmony_ci RATE_1MBPS = 0x0A, 5078c2ecf20Sopenharmony_ci RATE_2MBPS = 0x14, 5088c2ecf20Sopenharmony_ci RATE_5_5MBPS = 0x37, 5098c2ecf20Sopenharmony_ci RATE_6MBPS = 0x0B, 5108c2ecf20Sopenharmony_ci RATE_9MBPS = 0x0F, 5118c2ecf20Sopenharmony_ci RATE_11MBPS = 0x6E, 5128c2ecf20Sopenharmony_ci RATE_12MBPS = 0x0A, 5138c2ecf20Sopenharmony_ci RATE_18MBPS = 0x0E, 5148c2ecf20Sopenharmony_ci RATE_22MBPS = 0xDC, 5158c2ecf20Sopenharmony_ci RATE_24MBPS = 0x09, 5168c2ecf20Sopenharmony_ci RATE_36MBPS = 0x0D, 5178c2ecf20Sopenharmony_ci RATE_48MBPS = 0x08, 5188c2ecf20Sopenharmony_ci RATE_54MBPS = 0x0C 5198c2ecf20Sopenharmony_ci}; 5208c2ecf20Sopenharmony_ci 5218c2ecf20Sopenharmony_cienum { 5228c2ecf20Sopenharmony_ci RATE_INDEX_1MBPS = 0, 5238c2ecf20Sopenharmony_ci RATE_INDEX_2MBPS = 1, 5248c2ecf20Sopenharmony_ci RATE_INDEX_5_5MBPS = 2, 5258c2ecf20Sopenharmony_ci RATE_INDEX_6MBPS = 3, 5268c2ecf20Sopenharmony_ci RATE_INDEX_9MBPS = 4, 5278c2ecf20Sopenharmony_ci RATE_INDEX_11MBPS = 5, 5288c2ecf20Sopenharmony_ci RATE_INDEX_12MBPS = 6, 5298c2ecf20Sopenharmony_ci RATE_INDEX_18MBPS = 7, 5308c2ecf20Sopenharmony_ci RATE_INDEX_22MBPS = 8, 5318c2ecf20Sopenharmony_ci RATE_INDEX_24MBPS = 9, 5328c2ecf20Sopenharmony_ci RATE_INDEX_36MBPS = 10, 5338c2ecf20Sopenharmony_ci RATE_INDEX_48MBPS = 11, 5348c2ecf20Sopenharmony_ci RATE_INDEX_54MBPS = 12, 5358c2ecf20Sopenharmony_ci RATE_INDEX_MAX = RATE_INDEX_54MBPS, 5368c2ecf20Sopenharmony_ci MAX_RATE_INDEX, 5378c2ecf20Sopenharmony_ci INVALID_RATE_INDEX = MAX_RATE_INDEX, 5388c2ecf20Sopenharmony_ci RATE_INDEX_ENUM_MAX_SIZE = 0x7FFFFFFF 5398c2ecf20Sopenharmony_ci}; 5408c2ecf20Sopenharmony_ci 5418c2ecf20Sopenharmony_cienum { 5428c2ecf20Sopenharmony_ci RATE_MASK_1MBPS = 0x1, 5438c2ecf20Sopenharmony_ci RATE_MASK_2MBPS = 0x2, 5448c2ecf20Sopenharmony_ci RATE_MASK_5_5MBPS = 0x4, 5458c2ecf20Sopenharmony_ci RATE_MASK_11MBPS = 0x20, 5468c2ecf20Sopenharmony_ci}; 5478c2ecf20Sopenharmony_ci 5488c2ecf20Sopenharmony_ci#define SHORT_PREAMBLE_BIT BIT(0) /* CCK or Barker depending on the rate */ 5498c2ecf20Sopenharmony_ci#define OFDM_RATE_BIT BIT(6) 5508c2ecf20Sopenharmony_ci#define PBCC_RATE_BIT BIT(7) 5518c2ecf20Sopenharmony_ci 5528c2ecf20Sopenharmony_cienum { 5538c2ecf20Sopenharmony_ci CCK_LONG = 0, 5548c2ecf20Sopenharmony_ci CCK_SHORT = SHORT_PREAMBLE_BIT, 5558c2ecf20Sopenharmony_ci PBCC_LONG = PBCC_RATE_BIT, 5568c2ecf20Sopenharmony_ci PBCC_SHORT = PBCC_RATE_BIT | SHORT_PREAMBLE_BIT, 5578c2ecf20Sopenharmony_ci OFDM = OFDM_RATE_BIT 5588c2ecf20Sopenharmony_ci}; 5598c2ecf20Sopenharmony_ci 5608c2ecf20Sopenharmony_ci/****************************************************************************** 5618c2ecf20Sopenharmony_ci 5628c2ecf20Sopenharmony_ciTransmit-Descriptor RATE-SET field definitions... 5638c2ecf20Sopenharmony_ci 5648c2ecf20Sopenharmony_ciDefine a new "Rate-Set" for TX path that incorporates the 5658c2ecf20Sopenharmony_ciRate & Modulation info into a single 16-bit field. 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_ciTxdRateSet_t: 5688c2ecf20Sopenharmony_cib15 - Indicates Preamble type (1=SHORT, 0=LONG). 5698c2ecf20Sopenharmony_ci Notes: 5708c2ecf20Sopenharmony_ci Must be LONG (0) for 1Mbps rate. 5718c2ecf20Sopenharmony_ci Does not apply (set to 0) for RevG-OFDM rates. 5728c2ecf20Sopenharmony_cib14 - Indicates PBCC encoding (1=PBCC, 0=not). 5738c2ecf20Sopenharmony_ci Notes: 5748c2ecf20Sopenharmony_ci Does not apply (set to 0) for rates 1 and 2 Mbps. 5758c2ecf20Sopenharmony_ci Does not apply (set to 0) for RevG-OFDM rates. 5768c2ecf20Sopenharmony_cib13 - Unused (set to 0). 5778c2ecf20Sopenharmony_cib12-b0 - Supported Rate indicator bits as defined below. 5788c2ecf20Sopenharmony_ci 5798c2ecf20Sopenharmony_ci******************************************************************************/ 5808c2ecf20Sopenharmony_ci 5818c2ecf20Sopenharmony_ci 5828c2ecf20Sopenharmony_ci/************************************************************************* 5838c2ecf20Sopenharmony_ci 5848c2ecf20Sopenharmony_ci Interrupt Trigger Register (Host -> WiLink) 5858c2ecf20Sopenharmony_ci 5868c2ecf20Sopenharmony_ci**************************************************************************/ 5878c2ecf20Sopenharmony_ci 5888c2ecf20Sopenharmony_ci/* Hardware to Embedded CPU Interrupts - first 32-bit register set */ 5898c2ecf20Sopenharmony_ci 5908c2ecf20Sopenharmony_ci/* 5918c2ecf20Sopenharmony_ci * Host Command Interrupt. Setting this bit masks 5928c2ecf20Sopenharmony_ci * the interrupt that the host issues to inform 5938c2ecf20Sopenharmony_ci * the FW that it has sent a command 5948c2ecf20Sopenharmony_ci * to the Wlan hardware Command Mailbox. 5958c2ecf20Sopenharmony_ci */ 5968c2ecf20Sopenharmony_ci#define INTR_TRIG_CMD BIT(0) 5978c2ecf20Sopenharmony_ci 5988c2ecf20Sopenharmony_ci/* 5998c2ecf20Sopenharmony_ci * Host Event Acknowlegde Interrupt. The host 6008c2ecf20Sopenharmony_ci * sets this bit to acknowledge that it received 6018c2ecf20Sopenharmony_ci * the unsolicited information from the event 6028c2ecf20Sopenharmony_ci * mailbox. 6038c2ecf20Sopenharmony_ci */ 6048c2ecf20Sopenharmony_ci#define INTR_TRIG_EVENT_ACK BIT(1) 6058c2ecf20Sopenharmony_ci 6068c2ecf20Sopenharmony_ci/* 6078c2ecf20Sopenharmony_ci * The host sets this bit to inform the Wlan 6088c2ecf20Sopenharmony_ci * FW that a TX packet is in the XFER 6098c2ecf20Sopenharmony_ci * Buffer #0. 6108c2ecf20Sopenharmony_ci */ 6118c2ecf20Sopenharmony_ci#define INTR_TRIG_TX_PROC0 BIT(2) 6128c2ecf20Sopenharmony_ci 6138c2ecf20Sopenharmony_ci/* 6148c2ecf20Sopenharmony_ci * The host sets this bit to inform the FW 6158c2ecf20Sopenharmony_ci * that it read a packet from RX XFER 6168c2ecf20Sopenharmony_ci * Buffer #0. 6178c2ecf20Sopenharmony_ci */ 6188c2ecf20Sopenharmony_ci#define INTR_TRIG_RX_PROC0 BIT(3) 6198c2ecf20Sopenharmony_ci 6208c2ecf20Sopenharmony_ci#define INTR_TRIG_DEBUG_ACK BIT(4) 6218c2ecf20Sopenharmony_ci 6228c2ecf20Sopenharmony_ci#define INTR_TRIG_STATE_CHANGED BIT(5) 6238c2ecf20Sopenharmony_ci 6248c2ecf20Sopenharmony_ci 6258c2ecf20Sopenharmony_ci/* Hardware to Embedded CPU Interrupts - second 32-bit register set */ 6268c2ecf20Sopenharmony_ci 6278c2ecf20Sopenharmony_ci/* 6288c2ecf20Sopenharmony_ci * The host sets this bit to inform the FW 6298c2ecf20Sopenharmony_ci * that it read a packet from RX XFER 6308c2ecf20Sopenharmony_ci * Buffer #1. 6318c2ecf20Sopenharmony_ci */ 6328c2ecf20Sopenharmony_ci#define INTR_TRIG_RX_PROC1 BIT(17) 6338c2ecf20Sopenharmony_ci 6348c2ecf20Sopenharmony_ci/* 6358c2ecf20Sopenharmony_ci * The host sets this bit to inform the Wlan 6368c2ecf20Sopenharmony_ci * hardware that a TX packet is in the XFER 6378c2ecf20Sopenharmony_ci * Buffer #1. 6388c2ecf20Sopenharmony_ci */ 6398c2ecf20Sopenharmony_ci#define INTR_TRIG_TX_PROC1 BIT(18) 6408c2ecf20Sopenharmony_ci 6418c2ecf20Sopenharmony_ci#endif 642