Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Mark A. Greer and committed by
Samuel Ortiz
6857bb96 db3287da

+12 -1
+12 -1
drivers/nfc/trf7970a.c
··· 105 105 106 106 #define TRF7970A_SUPPORTED_PROTOCOLS \ 107 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 111 #define TRF7970A_AUTOSUSPEND_DELAY 30000 /* 30 seconds */ 111 112 ··· 868 867 trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_14443B_106; 869 868 trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; 870 869 break; 870 + case NFC_DIGITAL_RF_TECH_212F: 871 + trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_FELICA_212; 872 + trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; 873 + break; 874 + case NFC_DIGITAL_RF_TECH_424F: 875 + trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_FELICA_424; 876 + trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_ASK10; 877 + break; 871 878 case NFC_DIGITAL_RF_TECH_ISO15693: 872 879 trf->iso_ctrl_tech = TRF7970A_ISO_CTRL_15693_SGL_1OF4_2648; 873 880 trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_DEPTH_OOK; ··· 907 898 case NFC_DIGITAL_FRAMING_NFCA_T4T: 908 899 case NFC_DIGITAL_FRAMING_NFCB: 909 900 case NFC_DIGITAL_FRAMING_NFCB_T4T: 901 + case NFC_DIGITAL_FRAMING_NFCF: 902 + case NFC_DIGITAL_FRAMING_NFCF_T3T: 910 903 case NFC_DIGITAL_FRAMING_ISO15693_INVENTORY: 911 904 case NFC_DIGITAL_FRAMING_ISO15693_T5T: 912 905 trf->tx_cmd = TRF7970A_CMD_TRANSMIT;