summaryrefslogtreecommitdiffstats
path: root/src/phHciNfc_DevMgmt.c
diff options
context:
space:
mode:
authorSunil Jogi <sunil.jogi@nxp.com>2011-07-12 05:03:50 -0700
committerMartijn Coenen <maco@google.com>2011-08-08 16:27:39 +0200
commitdd7125f5ab402a8e52625182542c668db3e51c2c (patch)
treefc6e49030166685bf015d135cc09669f4c1b1048 /src/phHciNfc_DevMgmt.c
parent34af9600bae35a39b5d0ac31123c3d99ae706e5c (diff)
downloadexternal_libnfc-nxp-dd7125f5ab402a8e52625182542c668db3e51c2c.zip
external_libnfc-nxp-dd7125f5ab402a8e52625182542c668db3e51c2c.tar.gz
external_libnfc-nxp-dd7125f5ab402a8e52625182542c668db3e51c2c.tar.bz2
Felica system code related changes
Modified implementation for Felica card handling includes following: - SENSF_REQ with RC=0x00 during discovery - T3T NDEF detection with SC = 0x12FC - If card is not NDEF then poll for primary SC - NFC-F presence check with check for expected IDm Change-Id: I8e7e83a36ec2c6e8e423df751c4bc73badb6edb5
Diffstat (limited to 'src/phHciNfc_DevMgmt.c')
-rw-r--r--src/phHciNfc_DevMgmt.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/phHciNfc_DevMgmt.c b/src/phHciNfc_DevMgmt.c
index 60bcf73..ef3aa78 100644
--- a/src/phHciNfc_DevMgmt.c
+++ b/src/phHciNfc_DevMgmt.c
@@ -118,6 +118,7 @@ typedef enum phHciNfc_DevMgmt_Seq{
DEV_MGMT_LLC_GRD_TO_L,
DEV_MGMT_LLC_ACK_TO_H,
DEV_MGMT_LLC_ACK_TO_L,
+ DEV_MGMT_FELICA_RC,
DEV_MGMT_EVT_AUTONOMOUS,
DEV_MGMT_PIPE_CLOSE
} phHciNfc_DevMgmt_Seq_t;
@@ -517,17 +518,8 @@ phHciNfc_DevMgmt_Initialise(
pHwRef, p_pipe_info );
if(status == NFCSTATUS_SUCCESS)
{
-
- if (HCI_SELF_TEST == psHciContext->init_mode )
- {
- p_device_mgmt_info->next_seq =
- DEV_MGMT_GPIO_PDIR;
- }
- else
- {
- p_device_mgmt_info->next_seq =
- DEV_MGMT_GET_EEPROM_INFO;
- }
+ p_device_mgmt_info->next_seq =
+ DEV_MGMT_FELICA_RC;
status = NFCSTATUS_PENDING;
}
break;
@@ -579,6 +571,26 @@ phHciNfc_DevMgmt_Initialise(
}
break;
}
+ case DEV_MGMT_FELICA_RC:
+ {
+ config = 0x00;
+ status = phHciNfc_DevMgmt_Configure( psHciContext, pHwRef,
+ NFC_FELICA_RC_ADDR , config );
+ if(NFCSTATUS_PENDING == status )
+ {
+ if (HCI_SELF_TEST == psHciContext->init_mode )
+ {
+ p_device_mgmt_info->next_seq =
+ DEV_MGMT_GPIO_PDIR;
+ }
+ else
+ {
+ p_device_mgmt_info->next_seq =
+ DEV_MGMT_GET_EEPROM_INFO;
+ }
+ }
+ break;
+ }
#if ( NXP_NFC_IFC_TIMEOUT & 0x01 )