Skip to content

Commit

Permalink
NFC: pn533: Enable AUTO RFCA
Browse files Browse the repository at this point in the history
The AUTO RFCA bit forbids the pn533 chipset to turn its radio on
whenever an external field is present.
Without this bit set, some devices seems to get over flood by the
pn533 rf field and thus become hardly detectable.

Signed-off-by: Samuel Ortiz <[email protected]>
  • Loading branch information
Samuel Ortiz committed Aug 13, 2013
1 parent 5eef484 commit 3a8eab3
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions drivers/nfc/pn533.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,9 @@ struct pn533_fw_version {
#define PN533_CFGITEM_MAX_RETRIES 0x05
#define PN533_CFGITEM_PASORI 0x82

#define PN533_CFGITEM_RF_FIELD_ON 0x1
#define PN533_CFGITEM_RF_FIELD_OFF 0x0
#define PN533_CFGITEM_RF_FIELD_AUTO_RFCA 0x2
#define PN533_CFGITEM_RF_FIELD_ON 0x1
#define PN533_CFGITEM_RF_FIELD_OFF 0x0

#define PN533_CONFIG_TIMING_102 0xb
#define PN533_CONFIG_TIMING_204 0xc
Expand Down Expand Up @@ -1696,7 +1697,7 @@ static void pn533_wq_rf(struct work_struct *work)
return;

*skb_put(skb, 1) = PN533_CFGITEM_RF_FIELD;
*skb_put(skb, 1) = 0;
*skb_put(skb, 1) = PN533_CFGITEM_RF_FIELD_AUTO_RFCA;

rc = pn533_send_cmd_async(dev, PN533_CMD_RF_CONFIGURATION, skb,
pn533_rf_complete, NULL);
Expand Down Expand Up @@ -2598,6 +2599,8 @@ static int pn533_rf_field(struct nfc_dev *nfc_dev, u8 rf)
u8 rf_field = !!rf;
int rc;

rf_field |= PN533_CFGITEM_RF_FIELD_AUTO_RFCA;

rc = pn533_set_configuration(dev, PN533_CFGITEM_RF_FIELD,
(u8 *)&rf_field, 1);
if (rc) {
Expand Down

0 comments on commit 3a8eab3

Please sign in to comment.