diff options
author | Mark A. Greer <mgreer@animalcreek.com> | 2014-04-14 13:04:10 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2014-05-25 19:28:28 -0400 |
commit | 6857bb96271cd40ffb38825d43897d716310e3db (patch) | |
tree | d8a6e57e945965ab577807b27d923eeec1da243f | |
parent | db3287da347ad29ec8bd9e43f0386f987e9d8f98 (diff) |
NFC: trf7970a: Add support for Felica Type 3 tags
Add support for the Felica protocol and Type 3 tags.
Both 212 and 424 kbps are supported.
Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/nfc/trf7970a.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index efb36593ecb4..3b78b031e617 100644 --- a/drivers/nfc/trf7970a.c +++ b/drivers/nfc/trf7970a.c | |||
@@ -105,7 +105,8 @@ | |||
105 | 105 | ||
106 | #define TRF7970A_SUPPORTED_PROTOCOLS \ | 106 | #define TRF7970A_SUPPORTED_PROTOCOLS \ |
107 | (NFC_PROTO_MIFARE_MASK | NFC_PROTO_ISO14443_MASK | \ | 107 | (NFC_PROTO_MIFARE_MASK | NFC_PROTO_ISO14443_MASK | \ |
108 | NFC_PROTO_ISO14443_B_MASK | NFC_PROTO_ISO15693_MASK) | 108 | NFC_PROTO_ISO14443_B_MASK | NFC_PROTO_FELICA_MASK | \ |
109 | NFC_PROTO_ISO15693_MASK) | ||
109 | 110 | ||
110 | #define TRF7970A_AUTOSUSPEND_DELAY 30000 /* 30 seconds */ | 111 | #define TRF7970A_AUTOSUSPEND_DELAY 30000 /* 30 seconds */ |
111 | 112 | ||
@@ -867,6 +868,14 @@ static int trf7970a_config_rf_tech(struct trf7970a *trf, int tech) | |||
867 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_14443B_106; | 868 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_14443B_106; |
868 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; | 869 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; |
869 | break; | 870 | break; |
871 | case NFC_DIGITAL_RF_TECH_212F: | ||
872 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_FELICA_212; | ||
873 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; | ||
874 | break; | ||
875 | case NFC_DIGITAL_RF_TECH_424F: | ||
876 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_FELICA_424; | ||
877 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; | ||
878 | break; | ||
870 | case NFC_DIGITAL_RF_TECH_ISO15693: | 879 | case NFC_DIGITAL_RF_TECH_ISO15693: |
871 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_15693_SGL_1OF4_2648; | 880 | trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_15693_SGL_1OF4_2648; |
872 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_OOK; | 881 | trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_OOK; |
@@ -898,6 +907,8 @@ static int trf7970a_config_framing(struct trf7970a *trf, int framing) | |||
898 | case NFC_DIGITAL_FRAMING_NFCA_T4T: | 907 | case NFC_DIGITAL_FRAMING_NFCA_T4T: |
899 | case NFC_DIGITAL_FRAMING_NFCB: | 908 | case NFC_DIGITAL_FRAMING_NFCB: |
900 | case NFC_DIGITAL_FRAMING_NFCB_T4T: | 909 | case NFC_DIGITAL_FRAMING_NFCB_T4T: |
910 | case NFC_DIGITAL_FRAMING_NFCF: | ||
911 | case NFC_DIGITAL_FRAMING_NFCF_T3T: | ||
901 | case NFC_DIGITAL_FRAMING_ISO15693_INVENTORY: | 912 | case NFC_DIGITAL_FRAMING_ISO15693_INVENTORY: |
902 | case NFC_DIGITAL_FRAMING_ISO15693_T5T: | 913 | case NFC_DIGITAL_FRAMING_ISO15693_T5T: |
903 | trf->tx_cmd = TRF7970A_CMD_TRANSMIT; | 914 | trf->tx_cmd = TRF7970A_CMD_TRANSMIT; |