]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/nfc/digital.h
NFC Digital: Implement driver commands mechanism
[karo-tx-linux.git] / net / nfc / digital.h
index 8d91ed820912ac66c301ab71ef24e807954225eb..0a2767098daa83af79d8b626eb0cf2fa521c20cd 100644 (file)
 #define PROTOCOL_ERR(req) pr_err("%s:%d: NFC Digital Protocol error: %s\n", \
                                 __func__, __LINE__, req)
 
+#define DIGITAL_CMD_IN_SEND        0
+#define DIGITAL_CMD_TG_SEND        1
+#define DIGITAL_CMD_TG_LISTEN      2
+#define DIGITAL_CMD_TG_LISTEN_MDAA 3
+
+#define DIGITAL_MAX_HEADER_LEN 7
+#define DIGITAL_CRC_LEN        2
+
+struct sk_buff *digital_skb_alloc(struct nfc_digital_dev *ddev,
+                                 unsigned int len);
+
+int digital_send_cmd(struct nfc_digital_dev *ddev, u8 cmd_type,
+                    struct sk_buff *skb, u16 timeout,
+                    nfc_digital_cmd_complete_t cmd_cb, void *cb_context);
+
+int digital_in_configure_hw(struct nfc_digital_dev *ddev, int type, int param);
+static inline int digital_in_send_cmd(struct nfc_digital_dev *ddev,
+                                     struct sk_buff *skb, u16 timeout,
+                                     nfc_digital_cmd_complete_t cmd_cb,
+                                     void *cb_context)
+{
+       return digital_send_cmd(ddev, DIGITAL_CMD_IN_SEND, skb, timeout, cmd_cb,
+                               cb_context);
+}
+
+void digital_poll_next_tech(struct nfc_digital_dev *ddev);
+
+int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech);
+
 #endif /* __DIGITAL_H */