14912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#ifndef __LOCAL_MEI_PHY_H_ 24912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#define __LOCAL_MEI_PHY_H_ 34912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 44912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#include <linux/mei_cl_bus.h> 54912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#include <net/nfc/hci.h> 64912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 74912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#define MEI_NFC_HEADER_SIZE 10 84912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#define MEI_NFC_MAX_HCI_PAYLOAD 300 94912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 104912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadestruct nfc_mei_phy { 114912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade struct mei_cl_device *device; 124912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade struct nfc_hci_dev *hdev; 134912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 144912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade int powered; 154912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 164912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade int hard_fault; /* 174912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade * < 0 if hardware error occured 184912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade * and prevents normal operation. 194912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade */ 204912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade}; 214912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 224912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadeextern struct nfc_phy_ops mei_phy_ops; 234912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 244912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadeint nfc_mei_phy_enable(void *phy_id); 254912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadevoid nfc_mei_phy_disable(void *phy_id); 264912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadevoid nfc_mei_event_cb(struct mei_cl_device *device, u32 events, void *context); 274912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadestruct nfc_mei_phy *nfc_mei_phy_alloc(struct mei_cl_device *device); 284912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyadevoid nfc_mei_phy_free(struct nfc_mei_phy *phy); 294912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade 304912e2fe74811693703e9b4e21bf36c067643a03Eric Lapuyade#endif /* __LOCAL_MEI_PHY_H_ */ 31