| 1 | /* SPDX-License-Identifier: ISC */ |
| 2 | /* Copyright (C) 2023 MediaTek Inc. */ |
| 3 | |
| 4 | #ifndef __MT7925_REGS_H |
| 5 | #define __MT7925_REGS_H |
| 6 | |
| 7 | #include "../mt792x_regs.h" |
| 8 | |
| 9 | #define MT_MDP_BASE 0x820cc800 |
| 10 | #define MT_MDP(ofs) (MT_MDP_BASE + (ofs)) |
| 11 | |
| 12 | #define MT_MDP_DCR0 MT_MDP(0x000) |
| 13 | #define MT_MDP_DCR0_DAMSDU_EN BIT(15) |
| 14 | #define MT_MDP_DCR0_RX_HDR_TRANS_EN BIT(19) |
| 15 | |
| 16 | #define MT_MDP_DCR1 MT_MDP(0x004) |
| 17 | #define MT_MDP_DCR1_MAX_RX_LEN GENMASK(15, 3) |
| 18 | |
| 19 | #define MT_MDP_BNRCFR0(_band) MT_MDP(0x090 + ((_band) << 8)) |
| 20 | #define MT_MDP_RCFR0_MCU_RX_MGMT GENMASK(5, 4) |
| 21 | #define MT_MDP_RCFR0_MCU_RX_CTL_NON_BAR GENMASK(7, 6) |
| 22 | #define MT_MDP_RCFR0_MCU_RX_CTL_BAR GENMASK(9, 8) |
| 23 | |
| 24 | #define MT_MDP_BNRCFR1(_band) MT_MDP(0x094 + ((_band) << 8)) |
| 25 | #define MT_MDP_RCFR1_MCU_RX_BYPASS GENMASK(23, 22) |
| 26 | #define MT_MDP_RCFR1_RX_DROPPED_UCAST GENMASK(28, 27) |
| 27 | #define MT_MDP_RCFR1_RX_DROPPED_MCAST GENMASK(30, 29) |
| 28 | #define MT_MDP_TO_HIF 0 |
| 29 | #define MT_MDP_TO_WM 1 |
| 30 | |
| 31 | #define MT_WFDMA0_HOST_INT_ENA MT_WFDMA0(0x204) |
| 32 | #define MT_WFDMA0_HOST_INT_DIS MT_WFDMA0(0x22c) |
| 33 | #define HOST_RX_DONE_INT_ENA4 BIT(12) |
| 34 | #define HOST_RX_DONE_INT_ENA5 BIT(13) |
| 35 | #define HOST_RX_DONE_INT_ENA6 BIT(14) |
| 36 | #define HOST_RX_DONE_INT_ENA7 BIT(15) |
| 37 | #define HOST_RX_DONE_INT_ENA8 BIT(16) |
| 38 | #define HOST_RX_DONE_INT_ENA9 BIT(17) |
| 39 | #define HOST_RX_DONE_INT_ENA10 BIT(18) |
| 40 | #define HOST_RX_DONE_INT_ENA11 BIT(19) |
| 41 | #define HOST_TX_DONE_INT_ENA15 BIT(25) |
| 42 | #define HOST_TX_DONE_INT_ENA16 BIT(26) |
| 43 | #define HOST_TX_DONE_INT_ENA17 BIT(27) |
| 44 | |
| 45 | /* WFDMA interrupt */ |
| 46 | #define MT_INT_RX_DONE_DATA HOST_RX_DONE_INT_ENA2 |
| 47 | #define MT_INT_RX_DONE_WM HOST_RX_DONE_INT_ENA0 |
| 48 | #define MT_INT_RX_DONE_WM2 HOST_RX_DONE_INT_ENA1 |
| 49 | #define MT_INT_RX_DONE_ALL (MT_INT_RX_DONE_DATA | \ |
| 50 | MT_INT_RX_DONE_WM | \ |
| 51 | MT_INT_RX_DONE_WM2) |
| 52 | |
| 53 | #define MT_INT_TX_DONE_MCU_WM (HOST_TX_DONE_INT_ENA15 | \ |
| 54 | HOST_TX_DONE_INT_ENA17) |
| 55 | |
| 56 | #define MT_INT_TX_DONE_FWDL HOST_TX_DONE_INT_ENA16 |
| 57 | #define MT_INT_TX_DONE_BAND0 HOST_TX_DONE_INT_ENA0 |
| 58 | |
| 59 | #define MT_INT_TX_DONE_MCU (MT_INT_TX_DONE_MCU_WM | \ |
| 60 | MT_INT_TX_DONE_FWDL) |
| 61 | #define MT_INT_TX_DONE_ALL (MT_INT_TX_DONE_MCU_WM | \ |
| 62 | MT_INT_TX_DONE_BAND0 | \ |
| 63 | GENMASK(18, 4)) |
| 64 | |
| 65 | #define MT_RX_DATA_RING_BASE MT_WFDMA0(0x500) |
| 66 | |
| 67 | #define MT_INFRA_CFG_BASE 0xd1000 |
| 68 | #define MT_INFRA(ofs) (MT_INFRA_CFG_BASE + (ofs)) |
| 69 | |
| 70 | #define MT_HIF_REMAP_L1 0x155024 |
| 71 | #define MT_HIF_REMAP_L1_MASK GENMASK(31, 16) |
| 72 | #define MT_HIF_REMAP_L1_OFFSET GENMASK(15, 0) |
| 73 | #define MT_HIF_REMAP_L1_BASE GENMASK(31, 16) |
| 74 | #define MT_HIF_REMAP_BASE_L1 0x130000 |
| 75 | |
| 76 | #define MT_HIF_REMAP_L2 0x0120 |
| 77 | #if IS_ENABLED(CONFIG_MT76_DEV) |
| 78 | #define MT_HIF_REMAP_BASE_L2 (0x7c500000 - (0x7c000000 - 0x18000000)) |
| 79 | #else |
| 80 | #define MT_HIF_REMAP_BASE_L2 0x18500000 |
| 81 | #endif |
| 82 | |
| 83 | #define MT_WFSYS_SW_RST_B 0x7c000140 |
| 84 | |
| 85 | #define MT_WTBLON_TOP_WDUCR MT_WTBLON_TOP(0x370) |
| 86 | #define MT_WTBLON_TOP_WDUCR_GROUP GENMASK(4, 0) |
| 87 | |
| 88 | #define MT_WTBL_UPDATE MT_WTBLON_TOP(0x380) |
| 89 | #define MT_WTBL_UPDATE_WLAN_IDX GENMASK(11, 0) |
| 90 | #define MT_WTBL_UPDATE_ADM_COUNT_CLEAR BIT(14) |
| 91 | |
| 92 | #endif |
| 93 | |