162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright (c) 2015 Qualcomm Atheros Inc. 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Permission to use, copy, modify, and/or distribute this software for any 562306a36Sopenharmony_ci * purpose with or without fee is hereby granted, provided that the above 662306a36Sopenharmony_ci * copyright notice and this permission notice appear in all copies. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 962306a36Sopenharmony_ci * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1062306a36Sopenharmony_ci * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1162306a36Sopenharmony_ci * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1262306a36Sopenharmony_ci * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1362306a36Sopenharmony_ci * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1462306a36Sopenharmony_ci * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1562306a36Sopenharmony_ci */ 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#ifndef REG_MCI_H 1862306a36Sopenharmony_ci#define REG_MCI_H 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#define AR_MCI_COMMAND0 0x1800 2162306a36Sopenharmony_ci#define AR_MCI_COMMAND0_HEADER 0xFF 2262306a36Sopenharmony_ci#define AR_MCI_COMMAND0_HEADER_S 0 2362306a36Sopenharmony_ci#define AR_MCI_COMMAND0_LEN 0x1f00 2462306a36Sopenharmony_ci#define AR_MCI_COMMAND0_LEN_S 8 2562306a36Sopenharmony_ci#define AR_MCI_COMMAND0_DISABLE_TIMESTAMP 0x2000 2662306a36Sopenharmony_ci#define AR_MCI_COMMAND0_DISABLE_TIMESTAMP_S 13 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci#define AR_MCI_COMMAND1 0x1804 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci#define AR_MCI_COMMAND2 0x1808 3162306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_TX 0x01 3262306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_TX_S 0 3362306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_RX 0x02 3462306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_RX_S 1 3562306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_RX_NUM_CYCLES 0x3FC 3662306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_RX_NUM_CYCLES_S 2 3762306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_REQ_WAKEUP 0x400 3862306a36Sopenharmony_ci#define AR_MCI_COMMAND2_RESET_REQ_WAKEUP_S 10 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define AR_MCI_RX_CTRL 0x180c 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci#define AR_MCI_TX_CTRL 0x1810 4362306a36Sopenharmony_ci/* 4462306a36Sopenharmony_ci * 0 = no division, 4562306a36Sopenharmony_ci * 1 = divide by 2, 4662306a36Sopenharmony_ci * 2 = divide by 4, 4762306a36Sopenharmony_ci * 3 = divide by 8 4862306a36Sopenharmony_ci */ 4962306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_CLK_DIV 0x03 5062306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_CLK_DIV_S 0 5162306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE 0x04 5262306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE_S 2 5362306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_GAIN_UPDATE_FREQ 0xFFFFF8 5462306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_GAIN_UPDATE_FREQ_S 3 5562306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_GAIN_UPDATE_NUM 0xF000000 5662306a36Sopenharmony_ci#define AR_MCI_TX_CTRL_GAIN_UPDATE_NUM_S 24 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#define AR_MCI_MSG_ATTRIBUTES_TABLE 0x1814 5962306a36Sopenharmony_ci#define AR_MCI_MSG_ATTRIBUTES_TABLE_CHECKSUM 0xFFFF 6062306a36Sopenharmony_ci#define AR_MCI_MSG_ATTRIBUTES_TABLE_CHECKSUM_S 0 6162306a36Sopenharmony_ci#define AR_MCI_MSG_ATTRIBUTES_TABLE_INVALID_HDR 0xFFFF0000 6262306a36Sopenharmony_ci#define AR_MCI_MSG_ATTRIBUTES_TABLE_INVALID_HDR_S 16 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_0 0x1818 6562306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_1 0x181c 6662306a36Sopenharmony_ci#define AR_MCI_GPM_0 0x1820 6762306a36Sopenharmony_ci#define AR_MCI_GPM_1 0x1824 6862306a36Sopenharmony_ci#define AR_MCI_GPM_WRITE_PTR 0xFFFF0000 6962306a36Sopenharmony_ci#define AR_MCI_GPM_WRITE_PTR_S 16 7062306a36Sopenharmony_ci#define AR_MCI_GPM_BUF_LEN 0x0000FFFF 7162306a36Sopenharmony_ci#define AR_MCI_GPM_BUF_LEN_S 0 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RAW 0x1828 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_EN 0x182c 7662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_SW_MSG_DONE 0x00000001 7762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_SW_MSG_DONE_S 0 7862306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_CPU_INT_MSG 0x00000002 7962306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_CPU_INT_MSG_S 1 8062306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_CKSUM_FAIL 0x00000004 8162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_CKSUM_FAIL_S 2 8262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_INVALID_HDR 0x00000008 8362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_INVALID_HDR_S 3 8462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_HW_MSG_FAIL 0x00000010 8562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_HW_MSG_FAIL_S 4 8662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_SW_MSG_FAIL 0x00000020 8762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_SW_MSG_FAIL_S 5 8862306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_TX_HW_MSG_FAIL 0x00000080 8962306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_TX_HW_MSG_FAIL_S 7 9062306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_TX_SW_MSG_FAIL 0x00000100 9162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_TX_SW_MSG_FAIL_S 8 9262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG 0x00000200 9362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_S 9 9462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE 0x00000400 9562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE_S 10 9662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_PRI 0x07fff800 9762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_PRI_S 11 9862306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_PRI_THRESH 0x08000000 9962306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_PRI_THRESH_S 27 10062306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_FREQ 0x10000000 10162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_FREQ_S 28 10262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_STOMP 0x20000000 10362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BT_STOMP_S 29 10462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BB_AIC_IRQ 0x40000000 10562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_BB_AIC_IRQ_S 30 10662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT 0x80000000 10762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT_S 31 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci#define AR_MCI_REMOTE_CPU_INT 0x1830 11062306a36Sopenharmony_ci#define AR_MCI_REMOTE_CPU_INT_EN 0x1834 11162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_RAW 0x1838 11262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_EN 0x183c 11362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET 0x00000001 11462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET_S 0 11562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL 0x00000002 11662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL_S 1 11762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_NACK 0x00000004 11862306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_NACK_S 2 11962306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_INFO 0x00000008 12062306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_INFO_S 3 12162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_RST 0x00000010 12262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CONT_RST_S 4 12362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO 0x00000020 12462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO_S 5 12562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CPU_INT 0x00000040 12662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_CPU_INT_S 6 12762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_GPM 0x00000100 12862306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_GPM_S 8 12962306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_LNA_INFO 0x00000200 13062306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_LNA_INFO_S 9 13162306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING 0x00000400 13262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING_S 10 13362306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING 0x00000800 13462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING_S 11 13562306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE 0x00001000 13662306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE_S 12 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci#define AR_MCI_CPU_INT 0x1840 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci#define AR_MCI_RX_STATUS 0x1844 14162306a36Sopenharmony_ci#define AR_MCI_RX_LAST_SCHD_MSG_INDEX 0x00000F00 14262306a36Sopenharmony_ci#define AR_MCI_RX_LAST_SCHD_MSG_INDEX_S 8 14362306a36Sopenharmony_ci#define AR_MCI_RX_REMOTE_SLEEP 0x00001000 14462306a36Sopenharmony_ci#define AR_MCI_RX_REMOTE_SLEEP_S 12 14562306a36Sopenharmony_ci#define AR_MCI_RX_MCI_CLK_REQ 0x00002000 14662306a36Sopenharmony_ci#define AR_MCI_RX_MCI_CLK_REQ_S 13 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci#define AR_MCI_CONT_STATUS 0x1848 14962306a36Sopenharmony_ci#define AR_MCI_CONT_RSSI_POWER 0x000000FF 15062306a36Sopenharmony_ci#define AR_MCI_CONT_RSSI_POWER_S 0 15162306a36Sopenharmony_ci#define AR_MCI_CONT_PRIORITY 0x0000FF00 15262306a36Sopenharmony_ci#define AR_MCI_CONT_PRIORITY_S 8 15362306a36Sopenharmony_ci#define AR_MCI_CONT_TXRX 0x00010000 15462306a36Sopenharmony_ci#define AR_MCI_CONT_TXRX_S 16 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci#define AR_MCI_BT_PRI0 0x184c 15762306a36Sopenharmony_ci#define AR_MCI_BT_PRI1 0x1850 15862306a36Sopenharmony_ci#define AR_MCI_BT_PRI2 0x1854 15962306a36Sopenharmony_ci#define AR_MCI_BT_PRI3 0x1858 16062306a36Sopenharmony_ci#define AR_MCI_BT_PRI 0x185c 16162306a36Sopenharmony_ci#define AR_MCI_WL_FREQ0 0x1860 16262306a36Sopenharmony_ci#define AR_MCI_WL_FREQ1 0x1864 16362306a36Sopenharmony_ci#define AR_MCI_WL_FREQ2 0x1868 16462306a36Sopenharmony_ci#define AR_MCI_GAIN 0x186c 16562306a36Sopenharmony_ci#define AR_MCI_WBTIMER1 0x1870 16662306a36Sopenharmony_ci#define AR_MCI_WBTIMER2 0x1874 16762306a36Sopenharmony_ci#define AR_MCI_WBTIMER3 0x1878 16862306a36Sopenharmony_ci#define AR_MCI_WBTIMER4 0x187c 16962306a36Sopenharmony_ci#define AR_MCI_MAXGAIN 0x1880 17062306a36Sopenharmony_ci#define AR_MCI_HW_SCHD_TBL_CTL 0x1884 17162306a36Sopenharmony_ci#define AR_MCI_HW_SCHD_TBL_D0 0x1888 17262306a36Sopenharmony_ci#define AR_MCI_HW_SCHD_TBL_D1 0x188c 17362306a36Sopenharmony_ci#define AR_MCI_HW_SCHD_TBL_D2 0x1890 17462306a36Sopenharmony_ci#define AR_MCI_HW_SCHD_TBL_D3 0x1894 17562306a36Sopenharmony_ci#define AR_MCI_TX_PAYLOAD0 0x1898 17662306a36Sopenharmony_ci#define AR_MCI_TX_PAYLOAD1 0x189c 17762306a36Sopenharmony_ci#define AR_MCI_TX_PAYLOAD2 0x18a0 17862306a36Sopenharmony_ci#define AR_MCI_TX_PAYLOAD3 0x18a4 17962306a36Sopenharmony_ci#define AR_BTCOEX_WBTIMER 0x18a8 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL 0x18ac 18262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_AR9462_MODE 0x00000001 18362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_AR9462_MODE_S 0 18462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_WBTIMER_EN 0x00000002 18562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_WBTIMER_EN_S 1 18662306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_MCI_MODE_EN 0x00000004 18762306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_MCI_MODE_EN_S 2 18862306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_LNA_SHARED 0x00000008 18962306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_LNA_SHARED_S 3 19062306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_PA_SHARED 0x00000010 19162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_PA_SHARED_S 4 19262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN 0x00000020 19362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_ONE_STEP_LOOK_AHEAD_EN_S 5 19462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_TIME_TO_NEXT_BT_THRESH_EN 0x00000040 19562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_TIME_TO_NEXT_BT_THRESH_EN_S 6 19662306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_NUM_ANTENNAS 0x00000180 19762306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_NUM_ANTENNAS_S 7 19862306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_RX_CHAIN_MASK 0x00000E00 19962306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_RX_CHAIN_MASK_S 9 20062306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_AGGR_THRESH 0x00007000 20162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_AGGR_THRESH_S 12 20262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_1_CHAIN_BCN 0x00080000 20362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_1_CHAIN_BCN_S 19 20462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_1_CHAIN_ACK 0x00100000 20562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_1_CHAIN_ACK_S 20 20662306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_WAIT_BA_MARGIN 0x1FE00000 20762306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_WAIT_BA_MARGIN_S 28 20862306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_REDUCE_TXPWR 0x20000000 20962306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_REDUCE_TXPWR_S 29 21062306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_ENABLE_10 0x40000000 21162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_ENABLE_10_S 30 21262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_POLARITY 0x80000000 21362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_POLARITY_S 31 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci#define AR_BTCOEX_WL_WEIGHTS0 0x18b0 21662306a36Sopenharmony_ci#define AR_BTCOEX_WL_WEIGHTS1 0x18b4 21762306a36Sopenharmony_ci#define AR_BTCOEX_WL_WEIGHTS2 0x18b8 21862306a36Sopenharmony_ci#define AR_BTCOEX_WL_WEIGHTS3 0x18bc 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci#define AR_BTCOEX_MAX_TXPWR(_x) (0x18c0 + ((_x) << 2)) 22162306a36Sopenharmony_ci#define AR_BTCOEX_WL_LNA 0x1940 22262306a36Sopenharmony_ci#define AR_BTCOEX_RFGAIN_CTRL 0x1944 22362306a36Sopenharmony_ci#define AR_BTCOEX_WL_LNA_TIMEOUT 0x003FFFFF 22462306a36Sopenharmony_ci#define AR_BTCOEX_WL_LNA_TIMEOUT_S 0 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2 0x1948 22762306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_TXPWR_THRESH 0x0007F800 22862306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_TXPWR_THRESH_S 11 22962306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_TX_CHAIN_MASK 0x00380000 23062306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_TX_CHAIN_MASK_S 19 23162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_RX_DEWEIGHT 0x00400000 23262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_RX_DEWEIGHT_S 22 23362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_GPIO_OBS_SEL 0x00800000 23462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_GPIO_OBS_SEL_S 23 23562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL 0x01000000 23662306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_MAC_BB_OBS_SEL_S 24 23762306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_DESC_BASED_TXPWR_ENABLE 0x02000000 23862306a36Sopenharmony_ci#define AR_BTCOEX_CTRL2_DESC_BASED_TXPWR_ENABLE_S 25 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_ENABLE 0x00000001 24162306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_SPDT_ENABLE_S 0 24262306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL 0x00000002 24362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_BT_OWN_SPDT_CTRL_S 1 24462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_USE_LATCHED_BT_ANT 0x00000004 24562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL_USE_LATCHED_BT_ANT_S 2 24662306a36Sopenharmony_ci#define AR_GLB_WLAN_UART_INTF_EN 0x00020000 24762306a36Sopenharmony_ci#define AR_GLB_WLAN_UART_INTF_EN_S 17 24862306a36Sopenharmony_ci#define AR_GLB_DS_JTAG_DISABLE 0x00040000 24962306a36Sopenharmony_ci#define AR_GLB_DS_JTAG_DISABLE_S 18 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci#define AR_BTCOEX_RC 0x194c 25262306a36Sopenharmony_ci#define AR_BTCOEX_MAX_RFGAIN(_x) (0x1950 + ((_x) << 2)) 25362306a36Sopenharmony_ci#define AR_BTCOEX_DBG 0x1a50 25462306a36Sopenharmony_ci#define AR_MCI_LAST_HW_MSG_HDR 0x1a54 25562306a36Sopenharmony_ci#define AR_MCI_LAST_HW_MSG_BDY 0x1a58 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_2 0x1a5c 25862306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_2_MEM_BASED 0x00000001 25962306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_2_MEM_BASED_S 0 26062306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_2_HW_BASED 0x00000002 26162306a36Sopenharmony_ci#define AR_MCI_SCHD_TABLE_2_HW_BASED_S 1 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci#define AR_BTCOEX_CTRL3 0x1a60 26462306a36Sopenharmony_ci#define AR_BTCOEX_CTRL3_CONT_INFO_TIMEOUT 0x00000fff 26562306a36Sopenharmony_ci#define AR_BTCOEX_CTRL3_CONT_INFO_TIMEOUT_S 0 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci#define AR_GLB_SWREG_DISCONT_MODE 0x2002c 26862306a36Sopenharmony_ci#define AR_GLB_SWREG_DISCONT_EN_BT_WLAN 0x3 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci#define AR_MCI_MISC 0x1a74 27162306a36Sopenharmony_ci#define AR_MCI_MISC_HW_FIX_EN 0x00000001 27262306a36Sopenharmony_ci#define AR_MCI_MISC_HW_FIX_EN_S 0 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci#define AR_MCI_DBG_CNT_CTRL 0x1a78 27562306a36Sopenharmony_ci#define AR_MCI_DBG_CNT_CTRL_ENABLE 0x00000001 27662306a36Sopenharmony_ci#define AR_MCI_DBG_CNT_CTRL_ENABLE_S 0 27762306a36Sopenharmony_ci#define AR_MCI_DBG_CNT_CTRL_BT_LINKID 0x000007f8 27862306a36Sopenharmony_ci#define AR_MCI_DBG_CNT_CTRL_BT_LINKID_S 3 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci#define MCI_STAT_ALL_BT_LINKID 0xffff 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_DEFAULT (AR_MCI_INTERRUPT_SW_MSG_DONE | \ 28362306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_INVALID_HDR | \ 28462306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_HW_MSG_FAIL | \ 28562306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_SW_MSG_FAIL | \ 28662306a36Sopenharmony_ci AR_MCI_INTERRUPT_TX_HW_MSG_FAIL | \ 28762306a36Sopenharmony_ci AR_MCI_INTERRUPT_TX_SW_MSG_FAIL | \ 28862306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG | \ 28962306a36Sopenharmony_ci AR_MCI_INTERRUPT_REMOTE_SLEEP_UPDATE | \ 29062306a36Sopenharmony_ci AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT) 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_MSG_FAIL_MASK (AR_MCI_INTERRUPT_RX_HW_MSG_FAIL | \ 29362306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_SW_MSG_FAIL | \ 29462306a36Sopenharmony_ci AR_MCI_INTERRUPT_TX_HW_MSG_FAIL | \ 29562306a36Sopenharmony_ci AR_MCI_INTERRUPT_TX_SW_MSG_FAIL) 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_HW_MSG_MASK (AR_MCI_INTERRUPT_RX_MSG_SCHD_INFO | \ 29862306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_LNA_CONTROL | \ 29962306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_LNA_INFO | \ 30062306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_CONT_NACK | \ 30162306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_CONT_INFO | \ 30262306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_CONT_RST) 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci#define AR_MCI_INTERRUPT_RX_MSG_DEFAULT (AR_MCI_INTERRUPT_RX_MSG_GPM | \ 30562306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_REMOTE_RESET | \ 30662306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_SYS_WAKING | \ 30762306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_SYS_SLEEPING | \ 30862306a36Sopenharmony_ci AR_MCI_INTERRUPT_RX_MSG_REQ_WAKE) 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci#endif /* REG_MCI_H */ 311