linux/include/linux/switchtec.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Microsemi Switchtec PCIe Driver
 * Copyright (c) 2017, Microsemi Corporation
 */

#ifndef _SWITCHTEC_H
#define _SWITCHTEC_H

#include <linux/pci.h>
#include <linux/cdev.h>

#define SWITCHTEC_MRPC_PAYLOAD_SIZE
#define SWITCHTEC_MAX_PFF_CSR

#define SWITCHTEC_EVENT_OCCURRED
#define SWITCHTEC_EVENT_CLEAR
#define SWITCHTEC_EVENT_EN_LOG
#define SWITCHTEC_EVENT_EN_CLI
#define SWITCHTEC_EVENT_EN_IRQ
#define SWITCHTEC_EVENT_FATAL
#define SWITCHTEC_EVENT_NOT_SUPP

#define SWITCHTEC_DMA_MRPC_EN

#define MRPC_GAS_READ
#define MRPC_GAS_WRITE
#define MRPC_CMD_ID(x)

enum {};

enum switchtec_gen {};

struct mrpc_regs {} __packed;

enum mrpc_status {};

struct sw_event_regs {} __packed;

enum {};

enum {};

enum {};

struct sys_info_regs_gen3 {} __packed;

struct sys_info_regs_gen4 {} __packed;

struct sys_info_regs {} __packed;

struct partition_info {};

struct flash_info_regs_gen3 {};

struct flash_info_regs_gen4 {};

struct flash_info_regs {};

enum {};

struct ntb_info_regs {} __packed;

struct part_cfg_regs {} __packed;

enum {};

struct ntb_ctrl_regs {} __packed;

#define NTB_DBMSG_IMSG_STATUS
#define NTB_DBMSG_IMSG_MASK

struct ntb_dbmsg_regs {} __packed;

enum {};

struct pff_csr_regs {} __packed;

struct switchtec_ntb;

struct dma_mrpc_output {};

struct switchtec_dev {};

static inline struct switchtec_dev *to_stdev(struct device *dev)
{}

extern const struct class switchtec_class;

#endif