1a4b16dadSTom Zanussi /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2a4b16dadSTom Zanussi /* Copyright(c) 2014 - 2020 Intel Corporation */
3a4b16dadSTom Zanussi #ifndef ADF_C62X_HW_DATA_H_
4a4b16dadSTom Zanussi #define ADF_C62X_HW_DATA_H_
5a4b16dadSTom Zanussi 
6*e2980ba5SDamian Muszynski #include <linux/units.h>
7*e2980ba5SDamian Muszynski 
8a4b16dadSTom Zanussi /* PCIe configuration space */
9a4b16dadSTom Zanussi #define ADF_C62X_SRAM_BAR 0
10a4b16dadSTom Zanussi #define ADF_C62X_PMISC_BAR 1
11a4b16dadSTom Zanussi #define ADF_C62X_ETR_BAR 2
12a4b16dadSTom Zanussi #define ADF_C62X_MAX_ACCELERATORS 5
13a4b16dadSTom Zanussi #define ADF_C62X_MAX_ACCELENGINES 10
14a4b16dadSTom Zanussi #define ADF_C62X_ACCELERATORS_REG_OFFSET 16
15a4b16dadSTom Zanussi #define ADF_C62X_ACCELERATORS_MASK 0x1F
16a4b16dadSTom Zanussi #define ADF_C62X_ACCELENGINES_MASK 0x3FF
17a4b16dadSTom Zanussi #define ADF_C62X_ETR_MAX_BANKS 16
18a4b16dadSTom Zanussi #define ADF_C62X_SOFTSTRAP_CSR_OFFSET 0x2EC
19a4b16dadSTom Zanussi 
20a4b16dadSTom Zanussi /* AE to function mapping */
21a4b16dadSTom Zanussi #define ADF_C62X_AE2FUNC_MAP_GRP_A_NUM_REGS 80
22a4b16dadSTom Zanussi #define ADF_C62X_AE2FUNC_MAP_GRP_B_NUM_REGS 10
23a4b16dadSTom Zanussi 
24*e2980ba5SDamian Muszynski /* Clocks frequency */
25*e2980ba5SDamian Muszynski #define ADF_C62X_AE_FREQ (685 * HZ_PER_MHZ)
26*e2980ba5SDamian Muszynski #define ADF_C62X_MIN_AE_FREQ (533 * HZ_PER_MHZ)
27*e2980ba5SDamian Muszynski #define ADF_C62X_MAX_AE_FREQ (800 * HZ_PER_MHZ)
28*e2980ba5SDamian Muszynski 
29a4b16dadSTom Zanussi /* Firmware Binary */
30a4b16dadSTom Zanussi #define ADF_C62X_FW "qat_c62x.bin"
31a4b16dadSTom Zanussi #define ADF_C62X_MMP "qat_c62x_mmp.bin"
32a4b16dadSTom Zanussi 
33a4b16dadSTom Zanussi void adf_init_hw_data_c62x(struct adf_hw_device_data *hw_data);
34a4b16dadSTom Zanussi void adf_clean_hw_data_c62x(struct adf_hw_device_data *hw_data);
35a4b16dadSTom Zanussi #endif
36