linux_old1/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 iio:dac: Add ad5755 driver 2012-09-17 20:55:54 +01:00
ad7266.h iio:adc: Add AD7265/AD7266 support 2012-06-30 10:15:07 +01:00
ad7298.h staging:iio: Move the ad7298 driver out of staging 2012-11-19 22:22:15 +00:00
ad7791.h staging:iio:adc: Add AD7791 driver 2012-09-08 10:20:09 +01:00
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 ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
asoc-mx27vis.h ASoC: mx27vis: retrieve gpio numbers from platform_data 2012-09-17 07:35:08 -04:00
asoc-palm27x.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
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 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
asoc-ti-mcbsp.h Sound updates for 3.7-rc1 2012-10-09 07:07:14 +09:00
at91_adc.h ARM: AT91: Add platform data for the AT91 ADCs 2012-05-14 13:17:49 -07:00
ata-pxa.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
ata-samsung_cf.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
atmel-aes.h ARM: at91: move platform_data definitions 2012-09-14 11:16:40 +02:00
atmel.h atmel: move ATMEL_MAX_UART to platform_data/atmel.h 2012-11-19 17:44:54 +01:00
camera-mx1.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
camera-mx2.h Merge branch 'multiplatform/platform-data' into next/multiplatform 2012-09-22 01:07:21 -07:00
camera-mx3.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
camera-pxa.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
clk-integrator.h clk: move IM-PD1 clocks to drivers/clk 2012-11-21 11:02:44 -08:00
clk-nomadik.h ARM: nomadik: convert to generic clock 2012-06-10 18:41:40 +02:00
clk-realview.h clk: convert ARM RealView to common clk 2012-08-24 17:42:10 -07:00
clk-u300.h ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
clk-ux500.h clk: ux500: First version of clock definitions for ux500 2012-09-06 15:58:04 -07:00
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 ARM: at91: move platform_data definitions 2012-09-14 11:16:40 +02:00
dma-ep93xx.h ARM: ep93xx: move platform_data definitions 2012-09-14 11:16:55 +02:00
dma-imx-sdma.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
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 ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
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 ARM: omap: move platform_data definitions 2012-09-19 17:39:52 +02:00
dwc3-exynos.h
dwc3-omap.h
efm32-uart.h
ehci-sh.h usb: ehci-sh: Add PHY init function with platform data 2012-04-18 13:52:35 -07:00
elm.h mtd: nand: omap2: Support for hardware BCH error correction. 2013-02-04 09:26:29 +02:00
emif_plat.h memory: emif: add basic infrastructure for EMIF driver 2012-05-02 00:10:49 -07:00
eth-netx.h ARM: netx: move platform_data definitions 2012-09-14 11:17:36 +02:00
exynos_thermal.h thermal: exynos: register the tmu sensor with the kernel thermal layer 2012-09-24 14:44:38 +08:00
fsa9480.h
gpio-em.h gpio: Emma Mobile GPIO driver V2 2012-05-18 00:00:45 +02:00
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 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
i2c-cbus-gpio.h i2c: i2c-cbus-gpio: introduce driver 2012-11-19 09:57:16 +01:00
i2c-davinci.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
i2c-imx.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
i2c-nomadik.h i2c: nomadik: Add Device Tree support to the Nomadik I2C driver 2012-10-06 13:20:33 +02:00
i2c-nuc900.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
i2c-s3c2410.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
imx-iram.h [media] coda: Fix build due to iram.h rename 2013-01-08 09:44:06 +01:00
ina2xx.h hwmon: INA219 and INA226 support 2012-05-22 06:48:02 -07:00
iommu-omap.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
irda-pxaficp.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
keyboard-pxa930_rotary.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
keyboard-spear.h ARM: spear: move platform_data definitions 2012-09-19 17:42:19 +02:00
keypad-ep93xx.h ARM: ep93xx: move platform_data definitions 2012-09-14 11:16:55 +02:00
keypad-nomadik-ske.h ARM: nomadik: move platform_data definitions 2012-09-14 11:19:00 +02:00
keypad-omap.h ARM: omap: move platform_data definitions 2012-09-19 17:39:52 +02:00
keypad-pxa27x.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
keypad-w90p910.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
keyscan-davinci.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
lcd-mipid.h ARM: omap: move platform_data definitions 2012-09-19 17:39:52 +02:00
leds-kirkwood-netxbig.h ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
leds-kirkwood-ns2.h ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
leds-lm355x.h leds: Add new LED driver for lm355x chips 2012-09-11 18:32:43 +08:00
leds-lm3642.h leds: Add new LED driver for lm3642 chips 2012-09-13 11:56:41 +08:00
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: add output driver configuration for pca9633 led driver 2012-09-24 19:12:29 +08:00
leds-renesas-tpu.h
leds-s3c24xx.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
lm3630_bl.h backlight: add Backlight driver for lm3630 chip 2012-10-06 03:04:53 +09:00
lm3639_bl.h backlight: add new lm3639 backlight driver 2012-10-06 03:04:53 +09:00
lp855x.h drivers/video/backlight/lp855x_bl.c: use generic PWM functions 2012-12-17 17:15:16 -08:00
lp8727.h lp8727_charger: More pure cosmetic improvements 2012-09-20 18:07:23 -07:00
macb.h net/at91_ether: add pdata flag for reverse Eth addr 2012-10-23 02:40:10 -04:00
max197.h hwmon: add Maxim MAX197 support 2012-09-23 21:08:33 -07:00
max310x.h serial: New serial driver MAX310X 2012-08-16 12:12:25 -07:00
mfd-mcp-sa11x0.h ARM: sa1100: move platform_data definitions 2012-09-14 11:18:57 +02:00
mipi-csis.h [media] s5p-csis: Allow to specify pixel clock's source through platform data 2012-10-05 22:35:16 -03:00
mmc-davinci.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
mmc-esdhc-imx.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
mmc-msm_sdcc.h ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
mmc-mvsdio.h ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
mmc-mxcmmc.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
mmc-omap.h ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
mmc-pxamci.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
mmc-s3cmci.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mmc-sdhci-tegra.h ARM: tegra: move sdhci platform_data definition 2012-09-14 11:18:57 +02:00
mmp_audio.h ASoC: mmp: add audio dma support 2012-06-13 13:13:37 +01:00
mmp_dma.h dmaengine: mmp-pdma support 2012-09-14 08:14:07 +05:30
mouse-pxa930_trkball.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
msm_serial_hs.h
mtd-davinci-aemif.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
mtd-davinci.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
mtd-mxc_nand.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
mtd-nand-omap2.h ARM: OMAP2+: gpmc: nand register helper bch update 2012-10-15 14:42:10 +05:30
mtd-nand-pxa3xx.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
mtd-nand-s3c2410.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mtd-onenand-omap2.h ARM: OMAP2+: onenand: header cleanup 2012-10-15 14:42:03 +05:30
mtd-orion_nand.h ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
mv_usb.h usb/marvell: remove conditional compilation of clk code 2012-07-30 17:25:12 -07:00
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 ARM: OMAP1: move omap1_bl pdata out of arch/arm/* 2012-09-10 16:34:00 -07:00
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 ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
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 - Remoteproc Recovery - by Fernando Guzman Lugo - when a remote processor 2012-10-04 09:11:57 -07:00
s3c-hsotg.h usb: s3c-hsotg: Add header file protection macros in s3c-hsotg.h 2012-07-17 10:54:29 -07:00
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 spi: Master driver for NXP SC18IS602/603 2012-08-22 19:34:51 +01:00
sccnxp.h serial: New serial driver SCCNXP 2012-09-05 13:21:46 -07:00
serial-imx.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
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 drm: Renesas SH Mobile DRM driver 2012-09-18 12:28:22 +02:00
sht15.h hwmon: (sht15) move header to linux/platform_data/ 2012-09-23 21:08:35 -07:00
spi-clps711x.h spi/clps711x: New SPI master driver 2012-12-05 23:14:38 +00:00
spi-davinci.h ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
spi-ep93xx.h ARM: ep93xx: move platform_data definitions 2012-09-14 11:16:55 +02:00
spi-imx.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
spi-nuc900.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
spi-omap2-mcspi.h spi/omap: fix D0/D1 direction confusion 2012-11-14 12:16:17 +09:00
spi-s3c64xx.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
tegra_emc.h
tegra_usb.h usb: ehci-tegra: Add vbus_gpio to platform data 2012-04-18 10:26:37 -06:00
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 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
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 ARM: davinci: move platform_data definitions 2012-09-14 11:16:54 +02:00
usb-ehci-mxc.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
usb-ehci-orion.h ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
usb-ehci-s5p.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
usb-exynos.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
usb-imx_udc.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
usb-musb-ux500.h ARM: nomadik: move platform_data definitions 2012-09-14 11:19:00 +02:00
usb-mx2.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
usb-ohci-pxa27x.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
usb-ohci-s3c2410.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
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 ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
usb-s3c2410_udc.h ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
video-ep93xx.h ARM: ep93xx: move platform_data definitions 2012-09-14 11:16:55 +02:00
video-imxfb.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
video-msm_fb.h ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
video-mx3fb.h ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
video-nuc900fb.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
video-pxafb.h ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
video-vt8500lcdfb.h ARM: vt8500: move platform_data definitions 2012-09-14 11:18:58 +02:00
voltage-omap.h ARM: omap: move platform_data definitions 2012-09-19 17:39:52 +02:00
wiznet.h Ethernet driver for the WIZnet W5300 chip 2012-04-05 01:43:02 -04:00