#define DRIVER_DESC "NCI NFC driver for ST21NFCB"
 
+#define ST21NFCB_NCI1_X_PROPRIETARY_ISO15693 0x83
+
 static int st21nfcb_nci_open(struct nci_dev *ndev)
 {
        struct st21nfcb_nci_info *info = nci_get_drvdata(ndev);
        return ndlc_send(info->ndlc, skb);
 }
 
+static __u32 st21nfcb_nci_get_rfprotocol(struct nci_dev *ndev,
+                                        __u8 rf_protocol)
+{
+       return rf_protocol == ST21NFCB_NCI1_X_PROPRIETARY_ISO15693 ?
+               NFC_PROTO_ISO15693_MASK : 0;
+}
+
 static struct nci_ops st21nfcb_nci_ops = {
        .open = st21nfcb_nci_open,
        .close = st21nfcb_nci_close,
        .send = st21nfcb_nci_send,
+       .get_rfprotocol = st21nfcb_nci_get_rfprotocol,
 };
 
 int st21nfcb_nci_probe(struct llt_ndlc *ndlc, int phy_headroom,
 
 struct nci_dev;
 
 struct nci_ops {
-       int (*open)(struct nci_dev *ndev);
-       int (*close)(struct nci_dev *ndev);
-       int (*send)(struct nci_dev *ndev, struct sk_buff *skb);
-       int (*setup)(struct nci_dev *ndev);
+       int   (*open)(struct nci_dev *ndev);
+       int   (*close)(struct nci_dev *ndev);
+       int   (*send)(struct nci_dev *ndev, struct sk_buff *skb);
+       int   (*setup)(struct nci_dev *ndev);
+       __u32 (*get_rfprotocol)(struct nci_dev *ndev, __u8 rf_protocol);
 };
 
 #define NCI_MAX_SUPPORTED_RF_INTERFACES                4
 
        return data;
 }
 
+__u32 nci_get_prop_rf_protocol(struct nci_dev *ndev, __u8 rf_protocol)
+{
+       if (ndev->ops->get_rfprotocol)
+               return ndev->ops->get_rfprotocol(ndev, rf_protocol);
+       return 0;
+}
+
 static int nci_add_new_protocol(struct nci_dev *ndev,
                                struct nfc_target *target,
                                __u8 rf_protocol,
        else if (rf_protocol == NCI_RF_PROTOCOL_T5T)
                protocol = NFC_PROTO_ISO15693_MASK;
        else
-               protocol = 0;
+               protocol = nci_get_prop_rf_protocol(ndev, rf_protocol);
 
        if (!(protocol & ndev->poll_prots)) {
                pr_err("the target found does not have the desired protocol\n");