xref: /linux/drivers/net/wireless/ath/ath12k/fw.h (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
112f491cdSRaj Kumar Bhagat /* SPDX-License-Identifier: BSD-3-Clause-Clear */
212f491cdSRaj Kumar Bhagat /*
312f491cdSRaj Kumar Bhagat  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
412f491cdSRaj Kumar Bhagat  */
512f491cdSRaj Kumar Bhagat 
612f491cdSRaj Kumar Bhagat #ifndef ATH12K_FW_H
712f491cdSRaj Kumar Bhagat #define ATH12K_FW_H
812f491cdSRaj Kumar Bhagat 
912f491cdSRaj Kumar Bhagat #define ATH12K_FW_API2_FILE		"firmware-2.bin"
1012f491cdSRaj Kumar Bhagat #define ATH12K_FIRMWARE_MAGIC		"QCOM-ATH12K-FW"
1112f491cdSRaj Kumar Bhagat 
1212f491cdSRaj Kumar Bhagat enum ath12k_fw_ie_type {
1312f491cdSRaj Kumar Bhagat 	ATH12K_FW_IE_TIMESTAMP = 0,
1412f491cdSRaj Kumar Bhagat 	ATH12K_FW_IE_FEATURES = 1,
1512f491cdSRaj Kumar Bhagat 	ATH12K_FW_IE_AMSS_IMAGE = 2,
1612f491cdSRaj Kumar Bhagat 	ATH12K_FW_IE_M3_IMAGE = 3,
17*af9bc78dSGanesh Babu Jothiram 	ATH12K_FW_IE_AMSS_DUALMAC_IMAGE = 4,
1812f491cdSRaj Kumar Bhagat };
1912f491cdSRaj Kumar Bhagat 
2012f491cdSRaj Kumar Bhagat enum ath12k_fw_features {
2194e8235cSP Praneesh 	/* The firmware supports setting the QRTR id via register
2294e8235cSP Praneesh 	 * PCIE_LOCAL_REG_QRTR_NODE_ID
2394e8235cSP Praneesh 	 */
2494e8235cSP Praneesh 	ATH12K_FW_FEATURE_MULTI_QRTR_ID = 0,
2594e8235cSP Praneesh 
2612f491cdSRaj Kumar Bhagat 	/* keep last */
2712f491cdSRaj Kumar Bhagat 	ATH12K_FW_FEATURE_COUNT,
2812f491cdSRaj Kumar Bhagat };
2912f491cdSRaj Kumar Bhagat 
3012f491cdSRaj Kumar Bhagat void ath12k_fw_map(struct ath12k_base *ab);
3112f491cdSRaj Kumar Bhagat void ath12k_fw_unmap(struct ath12k_base *ab);
3212f491cdSRaj Kumar Bhagat 
3312f491cdSRaj Kumar Bhagat #endif /* ATH12K_FW_H */
34