1. 29 Jan, 2015 7 commits
  2. 28 Jan, 2015 30 commits
  3. 27 Jan, 2015 3 commits
    • Robert Dolca's avatar
      NFC: PN544: GPIO access that may sleep · 75dda421
      Robert Dolca authored
      gpio_set_value was replaced with gpio_set_value_cansleep in order
      to allow GPIO access that may sleep. This is particularelly useful
      when GPIO is accessed using busses like I2C, SPI, USB
      Signed-off-by: default avatarRobert Dolca <robert.dolca@intel.com>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      75dda421
    • Christophe Ricard's avatar
      NFC: dts: st21nfca: Document ese-present & uicc-present DTS property · 3b060532
      Christophe Ricard authored
      On st21nfca, the mechanism to enable a secure element needs to add 2
      properties in order manage the SWP line correctly.
      
      Document ese-present and uicc-present properties.
      Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      3b060532
    • 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