162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 262306a36Sopenharmony_ci/* Copyright(c) 2018-2019 Realtek Corporation 362306a36Sopenharmony_ci */ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#ifndef __RTW_EFUSE_H__ 662306a36Sopenharmony_ci#define __RTW_EFUSE_H__ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define EFUSE_HW_CAP_IGNORE 0 962306a36Sopenharmony_ci#define EFUSE_HW_CAP_PTCL_VHT 3 1062306a36Sopenharmony_ci#define EFUSE_HW_CAP_SUPP_BW80 7 1162306a36Sopenharmony_ci#define EFUSE_HW_CAP_SUPP_BW40 6 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#define EFUSE_READ_FAIL 0xff 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define GET_EFUSE_HW_CAP_HCI(hw_cap) \ 1662306a36Sopenharmony_ci le32_get_bits(*((__le32 *)(hw_cap) + 0x01), GENMASK(3, 0)) 1762306a36Sopenharmony_ci#define GET_EFUSE_HW_CAP_BW(hw_cap) \ 1862306a36Sopenharmony_ci le32_get_bits(*((__le32 *)(hw_cap) + 0x01), GENMASK(18, 16)) 1962306a36Sopenharmony_ci#define GET_EFUSE_HW_CAP_NSS(hw_cap) \ 2062306a36Sopenharmony_ci le32_get_bits(*((__le32 *)(hw_cap) + 0x01), GENMASK(20, 19)) 2162306a36Sopenharmony_ci#define GET_EFUSE_HW_CAP_ANT_NUM(hw_cap) \ 2262306a36Sopenharmony_ci le32_get_bits(*((__le32 *)(hw_cap) + 0x01), GENMASK(23, 21)) 2362306a36Sopenharmony_ci#define GET_EFUSE_HW_CAP_PTCL(hw_cap) \ 2462306a36Sopenharmony_ci le32_get_bits(*((__le32 *)(hw_cap) + 0x01), GENMASK(27, 26)) 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciint rtw_parse_efuse_map(struct rtw_dev *rtwdev); 2762306a36Sopenharmony_ciint rtw_read8_physical_efuse(struct rtw_dev *rtwdev, u16 addr, u8 *data); 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#endif 30