An error occurred fetching the project authors.
  1. 27 Jan, 2015 1 commit
    • Christophe Ricard's avatar
      NFC: st21nfca: Adding support for secure element · 2130fb97
      Christophe Ricard authored
      st21nfca has 1 physical SWP line and can support up to 2 secure elements
      (UICC & eSE) thanks to an external switch managed with a gpio.
      
      The platform integrator needs to specify thanks to 2 initialization
      properties, uicc-present and ese-present, if it is suppose to have uicc
      and/or ese. Of course if the platform does not have an external switch,
      only one kind of secure element can be supported. Those parameters are
      under platform integrator responsibilities.
      
      During initialization, the white_list will be set according to those
      parameters.
      
      The discovery_se function will assume a secure element is physically
      present according to uicc-present and ese-present values and will add it
      to the secure element list. On ese activation, the atr is retrieved to
      calculate a command exchange timeout based on the first atr(TB) value.
      
      The se_io will allow to transfer data over SWP. 2 kind of events may appear
      after a data is sent over:
      - ST21NFCA_EVT_TRANSMIT_DATA when receiving an apdu answer
      - ST21NFCA_EVT_WTX_REQUEST when the secure element needs more time than
      expected to compute a command. If this timeout expired, a first recovery
      tentative consist to send a simple software reset proprietary command.
      If this tentative still fail, a second recovery tentative consist to send
      a hardware reset proprietary command.
      This function is only relevant for eSE like secure element.
      
      This patch also change the way a pipe is referenced. There can be
      different pipe connected to the same gate with different host destination
      (ex: CONNECTIVITY). In order to keep host information every pipe are
      reference with a tuple (gate, host). In order to reduce changes, we are
      keeping unchanged the way a gate is addressed on the Terminal Host.
      However, this is working because we consider the apdu reader gate is only
      present on the eSE slot also the connectivity gate cannot give a reliable
      value; it will give the latest stored pipe value.
      Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      2130fb97
  2. 07 Sep, 2014 1 commit
    • Christophe Ricard's avatar
      NFC: st21nfca: Fix potential depmod dependency cycle · 300c627f
      Christophe Ricard authored
      In the previous makefile 2 modules were generated for CONFIG_NFC_ST21NFCA
      (st21nfca.ko and st21nfca_dep.ko). Merge both of them into st21nfca_hci.ko
      and fix a potential depmod dependency cycle, similar to the one we saw
      on st21nfcb:
      
      depmod: WARNING: found 6 modules in dependency cycles!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/drivers/nfc/st21nfcb/st21nfcb.ko
      in dependency cycle!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/drivers/nfc/st21nfcb/ndlc.ko
      in dependency cycle!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/net/rfkill/rfkill.ko in
      dependency cycle!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/net/nfc/nfc.ko in
      dependency cycle!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/net/nfc/nci/nci.ko in
      dependency cycle!
      depmod: WARNING:
      /lib/modules/3.17.0-rc3-00002-g7505ceaf/kernel/lib/crc-ccitt.ko in
      dependency cycle!
      ./scripts/depmod.sh: line 57: 23387 Segmentation fault      (core
      dumped) "$DEPMOD" "$@" "$KERNELRELEASE" $SYMBOL_PREFIX
      make: *** [_modinst_post] Error 139
      Reported-by: default avatarDaniel Wagner <wagi@monom.org>
      Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      300c627f
  3. 22 Jul, 2014 1 commit
  4. 21 Apr, 2014 1 commit
    • Christophe Ricard's avatar
      NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip · 68957303
      Christophe Ricard authored
      Add driver for STMicroelectronics ST21NFCA NFC controller.
      ST21NFCA is using HCI protocol, shdlc as LLC layer & I2C as
      communication protocol.
      
      Adding support for Reader/Writer mode with Tag type 1/2/3/4 A & B.
      It is using proprietary gate 15 for ISO14443-3 such as type 1 &
      type 2 tags. It is using proprietary gate 14 for type F tags.
      ST21NFCA_DEVICE_MGNT_GATE gives access to proprietary CLF configuration.
      Standard gate for ISO14443-4 A (13) & B (11) are also used.
      
      ST21NFCA specific mecanism:
      
      One particular point to notice for the data handling is that frame
      does not contain any length value. Therefore the i2c part of this driver
      is managing the reception with a read length sequence until the end of
      frame (0x7e) is reached.
      
      In order to avoid conflict between sof & eof a mecanism
      called byte stuffing concist of an escape byte (0x7d) insertion before
      special byte (0x7e, 0x7d). The special byte is then xored with 0x20.
      
      In this driver, When data are available in the CLF, the interrupt
      gpio is driven to active state and triggered an interrupt.
      Once the i2c_master_recv start, the interrupt gpio is driven to idle
      state until its complete. If the frame is incomplete or data are still
      available, interrupts will be triggered again.
      Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      68957303