linux/drivers/nfc/nfcmrvl/nfcmrvl.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Marvell NFC driver
 *
 * Copyright (C) 2014-2015, Marvell International Ltd.
 */

#ifndef _NFCMRVL_H_
#define _NFCMRVL_H_

#include "fw_dnld.h"

/* Define private flags: */
#define NFCMRVL_NCI_RUNNING
#define NFCMRVL_PHY_ERROR

#define NFCMRVL_EXT_COEX_ID
#define NFCMRVL_NOT_ALLOWED_ID
#define NFCMRVL_ACTIVE_ID
#define NFCMRVL_EXT_COEX_ENABLE
#define NFCMRVL_GPIO_PIN_NFC_NOT_ALLOWED
#define NFCMRVL_GPIO_PIN_NFC_ACTIVE
#define NFCMRVL_NCI_MAX_EVENT_SIZE

/*
 * NCI FW Parameters
 */

#define NFCMRVL_PB_BAIL_OUT
#define NFCMRVL_PROP_REF_CLOCK
#define NFCMRVL_PROP_SET_HI_CONFIG

/*
 * HCI defines
 */

#define NFCMRVL_HCI_EVENT_HEADER_SIZE
#define NFCMRVL_HCI_EVENT_CODE
#define NFCMRVL_HCI_NFC_EVENT_CODE
#define NFCMRVL_HCI_COMMAND_CODE
#define NFCMRVL_HCI_OGF
#define NFCMRVL_HCI_OCF

enum nfcmrvl_phy {};

struct nfcmrvl_platform_data {};

struct nfcmrvl_private {};

struct nfcmrvl_if_ops {};

void nfcmrvl_nci_unregister_dev(struct nfcmrvl_private *priv);
int nfcmrvl_nci_recv_frame(struct nfcmrvl_private *priv, struct sk_buff *skb);
struct nfcmrvl_private *nfcmrvl_nci_register_dev(enum nfcmrvl_phy phy,
				void *drv_data,
				const struct nfcmrvl_if_ops *ops,
				struct device *dev,
				const struct nfcmrvl_platform_data *pdata);


void nfcmrvl_chip_reset(struct nfcmrvl_private *priv);
void nfcmrvl_chip_halt(struct nfcmrvl_private *priv);

int nfcmrvl_parse_dt(struct device_node *node,
		     struct nfcmrvl_platform_data *pdata);

#endif