1/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2/* 3 * Copyright (c) 2020 The Linux Foundation. All rights reserved. 4 */ 5#ifndef _ATH11K_MHI_H 6#define _ATH11K_MHI_H 7 8#include "pci.h" 9 10#define PCIE_TXVECDB 0x360 11#define PCIE_TXVECSTATUS 0x368 12#define PCIE_RXVECDB 0x394 13#define PCIE_RXVECSTATUS 0x39C 14 15#define MHISTATUS 0x48 16#define MHICTRL 0x38 17#define MHICTRL_RESET_MASK 0x2 18 19enum ath11k_mhi_state { 20 ATH11K_MHI_INIT, 21 ATH11K_MHI_DEINIT, 22 ATH11K_MHI_POWER_ON, 23 ATH11K_MHI_POWER_OFF, 24 ATH11K_MHI_FORCE_POWER_OFF, 25 ATH11K_MHI_SUSPEND, 26 ATH11K_MHI_RESUME, 27 ATH11K_MHI_TRIGGER_RDDM, 28 ATH11K_MHI_RDDM, 29 ATH11K_MHI_RDDM_DONE, 30}; 31 32int ath11k_mhi_start(struct ath11k_pci *ar_pci); 33void ath11k_mhi_stop(struct ath11k_pci *ar_pci); 34int ath11k_mhi_register(struct ath11k_pci *ar_pci); 35void ath11k_mhi_unregister(struct ath11k_pci *ar_pci); 36void ath11k_mhi_set_mhictrl_reset(struct ath11k_base *ab); 37void ath11k_mhi_clear_vector(struct ath11k_base *ab); 38 39#endif 40