1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2 /* 3 * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. 4 */ 5 6 #ifndef ATH12K_FW_H 7 #define ATH12K_FW_H 8 9 #define ATH12K_FW_API2_FILE "firmware-2.bin" 10 #define ATH12K_FIRMWARE_MAGIC "QCOM-ATH12K-FW" 11 12 enum ath12k_fw_ie_type { 13 ATH12K_FW_IE_TIMESTAMP = 0, 14 ATH12K_FW_IE_FEATURES = 1, 15 ATH12K_FW_IE_AMSS_IMAGE = 2, 16 ATH12K_FW_IE_M3_IMAGE = 3, 17 ATH12K_FW_IE_AMSS_DUALMAC_IMAGE = 4, 18 ATH12K_FW_IE_AUX_UC_IMAGE = 5, 19 }; 20 21 enum ath12k_fw_features { 22 /* The firmware supports setting the QRTR id via register 23 * PCIE_LOCAL_REG_QRTR_NODE_ID 24 */ 25 ATH12K_FW_FEATURE_MULTI_QRTR_ID = 0, 26 27 /* The firmware supports MLO capability */ 28 ATH12K_FW_FEATURE_MLO, 29 30 /* keep last */ 31 ATH12K_FW_FEATURE_COUNT, 32 }; 33 34 void ath12k_fw_map(struct ath12k_base *ab); 35 void ath12k_fw_unmap(struct ath12k_base *ab); 36 bool ath12k_fw_feature_supported(struct ath12k_base *ab, enum ath12k_fw_features feat); 37 38 #endif /* ATH12K_FW_H */ 39