android_kernel_msm-6.1_noth.../include/linux/platform_data
Christophe Ricard 2130fb97fe NFC: st21nfca: Adding support for secure element
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: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-01-28 00:03:36 +01:00
..
ad5449.h
ad5755.h
ad7266.h
ad7291.h staging:iio:ad7291: Move out of staging 2014-07-08 21:17:30 +01:00
ad7298.h
ad7303.h
ad7791.h
ad7793.h
ad7887.h
adau17x1.h ASoC: Add ADAU1381/ADAU1781 audio CODEC support 2014-05-27 20:54:51 +01:00
adau1977.h ASoC: Add ADAU1977 CODEC driver 2014-02-19 13:36:15 +09:00
ads7828.h
arm-ux500-pm.h
asoc-imx-ssi.h
asoc-kirkwood.h
asoc-mx27vis.h
asoc-palm27x.h
asoc-s3c.h ASoC: Samsung: Add quirk for internal DMA 2014-11-07 10:38:17 +00:00
asoc-s3c24xx_simtec.h ASoC: s3c24xx: Remove invalid file reference 2014-02-25 21:29:31 +09:00
asoc-ti-mcbsp.h ASoC: mcbsp: Trivial cleanup in asoc-ti-mcbsp.h 2013-12-30 11:50:16 +00:00
asoc-ux500-msp.h ARM: ux500: Don't use enums for MSP IDs - for easy DT conversion 2014-01-07 15:36:09 +00:00
at24.h misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
at91_adc.h iio: adc: at91_adc: Add support for touchscreens without TSMR 2014-05-07 18:28:40 +02:00
ata-pxa.h
ata-samsung_cf.h ata: pata_samsung_cf: removes s5pc100 related ata codes 2014-06-30 10:48:08 -04:00
atmel.h TTY/Serial driver patches for 3.16-rc1 2014-06-03 09:01:02 -07:00
bcmgenet.h net: bcmgenet: enable driver to work without a device tree 2014-12-08 20:26:59 -05:00
bd6107.h backlight: Add ROHM BD6107 backlight driver 2013-07-16 13:01:19 +09:00
brcmfmac-sdio.h brcmfmac: abstract tx packet processing functions 2013-08-15 16:07:55 -04:00
bt-nokia-h4p.h staging/bluetooth: Add hci_h4p driver 2014-02-07 10:13:53 -08:00
camera-mx2.h
camera-mx3.h [media] V4L2: mx3_camera: add support for asynchronous subdevice registration 2013-08-18 09:06:37 -03:00
camera-pxa.h
camera-rcar.h [media] V4L2: soc_camera: Renesas R-Car VIN driver 2013-08-18 09:01:10 -03:00
clk-integrator.h ARM: integrator: switch to fetch clocks from device tree 2014-02-13 11:20:42 +01:00
clk-lpss.h
clk-realview.h
clk-u300.h
clk-ux500.h clk: ux500: Copy u8500_clk_init() ready for DT enablement 2013-09-26 11:05:26 +02:00
coda.h
crypto-atmel.h
crypto-ux500.h
cyttsp4.h
davinci_asp.h ASoC: davinci-mcasp: Rename platform data struct 2014-02-03 18:26:59 +00:00
db8500_thermal.h
dma-atmel.h
dma-coh901318.h
dma-dw.h dmaengine: dw: split dma-dw.h to platform and private parts 2014-10-15 20:31:04 +05:30
dma-ep93xx.h
dma-imx-sdma.h dma: imx-sdma: Add sdma firmware version 2 support 2013-12-16 09:18:47 +05:30
dma-imx.h dmaengine: imx-sdma: Add a new DMATYPE for SAI 2014-11-17 13:50:43 +05:30
dma-mmp_tdma.h dma: Cleanup dma-mmp_tdma.h header 2014-01-13 13:30:30 +05:30
dma-mv_xor.h dma: mv_xor: Cleanup in dma-mv_xor.h header 2014-01-13 13:30:31 +05:30
dma-rcar-audmapp.h shdma: add R-Car Audio DMAC peri peri driver 2014-03-29 19:38:09 +05:30
dma-rcar-hpbdma.h dma: add driver for R-Car HPB-DMAC 2013-09-02 17:35:55 +05:30
dma-s3c24xx.h ARM: S3C24XX: add dma pdata for s3c2410, s3c2440 and s3c2442 2013-10-21 05:32:48 +09:00
dma-ste-dma40.h
dmtimer-omap.h
drv260x-pdata.h Input: drv260x - add TI drv260x haptics driver 2014-08-19 22:19:28 -07:00
dwc3-omap.h
edma.h ARM: edma: Add edma_assign_channel_eventq() to move channel to a give queue 2014-07-28 17:03:13 +05:30
efm32-spi.h spi: new controller driver for efm32 SoCs 2013-08-09 17:32:57 +01:00
efm32-uart.h
ehci-sh.h
elm.h nand: omap2: Remove horrible ifdefs to fix module probe 2014-09-22 11:37:51 -07:00
emif_plat.h
eth-netx.h net: Cleanup in eth-netx.h 2014-01-02 03:30:35 -05:00
fsa9480.h
g762.h
gpio-davinci.h gpio: remove obsolete tnetv107x driver 2014-03-05 10:44:44 +08:00
gpio-dwapb.h GPIO: gpio-dwapb: Enable platform driver binding to MFD driver 2014-09-23 17:51:37 +02:00
gpio-em.h gpio: em: Add pinctrl support 2013-07-21 17:24:41 +02:00
gpio-lpc32xx.h ARM: lpc32xx: move custom GPIO header 2013-12-03 11:26:06 +01:00
gpio-omap.h
gpio-rcar.h
gpio-ts5500.h
gpio_backlight.h
hsmmc-omap.h mmc: omap_hsmmc: remove unused slot_id parameter 2014-11-26 14:30:56 +01:00
hwmon-s3c.h hwmon: (s3c) Trivial cleanup in hwmon-s3c.h 2014-01-14 21:36:52 -08:00
i2c-cbus-gpio.h
i2c-davinci.h
i2c-designware.h i2c: designware: add support of platform data to set I2C mode 2014-09-29 22:41:17 +02:00
i2c-imx.h
i2c-nuc900.h
i2c-s3c2410.h i2c: s3c2410: Trivial cleanup in header file 2014-03-10 17:32:28 +01:00
ina2xx.h
intel-mid_wdt.h watchdog: add Intel MID watchdog driver support 2014-06-10 21:48:16 +02:00
invensense_mpu6050.h
iommu-omap.h iommu/omap: Remove platform data da_start and da_end fields 2014-07-29 12:39:56 +02:00
ipmmu-vmsa.h iommu: Add driver for Renesas VMSA-compatible IPMMU 2014-05-26 11:18:21 +02:00
irda-pxaficp.h
irda-sa11x0.h arm: sa1100: move irda header to linux/platform_data 2014-12-30 18:44:07 -05:00
irq-renesas-intc-irqpin.h
irq-renesas-irqc.h
isl9305.h regulator: isl9305: Add Intersil ISL9305/H driver 2014-09-06 12:43:05 +01:00
keyboard-pxa930_rotary.h
keyboard-spear.h
keypad-ep93xx.h Input: keypad-ep93xx - cleanup header file 2013-12-27 17:20:21 -08:00
keypad-nomadik-ske.h
keypad-omap.h Input: keypad-omap - cleanup header file 2013-12-27 17:20:22 -08:00
keypad-pxa27x.h
keypad-w90p910.h
keyscan-davinci.h
lcd-mipid.h
leds-kirkwood-netxbig.h leds: kirkwood: Cleanup in header files 2014-01-27 17:28:51 -08:00
leds-kirkwood-ns2.h leds: kirkwood: Cleanup in header files 2014-01-27 17:28:51 -08:00
leds-lm355x.h
leds-lm3642.h
leds-lp55xx.h leds: lp55xx: handle enable pin in driver 2013-10-25 10:13:25 -07:00
leds-omap.h
leds-pca963x.h leds-pca9633: Rename to leds-pca963x 2013-08-26 17:22:14 -07:00
leds-s3c24xx.h leds: leds-s3c24xx: Trivial cleanup in header file 2014-02-27 09:57:11 -08:00
lm3630a_bl.h backlight: lm3630: apply chip revision 2013-11-13 12:09:15 +09:00
lm3639_bl.h
lp855x.h backlight: lp855x: Add supply regulator to lp855x 2014-12-09 09:24:45 +00:00
lp8727.h
lp8755.h
lv5207lp.h backlight: Add Sanyo LV5207LP backlight driver 2013-07-16 13:01:10 +09:00
macb.h
mailbox-omap.h
max197.h hwmon: (max197) add include guard 2014-01-14 21:36:53 -08:00
max3421-hcd.h usb: host: max3421-hcd: Allow platform-data to specify Vbus polarity 2014-05-29 11:19:30 -07:00
max6697.h
mfd-mcp-sa11x0.h mfd: Cleanup mfd-mcp-sa11x0.h header 2014-01-21 08:28:59 +00:00
microread.h
mmc-atmel-mci.h mmc: atmel-mci: move mach header to platform_data 2014-11-10 12:40:37 +01:00
mmc-davinci.h
mmc-esdhc-imx.h mmc: sdhci-esdhc-imx: add delay line setting support 2013-10-21 15:58:13 -04:00
mmc-msm_sdcc.h mmc: msm: Cleanup mmc-msm_sdcc.h header 2014-02-25 15:43:15 -05:00
mmc-mvsdio.h mmc: mvsdio: Cleanup mmc-mvsdio.h header 2014-02-25 15:43:23 -05:00
mmc-mxcmmc.h
mmc-omap.h ARM: OMAP1/2+: MMC: separate platform data for mmc and mmc hs driver 2014-11-26 14:30:53 +01:00
mmc-pxamci.h ARM: pxa: propagate errors from regulator_enable() to pxamci 2013-07-23 12:15:15 -07:00
mmc-s3cmci.h
mmc-sdhci-s3c.h
mmp_audio.h
mmp_dma.h
mouse-pxa930_trkball.h
msm_serial_hs.h
mtd-davinci-aemif.h ARM: davinci: aemif: get rid of davinci-nand driver dependency on aemif 2014-02-23 20:33:18 +05:30
mtd-davinci.h
mtd-mxc_nand.h
mtd-nand-omap2.h nand: omap2: Add support for flash-based bad block table 2014-09-17 01:02:48 -07:00
mtd-nand-pxa3xx.h mtd: nand: pxa3xx: Use ECC strength and step size devicetree binding 2014-05-21 12:55:09 -07:00
mtd-nand-s3c2410.h mtd: nand: s3c2410: Trivial cleanup in header file 2014-03-10 22:42:26 -07:00
mtd-onenand-omap2.h mtd: omap2: Cleanup header files 2014-01-11 11:39:18 -08:00
mtd-orion_nand.h mtd: orion: Cleanup mtd-orion_nand.h header 2014-01-11 11:39:23 -08:00
mv_usb.h
net-cw1200.h
ntc_thermistor.h hwmon: (ntc_thermistor) Support B57330V2103 from EPCOS 2014-08-04 07:01:35 -07:00
omap-twl4030.h
omap-wd-timer.h
omap1_bl.h
omap_drm.h
pca953x.h gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
pcmcia-pxa2xx_viper.h
pinctrl-adi2.h pinctrl: ADI PIN control driver for the GPIO controller on bf54x and bf60x. 2013-09-19 14:37:27 +02:00
pinctrl-single.h pinctrl: single: Add support for auxdata 2013-10-10 15:30:47 -07:00
pn544.h nfc: Fix FSF address in file headers 2013-12-11 10:56:21 -05:00
pxa2xx_udc.h
pxa_sdhci.h mmc: sdhci-pxav3: Move private driver data to driver source 2014-11-10 12:40:31 +01:00
remoteproc-omap.h
s3c-hsotg.h
s3c-hsudc.h
sa11x0-serial.h
sc18is602.h
serial-imx.h serial: imx: Remove init() and exit() platform callbacks 2014-02-28 16:36:45 -08:00
serial-omap.h ARM: OMAP: serial: remove last vestige of DTR_gpio support. 2014-11-10 09:06:44 -08:00
serial-sccnxp.h Revert "serial: sccnxp: Add DT support" 2013-08-02 15:25:19 +08:00
sh_ipmmu.h
shmob_drm.h
sht15.h hwmon: (sht15) add include guard 2014-01-14 21:36:53 -08:00
shtc1.h hwmon: add support for Sensirion SHTC1 sensor 2014-06-12 08:36:48 -07:00
si5351.h clk: si5351: remove variant from platform_data 2014-01-27 11:20:22 -08:00
simplefb.h fbdev changes for 3.12: 2013-09-05 09:49:32 -07:00
spi-clps711x.h
spi-davinci.h
spi-ep93xx.h
spi-imx.h
spi-nuc900.h spi: nuc900: Cleanup spi-nuc900.h header 2013-12-30 12:46:20 +00:00
spi-omap2-mcspi.h
spi-s3c64xx.h spi/s3c64xx: Trivial cleanup in header file 2014-02-16 09:59:13 +08:00
ssm2518.h
st21nfca.h NFC: st21nfca: Adding support for secure element 2015-01-28 00:03:36 +01:00
st21nfcb.h NFC: st21nfcb: Fix copy/paste error in comment 2015-01-26 23:14:34 +01:00
st1232_pdata.h
st_sensors_pdata.h iio: Added ST-sensors platform data to select the DRDY interrupt pin 2013-08-03 18:40:28 +01:00
syscon.h mfd: syscon: Add platform data with a regmap config name 2014-05-15 17:02:19 +01:00
touchscreen-s3c2410.h Input: s3c2410 - trivial cleanup in header file 2014-02-14 00:09:43 -08:00
tsl2563.h
uio_dmem_genirq.h
uio_pruss.h
usb-davinci.h
usb-ehci-mxc.h ARM: imx: move EHCI platform defines out of platform_data header 2014-07-18 16:10:04 +08:00
usb-ehci-orion.h usb: ehci: Cleanup usb-ehci-orion.h header 2014-01-03 12:37:57 -08:00
usb-musb-ux500.h
usb-mx2.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap.h
usb-omap1.h usb: omap1: add extcon to platform data 2013-12-06 14:36:37 -06:00
usb-pxa3xx-ulpi.h
usb-rcar-gen2-phy.h usb: phy: Add RCAR Gen2 USB phy 2013-10-10 11:59:48 -05:00
usb-rcar-phy.h
usb-s3c2410_udc.h
usb3503.h
ux500_wdt.h
video-clcd-versatile.h video: fix up versatile CLCD helper move 2014-07-23 17:41:00 +02:00
video-ep93xx.h video: ep93xx: Cleanup video-ep93xx.h header 2014-01-17 10:57:41 +02:00
video-imxfb.h video: imxfb: Remove unused fields from platform data structure 2014-02-28 12:35:22 +02:00
video-msm_fb.h video: msm: Cleanup video-msm_fb.h header 2014-01-17 10:57:42 +02:00
video-mx3fb.h
video-nuc900fb.h
video-pxafb.h video: pxa: Cleanup video-pxafb.h header 2014-01-17 10:57:42 +02:00
video_s3c.h
voltage-omap.h
vsp1.h [media] v4l: vsp1: Add LUT support 2013-12-11 09:25:20 -02:00
wiznet.h
zforce_ts.h Input: add driver for Neonode zForce based touchscreens 2013-10-31 08:46:08 -07:00