162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/* -------------------------------------------------------------------------
362306a36Sopenharmony_ci * Copyright (C) 2014-2016, Intel Corporation
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * -------------------------------------------------------------------------
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#ifndef __LOCAL_FDP_H_
962306a36Sopenharmony_ci#define __LOCAL_FDP_H_
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <net/nfc/nci_core.h>
1262306a36Sopenharmony_ci#include <linux/gpio/consumer.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct fdp_i2c_phy {
1562306a36Sopenharmony_ci	struct i2c_client *i2c_dev;
1662306a36Sopenharmony_ci	struct gpio_desc *power_gpio;
1762306a36Sopenharmony_ci	struct nci_dev *ndev;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	/* < 0 if i2c error occurred */
2062306a36Sopenharmony_ci	int hard_fault;
2162306a36Sopenharmony_ci	uint16_t next_read_size;
2262306a36Sopenharmony_ci};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciint fdp_nci_probe(struct fdp_i2c_phy *phy, const struct nfc_phy_ops *phy_ops,
2562306a36Sopenharmony_ci		  struct nci_dev **ndev, int tx_headroom, int tx_tailroom,
2662306a36Sopenharmony_ci		  u8 clock_type, u32 clock_freq, const u8 *fw_vsc_cfg);
2762306a36Sopenharmony_civoid fdp_nci_remove(struct nci_dev *ndev);
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#endif /* __LOCAL_FDP_H_ */
30