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 enum ath11k_mhi_state { 201399fb87SGovind Singh ATH11K_MHI_INIT, 211399fb87SGovind Singh ATH11K_MHI_DEINIT, 221399fb87SGovind Singh ATH11K_MHI_POWER_ON, 231399fb87SGovind Singh ATH11K_MHI_POWER_OFF, 241399fb87SGovind Singh ATH11K_MHI_FORCE_POWER_OFF, 251399fb87SGovind Singh ATH11K_MHI_SUSPEND, 261399fb87SGovind Singh ATH11K_MHI_RESUME, 271399fb87SGovind Singh ATH11K_MHI_TRIGGER_RDDM, 281399fb87SGovind Singh ATH11K_MHI_RDDM, 291399fb87SGovind Singh ATH11K_MHI_RDDM_DONE, 301399fb87SGovind Singh }; 311399fb87SGovind Singh 321399fb87SGovind Singh int ath11k_mhi_start(struct ath11k_pci *ar_pci); 331399fb87SGovind Singh void ath11k_mhi_stop(struct ath11k_pci *ar_pci); 341399fb87SGovind Singh int ath11k_mhi_register(struct ath11k_pci *ar_pci); 351399fb87SGovind Singh void ath11k_mhi_unregister(struct ath11k_pci *ar_pci); 36f3c603d4SCarl Huang void ath11k_mhi_set_mhictrl_reset(struct ath11k_base *ab); 37f3c603d4SCarl Huang void ath11k_mhi_clear_vector(struct ath11k_base *ab); 381399fb87SGovind Singh 391399fb87SGovind Singh #endif 40