• Frederic Danis's avatar
    NFC: Add NCI over SPI receive · 391d8a2d
    Frederic Danis authored
    Before any operation, driver interruption is de-asserted to prevent
    race condition between TX and RX.
    
    Transaction starts by emitting "Direct read" and acknowledged mode
    bytes. Then packet length is read allowing to allocate correct NCI
    socket buffer. After that payload is retrieved.
    
    A delay after the transaction can be added.
    This delay is determined by the driver during nci_spi_allocate_device()
    call and can be 0.
    
    If acknowledged mode is set:
    - CRC of header and payload is checked
    - if frame reception fails (CRC error): NACK is sent
    - if received frame has ACK or NACK flag: unblock nci_spi_send()
    
    Payload is passed to NCI module.
    
    At the end, driver interruption is re asserted.
    Signed-off-by: default avatarFrederic Danis <frederic.danis@linux.intel.com>
    Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    391d8a2d
nci_core.h 6.53 KB