u-boot/include
Mike Dunn 956b03e180 mtd: nand: add driver for diskonchip g4 nand flash
This patch adds a driver for the diskonchip G4 nand flash device.  It is based
on the driver from the linux kernel.

This also includes a separate SPL driver.  A separate SPL driver is used because
the device operates in a different mode (reliable mode) when loading a boot
image, and also because the storage format of the boot image is different from
normal data (pages are stored redundantly).  The SPL driver basically mimics how
a typical IPL reads data from the device.  The special operating mode and
storage format are used to compensate for the fact that the IPL does not contain
the BCH ecc decoding algorithm (due to size constraints).  Although the u-boot
SPL *could* use ecc, it operates like an IPL for the sake of simplicity and
uniformity, since the IPL and SPL share the task of loading the u-boot image.
As a side benefit, the SPL driver is very small.

[port from linux kernel 3.4 commit 570469f3bde7f71cc1ece07a18d54a05b6a8775d]

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
2013-05-05 23:47:05 +02:00
..
andestech
asm-generic sandbox: Switch over to generic board 2013-05-01 11:17:21 -04:00
bedbug Consolidate bool type 2013-04-01 16:33:52 -04:00
configs P1022DS: Set CONFIG_SPL_MAX_SIZE directly 2013-05-03 09:19:43 -04:00
cramfs
faraday
galileo Consolidate bool type 2013-04-01 16:33:52 -04:00
jffs2
linux mtd: nand: add driver for diskonchip g4 nand flash 2013-05-05 23:47:05 +02:00
lzma
mtd Revert "mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support" 2013-04-12 19:04:54 +02:00
pcmcia
power SMDK5250: Add PMIC voltage settings 2013-02-20 16:48:17 +09:00
synopsys
u-boot Roll crc32 into hash infrastructure 2013-02-28 19:09:23 -08:00
usb Merge remote-tracking branch 'u-boot/master' into u-boot-arm-merged 2012-12-19 13:02:36 -08:00
zfs zfs: Add ZFS filesystem support 2012-08-09 23:42:20 +02:00
.gitignore
74xx_7xx.h
_exports.h
ACEX1K.h
addr_map.h lib/powerpc: addrmap_phys_to_virt() should return a pointer 2012-07-06 17:30:32 -05:00
aes.h Add AES crypto library 2012-05-15 08:31:37 +02:00
ahci.h ahci: cosmetics and cleanup 2012-11-02 15:20:41 -07:00
ali512x.h
altera.h
amba_clcd.h
ambapp.h
ansi.h New command bootmenu: ANSI terminal boot menu support 2013-03-29 09:35:34 +01:00
api_public.h
arm925t.h
armcoremodule.h
asm-offsets.h
at45.h
at91rm9200_i2c.h
at91rm9200_net.h Consolidate bool type 2013-04-01 16:33:52 -04:00
ata.h ahci: Perform SATA flush after disk write. 2012-11-02 15:20:43 -07:00
atmel_hlcdc.h video: atmel: implement lcd_setcolreg function 2012-11-10 14:04:08 +01:00
atmel_lcdc.h
atmel_mci.h mmc: at91: add multi block read/write support. 2012-10-17 11:28:54 +02:00
bcd.h
bcm5221.h
bmp_layout.h
bootcount.h Consolidate bootcount code into drivers/bootcount 2012-09-01 14:26:02 +02:00
bootstage.h Merge branch 'agust@denx.de-next' of git://git.denx.de/u-boot-staging 2012-10-15 13:37:22 -07:00
bouncebuf.h common: rework bouncebuf implementation 2012-11-27 17:26:48 -06:00
bus_vcxk.h
bzlib.h
cbfs.h cbfs: Add docbook template 2012-12-06 13:56:39 -07:00
circbuf.h
cmd_spl.h
command.h Refactor linker-generated arrays 2013-03-12 23:28:40 +01:00
common.h Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx 2013-05-02 16:21:20 -04:00
commproc.h PPC: remove dead boards (AMX860, c2mon, ETX094, IAD210, LANTEC, SCM) 2012-10-28 20:17:25 +01:00
compiler.h
config_cmd_all.h Feature Removal: disable "mtest" command by default 2013-03-11 15:26:59 -04:00
config_cmd_default.h config_cmd_default.h: Remove CONFIG_CMD_MEMTEST 2013-04-19 15:03:27 -04:00
config_cmd_defaults.h
config_defaults.h image: Add support for Plan 9 2013-03-27 15:30:11 -04:00
config_fallbacks.h Makefile: Change CONFIG_SPL_PAD_TO to image offset 2013-04-12 07:55:06 +02:00
config_phylib_all_drivers.h phylib: Enable SMSC LAN87xx PHY support 2012-10-22 15:52:46 -05:00
config_uncmd_spl.h OMAP: networking support for SPL 2012-10-01 10:02:14 -07:00
cpsw.h cpsw: add driver for cpsw ethernet device 2012-09-01 14:58:10 +02:00
crc.h
da9030.h
dataflash.h
ddr_spd.h powerpc/mpc8xxx: Add fine timing support for DDR3 2012-08-23 12:16:55 -05:00
dfu.h dfu: NAND specific routines for DFU operation 2013-04-10 15:22:24 +02:00
dialog_pmic.h pmic: dialog: Avoid name conflicts 2012-05-15 08:31:34 +02:00
div64.h
dm9000.h
dm9161.h
dp83848.h [ARM] TI DaVinci support, hopefully final 2007-08-10 20:26:18 +02:00
ds1722.h
ds4510.h
dtt.h
dwmmc.h mmc: dw-mmc: support DesignWare MMC Controller 2012-10-22 02:56:25 -05:00
e500.h poweprc/85xx: add QMan frequency info and fdt fixup. 2012-10-22 15:52:46 -05:00
edid.h edid: Library of EDID decode and print 2012-12-11 13:17:34 -07:00
elf.h
env_attr.h env: Add support for callbacks to environment vars 2012-12-13 11:46:55 -07:00
env_callback.h env_callback: Mark find_env_callback as static 2013-03-27 15:30:11 -04:00
env_default.h env: Add environment variable flags 2012-12-13 11:46:56 -07:00
env_flags.h env: Handle write-once ethaddr and serial# generically 2012-12-13 11:46:57 -07:00
environment.h env: Add redundant env support to UBI env 2013-04-11 15:52:55 -04:00
errno.h
exports.h vsprintf: add ustrtoll function 2013-02-19 17:01:26 -05:00
ext4fs.h fs: Move ls and read methods into ext4, fat 2013-03-04 14:19:56 -05:00
ext_common.h fs: add filesystem switch libary, implement ls and fsload commands 2012-10-29 14:21:20 -07:00
fat.h fs: Move ls and read methods into ext4, fat 2013-03-04 14:19:56 -05:00
fdc.h
fdt.h libfdt: update fdt.h from upstream dtc 2013-02-07 20:38:55 -05:00
fdt_support.h Clean up libfdt.h includes 2013-02-08 22:32:38 -05:00
fdtdec.h Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-04-15 07:46:11 -04:00
fis.h
flash.h mtd/cfi: add support for SST 4KB sector granularity 2013-01-10 14:39:13 +01:00
fm_eth.h fm/mEMAC: add mEMAC frame work 2012-10-22 14:31:25 -05:00
fpga.h Consolidate bool type 2013-04-01 16:33:52 -04:00
fs.h fs: Add support for saving data to filesystems 2013-05-01 11:17:21 -04:00
fsl_diu_fb.h
fsl_esdhc.h fsl_esdhc: Fix DMA transfer completion waiting loop 2013-04-14 11:22:47 +02:00
fsl_mdio.h fm/mEMAC: add mEMAC frame work 2012-10-22 14:31:25 -05:00
fsl_pmic.h mx53loco: Turn on VUSB regulator 2012-05-15 08:31:34 +02:00
g_dnl.h Remove obsolete header file 2012-11-27 09:41:10 -07:00
gdsys_fpga.h
hash.h hash: Use lower case for hash algorithm names 2013-02-28 19:49:13 -08:00
hush.h
hw_sha.h gen: Add sha h/w acceleration to hash 2013-03-29 20:10:42 +09:00
hwconfig.h
i2c.h I2C: Driver changes for FDT support 2013-01-08 10:54:33 +09:00
i2s.h SOUND: SAMSUNG: Add I2S driver 2012-11-15 21:08:20 +09:00
i8042.h input: i8042: Provide feature to disable keyboard before booting kernel 2012-10-19 15:25:43 -07:00
ide.h Adjust board_r.c for ppc 2013-03-15 16:14:00 -04:00
image.h image: Add support for Plan 9 2013-03-27 15:30:11 -04:00
initcall.h Introduce a basic initcall implementation 2013-03-15 16:13:59 -04:00
input.h input: Add ANSI 3.64 escape sequence generation. 2012-10-19 15:25:44 -07:00
iomux.h
ioports.h
ipu_pixfmt.h i.MX video: struct fb_videomode can be const 2012-10-16 12:35:11 +02:00
key_matrix.h input: Allow key ghosting filter to be disabled 2012-10-15 11:54:04 -07:00
keyboard.h
kgdb.h
ks8721.h
lattice.h
lcd.h Merge branch 'u-boot/master' into 'u-boot-arm/master' 2013-04-12 22:07:57 +02:00
lcdvideo.h
ld9040.h drivers: video: Add ld9040 video driver 2012-11-15 21:08:19 +09:00
led-display.h
libata.h
libfdt.h libfdt: update from upstream dtc commit 142419e 2013-02-07 20:38:55 -05:00
libfdt_env.h libfdt_env.h: add fdt type definitions 2013-02-07 20:38:55 -05:00
libtizen.h create lib/tizen directory 2012-05-25 09:15:10 +02:00
linker_lists.h Refactor linker-generated arrays 2013-03-12 23:28:40 +01:00
linux_logo.h
lmb.h lmb: do not export anything without CONFIG_LMB 2012-06-19 22:35:10 +02:00
logbuff.h
lxt971a.h
lynxkdi.h
malloc.h Consolidate bool type 2013-04-01 16:33:52 -04:00
mb862xx.h
mc9sdz60.h
mc13783.h
mc13892.h
mc34704.h pmic: Add support for mc34704 2012-10-26 16:28:07 +02:00
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
menu.h menu: export menu_default_choice() function 2013-03-29 09:35:34 +01:00
micrel.h
mii_phy.h
miiphy.h
mk48t59.h
mmc.h mmc: Define a constant for the maximum block size 2013-05-01 16:24:01 -04:00
mpc5xx.h
mpc5xxx.h mpc5xxx: add pci_mpc5xxx_init prototype to common header 2012-09-01 14:19:02 +02:00
mpc5xxx_sdma.h
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h mpc83xx: add support for mpc8309 2012-10-23 15:23:26 -05:00
mpc85xx.h
mpc86xx.h
mpc106.h
mpc824x.h
mpc8220.h
mpc8260.h
mpc8260_irq.h
mtd_node.h
mv88e6352.h net/phy: support the mv88e6352 switch 2012-09-27 12:21:56 -05:00
mvmfp.h
nand.h nand: Extend nand_(read|write)_skip_bad with *actual and limit parameters 2013-04-10 15:22:22 +02:00
net.h net/: sparse fixes 2012-11-04 11:00:36 -07:00
netdev.h net: fec_mxc: get phydev before fec_probe 2013-01-28 06:57:51 +01:00
nios2-epcs.h
nios2-io.h
nios2-yanu.h
nios2.h nios2: use builtin functions for control registers access 2012-11-10 19:45:58 +08:00
nomadik.h
ns16550.h serial/ns16550: ns16550 has a different register layout on SOC_DA8XX 2012-09-01 14:58:10 +02:00
ns87308.h
onenand_uboot.h arm: Remove support for unused s3c64xx 2013-04-12 07:55:08 +02:00
os.h sandbox: Add a way of obtaining directory listings 2013-03-04 14:19:56 -05:00
part.h part/dev_desc: Add log2 of blocksize to block_dev_desc data struct 2013-05-01 16:24:02 -04:00
part_efi.h disk/gpt: Fix GPT partition handling for blocksize != 512 2013-05-01 16:24:02 -04:00
pc_keyb.h
pca953x.h
pca9564.h
pca9698.h
pci.h x86: gpio: Add GPIO driver for Intel ICH6 and later. 2012-12-06 14:30:38 -08:00
pci_ids.h pci: update pci_ids.h with a few new entries 2012-09-02 14:18:52 +02:00
pcmcia.h PPC: remove dead boards (AMX860, c2mon, ETX094, IAD210, LANTEC, SCM) 2012-10-28 20:17:25 +01:00
phy.h phy: add phy_find_by_mask/phy_connect_dev 2013-01-28 06:57:50 +01:00
physmem.h Introduce arch_phys_memset which works like memset but on physical memory 2012-12-06 14:30:40 -08:00
post.h
ppc_asm.tmpl
ppc_defs.h Initial revision 2000-07-19 14:09:16 +00:00
ps2mult.h
pwm.h
radeon.h
reiserfs.h cmd_reiser: use common get_device_and_partition function 2012-09-25 14:49:18 -07:00
rtc.h
s6e63d6.h
s_record.h
SA-1100.h
sandboxfs.h sandbox: fs: Add support for saving files to host filesystem 2013-05-01 11:17:21 -04:00
sata.h sata.h: Make all sata/ata drivers include <sata.h> 2012-10-15 11:54:03 -07:00
scsi.h Consolidate bool type 2013-04-01 16:33:52 -04:00
sdhci.h mmc: add no simultaenous power and vdd 2012-11-27 17:26:48 -06:00
search.h "env grep" - add support for regular expression matches 2013-05-01 16:24:00 -04:00
sed156x.h
sed13806.h
serial.h Tegra30: Add generic Tegra30 build support 2013-01-16 13:40:08 -07:00
sh_pfc.h sh: Add support pin function control using GPIO 2012-08-08 10:24:41 +09:00
sh_tmu.h arm: rmobile: Add support TMU base timer function 2012-10-03 02:04:24 +02:00
sha1.h sha1: Use const where possible, and unsigned for input len 2012-12-11 13:17:33 -07:00
sha256.h sha256: Use const where possible and add watchdog function 2012-12-11 13:17:33 -07:00
sja1000.h
slre.h Add SLRE - Super Light Regular Expression library 2013-05-01 16:24:00 -04:00
sm501.h
smiLynxEM.h
sound.h Sound: Support for MAX98095 codec in driver 2013-03-08 22:34:18 +09:00
spartan2.h
spartan3.h
spd.h
spd_sdram.h
spi.h spi: Add parameter for maximum write size 2013-03-19 08:45:36 -07:00
spi_flash.h sf: Enable FDT-based configuration and memory mapping 2013-03-19 08:45:37 -07:00
spl.h SPL: ONENAND: Support SPL to boot u-boot from OneNAND. 2013-03-11 11:05:49 -04:00
status_led.h nios2: remove asm/status_led.h 2012-11-10 19:45:58 +08:00
stdio_dev.h serial: arm_dcc: Remove CONFIG_ARM_DCC_MULTI option 2013-02-04 09:14:21 -05:00
stratixII.h
sym53c8xx.h Consolidate bool type 2013-04-01 16:33:52 -04:00
systemace.h
tegra-kbc.h tegra: Add tegra keyboard driver 2012-05-15 08:31:40 +02:00
timestamp.h
tis.h tpm: Add TPM command library 2013-04-12 14:13:13 -07:00
tmu.h Exynos5: TMU: Add driver for Thermal Management Unit 2013-03-12 17:06:03 +09:00
tpm.h tpm: Add TPM command library 2013-04-12 14:13:13 -07:00
tps6586x.h i2c: Add TPS6586X driver 2012-05-15 08:31:37 +02:00
tsec.h
tsi108.h
tsi148.h
twl4030.h twl4030: add gpio register offsets 2012-12-20 17:04:21 +01:00
twl6030.h
twl6035.h power: twl6035: complain on LDO9 error 2012-12-10 12:45:35 -07:00
tws.h
ubi_uboot.h ubi: Expose a few simple functions from the cmd_ubi 2013-04-11 15:52:54 -04:00
universe.h
usb.h usb: Clean up newly allocated device nodes in case of configuration failure 2012-12-17 15:38:15 +01:00
usb_cdc_acm.h
usb_defs.h usb: use linux/usb/ch9.h instead of usbdescriptors.h 2012-11-20 00:16:06 +01:00
usb_ether.h net: introduce transparent driver private in ueth_data 2012-09-26 12:36:29 -05:00
usb_mass_storage.h usb:gadget: USB Mass Storage Gadget support 2013-03-18 18:58:53 +01:00
usbdescriptors.h
usbdevice.h Consolidate bool type 2013-04-01 16:33:52 -04:00
version.h
video.h video: Provide an API to access video parameters 2012-11-06 22:57:32 +01:00
video_ad7176.h
video_ad7177.h
video_ad7179.h
video_easylogo.h
video_fb.h
video_font.h
video_font_data.h
video_logo.h
virtex2.h
vsc7385.h
vsprintf.h
vxworks.h ppc4xx: Remove IOP480 support 2012-10-15 11:53:59 -07:00
w83c553f.h
watchdog.h Declare watchdog functions in watchdog.h 2013-03-15 16:13:59 -04:00
xilinx.h
xyzModem.h Consolidate bool type 2013-04-01 16:33:52 -04:00
zfs_common.h cmd_zfs: use common get_device_and_partition function 2012-09-25 14:49:17 -07:00