11399fb87SGovind Singh /* SPDX-License-Identifier: BSD-3-Clause-Clear */ 21399fb87SGovind Singh /* 31399fb87SGovind Singh * Copyright (c) 2020 The Linux Foundation. All rights reserved. 41399fb87SGovind Singh */ 51399fb87SGovind Singh #ifndef _ATH11K_MHI_H 61399fb87SGovind Singh #define _ATH11K_MHI_H 71399fb87SGovind Singh 81399fb87SGovind Singh #include "pci.h" 91399fb87SGovind Singh 10f3c603d4SCarl Huang #define PCIE_TXVECDB 0x360 11f3c603d4SCarl Huang #define PCIE_TXVECSTATUS 0x368 12f3c603d4SCarl Huang #define PCIE_RXVECDB 0x394 13f3c603d4SCarl Huang #define PCIE_RXVECSTATUS 0x39C 14f3c603d4SCarl Huang 15f3c603d4SCarl Huang #define MHISTATUS 0x48 16f3c603d4SCarl Huang #define MHICTRL 0x38 17f3c603d4SCarl Huang #define MHICTRL_RESET_MASK 0x2 18f3c603d4SCarl Huang 191399fb87SGovind Singh int ath11k_mhi_start(struct ath11k_pci *ar_pci); 201399fb87SGovind Singh void ath11k_mhi_stop(struct ath11k_pci *ar_pci); 211399fb87SGovind Singh int ath11k_mhi_register(struct ath11k_pci *ar_pci); 221399fb87SGovind Singh void ath11k_mhi_unregister(struct ath11k_pci *ar_pci); 23f3c603d4SCarl Huang void ath11k_mhi_set_mhictrl_reset(struct ath11k_base *ab); 24f3c603d4SCarl Huang void ath11k_mhi_clear_vector(struct ath11k_base *ab); 251399fb87SGovind Singh 26*3e80fcbcSKalle Valo int ath11k_mhi_suspend(struct ath11k_pci *ar_pci); 27*3e80fcbcSKalle Valo int ath11k_mhi_resume(struct ath11k_pci *ar_pci); 2834fb81e4SCarl Huang 291399fb87SGovind Singh #endif 30