diff options
author | Sunil Jogi <sunil.jogi@nxp.com> | 2011-07-12 05:03:50 -0700 |
---|---|---|
committer | Martijn Coenen <maco@google.com> | 2011-08-08 16:27:39 +0200 |
commit | dd7125f5ab402a8e52625182542c668db3e51c2c (patch) | |
tree | fc6e49030166685bf015d135cc09669f4c1b1048 /src/phHciNfc_DevMgmt.c | |
parent | 34af9600bae35a39b5d0ac31123c3d99ae706e5c (diff) | |
download | external_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.c | 34 |
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 ) |