android_kernel_oneplus_msm8998/include/linux/platform_data
Philip Avinash 62116e5171 mtd: nand: omap2: Support for hardware BCH error correction.
ELM module can be used for hardware error correction of BCH 4 & 8 bit.
ELM module functionality is verified by checking the availability of
handle for ELM module in device tree. Hence supporting
1. ELM module available, BCH error correction done by ELM module. Also
support read & write page in one shot by adding custom read_page and
write_page methods. This helps in optimizing code for NAND flashes with
page size less than 4 KB.
2. If ELM module not available fall back to software BCH error
correction support.

New structure member is added to omap_nand_info
1. "is_elm_used" to know the status of whether the ELM module is used for
   error correction or not.
2. "elm_dev" device pointer to elm device on detection of ELM module.

Also being here update the device tree documentation of gpmc-nand for
adding optional property elm_id.

Note:
ECC layout uses 1 extra bytes for 512 byte of data to handle erased
pages. Extra byte programmed to zero for programmed pages. Also BCH8
requires 14 byte ecc to maintain compatibility with RBL ECC layout.
This results a common ecc layout across RBL, U-boot & Linux with BCH8.

Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2013-02-04 09:26:29 +02:00
..
ad5449.h iio:dac: Add support for the ad5449 2012-10-19 18:46:51 +01:00
ad5755.h
ad7266.h
ad7298.h staging:iio: Move the ad7298 driver out of staging 2012-11-19 22:22:15 +00:00
ad7791.h
ad7793.h staging:iio: Move ad7793 driver out of staging 2012-11-30 12:57:08 +00:00
ad7887.h staging:iio: Move the ad7887 driver out of staging 2012-11-05 20:39:54 +00:00
ads7828.h hwmon: (ads7828) driver cleanup 2012-12-05 10:55:54 -08:00
asoc-imx-ssi.h ARM: imx: remove header file mach/irqs.h 2012-10-15 10:05:43 +08:00
asoc-kirkwood.h
asoc-mx27vis.h
asoc-palm27x.h
asoc-s3c.h ASoC: Samsung: Get I2S src_clk from clock alias id. 2012-11-28 19:18:00 +00:00
asoc-s3c24xx_simtec.h
asoc-ti-mcbsp.h
at91_adc.h
ata-pxa.h
ata-samsung_cf.h
atmel-aes.h
atmel.h atmel: move ATMEL_MAX_UART to platform_data/atmel.h 2012-11-19 17:44:54 +01:00
camera-mx1.h
camera-mx2.h
camera-mx3.h
camera-pxa.h
clk-integrator.h clk: move IM-PD1 clocks to drivers/clk 2012-11-21 11:02:44 -08:00
clk-nomadik.h
clk-realview.h
clk-u300.h
clk-ux500.h
clocksource-nomadik-mtu.h ARM: plat-nomadik: move MTU, kill plat-nomadik 2012-11-05 09:55:33 +01:00
cpsw.h cpsw: simplify the setup of the register pointers 2012-11-14 22:09:06 -05:00
crypto-ux500.h ARM: plat-nomadik: move DMA40 header to <linux/platform_data> 2012-11-05 09:55:32 +01:00
davinci_asp.h ASoC: McASP: remove unused variables 2012-12-07 14:46:56 +09:00
db8500_thermal.h Thermal: Add ST-Ericsson DB8500 thermal driver. 2012-11-15 20:50:34 +08:00
dma-atmel.h
dma-ep93xx.h
dma-imx-sdma.h
dma-imx.h dma: imx-dma: remove cpu_is_xxx by using platform_device_id 2012-10-15 10:03:17 +08:00
dma-mmp_tdma.h
dma-mv_xor.h dma: mv_xor: remove the pool_size from platform_data 2012-11-20 15:59:00 +01:00
dma-ste-dma40.h ARM: plat-nomadik: move DMA40 header to <linux/platform_data> 2012-11-05 09:55:32 +01:00
dmtimer-omap.h ARM: OMAP: Add platform data header for DMTIMERs 2012-11-16 10:35:08 -06:00
dsp-omap.h
dwc3-exynos.h
dwc3-omap.h
efm32-uart.h
ehci-sh.h
elm.h mtd: nand: omap2: Support for hardware BCH error correction. 2013-02-04 09:26:29 +02:00
emif_plat.h
eth-netx.h
exynos_thermal.h
fsa9480.h
gpio-em.h
gpio-omap.h ARM: OMAP: Remove NEED_MACH_GPIO_H 2012-11-02 12:00:36 -07:00
gpio-ts5500.h gpio: add TS-5500 DIO blocks support 2012-12-10 11:23:25 +01:00
hwmon-s3c.h
i2c-cbus-gpio.h i2c: i2c-cbus-gpio: introduce driver 2012-11-19 09:57:16 +01:00
i2c-davinci.h
i2c-imx.h
i2c-nomadik.h
i2c-nuc900.h
i2c-s3c2410.h
imx-iram.h [media] coda: Fix build due to iram.h rename 2013-01-08 09:44:06 +01:00
ina2xx.h
iommu-omap.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
irda-pxaficp.h
keyboard-pxa930_rotary.h
keyboard-spear.h
keypad-ep93xx.h
keypad-nomadik-ske.h
keypad-omap.h
keypad-pxa27x.h
keypad-w90p910.h
keyscan-davinci.h
lcd-mipid.h
leds-kirkwood-netxbig.h
leds-kirkwood-ns2.h
leds-lm355x.h
leds-lm3642.h
leds-omap.h ARM: OMAP: Move plat/led.h to include/linux/platform_data 2012-10-17 12:03:18 -07:00
leds-pca9633.h
leds-renesas-tpu.h
leds-s3c24xx.h
lm3630_bl.h
lm3639_bl.h
lp855x.h drivers/video/backlight/lp855x_bl.c: use generic PWM functions 2012-12-17 17:15:16 -08:00
lp8727.h
macb.h net/at91_ether: add pdata flag for reverse Eth addr 2012-10-23 02:40:10 -04:00
max197.h
max310x.h
mfd-mcp-sa11x0.h
mipi-csis.h
mmc-davinci.h
mmc-esdhc-imx.h
mmc-msm_sdcc.h
mmc-mvsdio.h
mmc-mxcmmc.h
mmc-omap.h ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
mmc-pxamci.h
mmc-s3cmci.h
mmc-sdhci-tegra.h
mmp_audio.h
mmp_dma.h
mouse-pxa930_trkball.h
msm_serial_hs.h
mtd-davinci-aemif.h
mtd-davinci.h
mtd-mxc_nand.h
mtd-nand-omap2.h ARM: OMAP2+: gpmc: nand register helper bch update 2012-10-15 14:42:10 +05:30
mtd-nand-pxa3xx.h
mtd-nand-s3c2410.h
mtd-onenand-omap2.h ARM: OMAP2+: onenand: header cleanup 2012-10-15 14:42:03 +05:30
mtd-orion_nand.h
mv_usb.h
ntc_thermistor.h
omap-abe-twl6040.h
omap-twl4030.h ASoC: omap-twl4030: Update the header file to support more boards 2012-12-07 12:54:31 +09:00
omap-wd-timer.h ARM: OMAP2+: WDT: move init; add read_reset_sources pdata function pointer 2012-10-29 20:49:44 -06:00
omap1_bl.h
omap4-keypad.h
omap_drm.h staging: drm/omap: add support for ARCH_MULTIPLATFORM 2012-10-30 11:10:00 -07:00
omap_ocp2scp.h drivers: bus: ocp2scp: add pdata support 2012-11-07 09:35:53 -08:00
pcmcia-pxa2xx_viper.h
pinctrl-coh901.h pinctrl/u300/coh901: stop spawning pinctrl from GPIO 2012-11-21 08:55:22 +01:00
pinctrl-nomadik.h pinctrl/nomadik: merge old pincfg header 2012-11-05 09:55:29 +01:00
pn544.h NFC: Move pn544.h to linux/platform_data/ 2012-11-19 23:56:59 +01:00
pxa2xx_udc.h ARM: move udc_pxa2xx.h to linux/platform_data 2012-11-16 11:35:30 +00:00
pxa_sdhci.h mmc: sdhci-pxav3: add quirks2 2012-12-06 13:54:51 -05:00
remoteproc-omap.h
s3c-hsotg.h
s3c-hsudc.h
sa11x0-serial.h ARM: move serial_sa1100.h header file to linux/platform_data 2012-11-16 11:35:29 +00:00
sc18is602.h
sccnxp.h
serial-imx.h
serial-omap.h ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h 2012-12-14 14:50:09 -08:00
shmob_drm.h
sht15.h
spi-clps711x.h spi/clps711x: New SPI master driver 2012-12-05 23:14:38 +00:00
spi-davinci.h
spi-ep93xx.h
spi-imx.h
spi-nuc900.h
spi-omap2-mcspi.h spi/omap: fix D0/D1 direction confusion 2012-11-14 12:16:17 +09:00
spi-s3c64xx.h
tegra_emc.h
tegra_usb.h
ti_am335x_adc.h IIO : ADC: tiadc: Add support of TI's ADC driver 2012-11-05 23:50:27 +01:00
touchscreen-s3c2410.h
uio_dmem_genirq.h Add new uio device for dynamic memory allocation 2012-10-24 15:39:08 -07:00
uio_pruss.h uio: uio_pruss: replace private SRAM API with genalloc 2012-10-27 16:28:32 +05:30
usb-davinci.h
usb-ehci-mxc.h
usb-ehci-orion.h
usb-ehci-s5p.h
usb-exynos.h
usb-imx_udc.h
usb-musb-ux500.h
usb-mx2.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap.h mfd: omap-usb-host: get rid of cpu_is_omap..() macros 2012-12-14 11:48:06 -08:00
usb-pxa3xx-ulpi.h
usb-s3c2410_udc.h
video-ep93xx.h
video-imxfb.h
video-msm_fb.h
video-mx3fb.h
video-nuc900fb.h
video-pxafb.h
video-vt8500lcdfb.h
voltage-omap.h
wiznet.h