1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* Copyright(c) 2018-2019 Realtek Corporation 3 */ 4 5 #ifndef __RTW_SEC_H_ 6 #define __RTW_SEC_H_ 7 8 #define RTW_SEC_CMD_REG 0x670 9 #define RTW_SEC_WRITE_REG 0x674 10 #define RTW_SEC_READ_REG 0x678 11 #define RTW_SEC_CONFIG 0x680 12 13 #define RTW_SEC_CAM_ENTRY_SHIFT 3 14 #define RTW_SEC_DEFAULT_KEY_NUM 4 15 #define RTW_SEC_CMD_WRITE_ENABLE BIT(16) 16 #define RTW_SEC_CMD_CLEAR BIT(30) 17 #define RTW_SEC_CMD_POLLING BIT(31) 18 19 #define RTW_SEC_TX_UNI_USE_DK BIT(0) 20 #define RTW_SEC_RX_UNI_USE_DK BIT(1) 21 #define RTW_SEC_TX_DEC_EN BIT(2) 22 #define RTW_SEC_RX_DEC_EN BIT(3) 23 #define RTW_SEC_TX_BC_USE_DK BIT(6) 24 #define RTW_SEC_RX_BC_USE_DK BIT(7) 25 26 #define RTW_SEC_ENGINE_EN BIT(9) 27 28 int rtw_sec_get_free_cam(struct rtw_sec_desc *sec); 29 void rtw_sec_write_cam(struct rtw_dev *rtwdev, 30 struct rtw_sec_desc *sec, 31 struct ieee80211_sta *sta, 32 struct ieee80211_key_conf *key, 33 u8 hw_key_type, u8 hw_key_idx); 34 void rtw_sec_clear_cam(struct rtw_dev *rtwdev, 35 struct rtw_sec_desc *sec, 36 u8 hw_key_idx); 37 u8 rtw_sec_cam_pg_backup(struct rtw_dev *rtwdev, u8 *used_cam); 38 void rtw_sec_enable_sec_engine(struct rtw_dev *rtwdev); 39 40 #endif 41