|
Linux Kernel
3.7.1
|
#include <linux/slab.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/mtd/mtd.h>#include <linux/mtd/nand.h>#include <linux/mtd/partitions.h>#include <linux/clk.h>#include <linux/err.h>#include <linux/delay.h>#include <linux/io.h>#include <linux/mm.h>#include <linux/dma-mapping.h>#include <linux/dmaengine.h>#include <linux/mtd/nand_ecc.h>#include <linux/gpio.h>#include <linux/of.h>#include <linux/of_mtd.h>#include <linux/of_gpio.h>#include <linux/mtd/lpc32xx_slc.h>Go to the source code of this file.
Data Structures | |
| struct | lpc32xx_nand_cfg_slc |
| struct | lpc32xx_nand_host |
Macros | |
| #define | LPC32XX_MODNAME "lpc32xx-nand" |
| #define | SLC_DATA(x) (x + 0x000) |
| #define | SLC_ADDR(x) (x + 0x004) |
| #define | SLC_CMD(x) (x + 0x008) |
| #define | SLC_STOP(x) (x + 0x00C) |
| #define | SLC_CTRL(x) (x + 0x010) |
| #define | SLC_CFG(x) (x + 0x014) |
| #define | SLC_STAT(x) (x + 0x018) |
| #define | SLC_INT_STAT(x) (x + 0x01C) |
| #define | SLC_IEN(x) (x + 0x020) |
| #define | SLC_ISR(x) (x + 0x024) |
| #define | SLC_ICR(x) (x + 0x028) |
| #define | SLC_TAC(x) (x + 0x02C) |
| #define | SLC_TC(x) (x + 0x030) |
| #define | SLC_ECC(x) (x + 0x034) |
| #define | SLC_DMA_DATA(x) (x + 0x038) |
| #define | SLCCTRL_SW_RESET (1 << 2) /* Reset the NAND controller bit */ |
| #define | SLCCTRL_ECC_CLEAR (1 << 1) /* Reset ECC bit */ |
| #define | SLCCTRL_DMA_START (1 << 0) /* Start DMA channel bit */ |
| #define | SLCCFG_CE_LOW (1 << 5) /* Force CE low bit */ |
| #define | SLCCFG_DMA_ECC (1 << 4) /* Enable DMA ECC bit */ |
| #define | SLCCFG_ECC_EN (1 << 3) /* ECC enable bit */ |
| #define | SLCCFG_DMA_BURST (1 << 2) /* DMA burst bit */ |
| #define | SLCCFG_DMA_DIR (1 << 1) /* DMA write(0)/read(1) bit */ |
| #define | SLCCFG_WIDTH (1 << 0) /* External device width, 0=8bit */ |
| #define | SLCSTAT_DMA_FIFO (1 << 2) /* DMA FIFO has data bit */ |
| #define | SLCSTAT_SLC_FIFO (1 << 1) /* SLC FIFO has data bit */ |
| #define | SLCSTAT_NAND_READY (1 << 0) /* NAND device is ready bit */ |
| #define | SLCSTAT_INT_TC (1 << 1) /* Transfer count bit */ |
| #define | SLCSTAT_INT_RDY_EN (1 << 0) /* Ready interrupt bit */ |
| #define | SLCTAC_WDR(n) (((n) & 0xF) << 28) |
| #define | SLCTAC_WWIDTH(n) (((n) & 0xF) << 24) |
| #define | SLCTAC_WHOLD(n) (((n) & 0xF) << 20) |
| #define | SLCTAC_WSETUP(n) (((n) & 0xF) << 16) |
| #define | SLCTAC_RDR(n) (((n) & 0xF) << 12) |
| #define | SLCTAC_RWIDTH(n) (((n) & 0xF) << 8) |
| #define | SLCTAC_RHOLD(n) (((n) & 0xF) << 4) |
| #define | SLCTAC_RSETUP(n) (((n) & 0xF) << 0) |
| #define | SLCECC_TO_LINEPAR(n) (((n) >> 6) & 0x7FFF) |
| #define | SLCECC_TO_COLPAR(n) ((n) & 0x3F) |
| #define | LPC32XX_DMA_DATA_SIZE 4096 |
| #define | LPC32XX_ECC_SAVE_SIZE ((4096 / 256) * 4) |
| #define | LPC32XX_SLC_DEV_ECC_BYTES 3 |
| #define | LPC32XX_DEF_BUS_RATE 133250000 |
| #define | LPC32XX_DMA_TIMEOUT 100 |
| #define | lpc32xx_nand_resume NULL |
| #define | lpc32xx_nand_suspend NULL |
Functions | |
| MODULE_DEVICE_TABLE (of, lpc32xx_nand_match) | |
| module_platform_driver (lpc32xx_nand_driver) | |
| MODULE_LICENSE ("GPL") | |
| MODULE_AUTHOR ("Kevin Wells <[email protected]>") | |
| MODULE_AUTHOR ("Roland Stigge <[email protected]>") | |
| MODULE_DESCRIPTION ("NAND driver for the NXP LPC32XX SLC controller") | |
| #define LPC32XX_DEF_BUS_RATE 133250000 |
Definition at line 137 of file lpc32xx_slc.c.
| #define LPC32XX_DMA_DATA_SIZE 4096 |
Definition at line 126 of file lpc32xx_slc.c.
| #define LPC32XX_DMA_TIMEOUT 100 |
Definition at line 140 of file lpc32xx_slc.c.
| #define LPC32XX_ECC_SAVE_SIZE ((4096 / 256) * 4) |
Definition at line 127 of file lpc32xx_slc.c.
| #define LPC32XX_MODNAME "lpc32xx-nand" |
Definition at line 42 of file lpc32xx_slc.c.
| #define lpc32xx_nand_resume NULL |
Definition at line 1012 of file lpc32xx_slc.c.
| #define lpc32xx_nand_suspend NULL |
Definition at line 1013 of file lpc32xx_slc.c.
| #define LPC32XX_SLC_DEV_ECC_BYTES 3 |
Definition at line 130 of file lpc32xx_slc.c.
Definition at line 49 of file lpc32xx_slc.c.
Definition at line 53 of file lpc32xx_slc.c.
Definition at line 50 of file lpc32xx_slc.c.
Definition at line 52 of file lpc32xx_slc.c.
Definition at line 48 of file lpc32xx_slc.c.
Definition at line 62 of file lpc32xx_slc.c.
Definition at line 61 of file lpc32xx_slc.c.
Definition at line 58 of file lpc32xx_slc.c.
Definition at line 56 of file lpc32xx_slc.c.
Definition at line 55 of file lpc32xx_slc.c.
Definition at line 57 of file lpc32xx_slc.c.
Definition at line 54 of file lpc32xx_slc.c.
Definition at line 51 of file lpc32xx_slc.c.
Definition at line 59 of file lpc32xx_slc.c.
Definition at line 60 of file lpc32xx_slc.c.
Definition at line 74 of file lpc32xx_slc.c.
Definition at line 77 of file lpc32xx_slc.c.
Definition at line 78 of file lpc32xx_slc.c.
Definition at line 75 of file lpc32xx_slc.c.
Definition at line 76 of file lpc32xx_slc.c.
Definition at line 79 of file lpc32xx_slc.c.
Definition at line 69 of file lpc32xx_slc.c.
Definition at line 68 of file lpc32xx_slc.c.
| #define SLCCTRL_SW_RESET (1 << 2) /* Reset the NAND controller bit */ |
Definition at line 67 of file lpc32xx_slc.c.
Definition at line 119 of file lpc32xx_slc.c.
Definition at line 118 of file lpc32xx_slc.c.
Definition at line 84 of file lpc32xx_slc.c.
Definition at line 92 of file lpc32xx_slc.c.
Definition at line 91 of file lpc32xx_slc.c.
Definition at line 86 of file lpc32xx_slc.c.
Definition at line 85 of file lpc32xx_slc.c.
Definition at line 106 of file lpc32xx_slc.c.
Definition at line 110 of file lpc32xx_slc.c.
Definition at line 112 of file lpc32xx_slc.c.
Definition at line 108 of file lpc32xx_slc.c.
Definition at line 98 of file lpc32xx_slc.c.
Definition at line 102 of file lpc32xx_slc.c.
Definition at line 104 of file lpc32xx_slc.c.
Definition at line 100 of file lpc32xx_slc.c.
| MODULE_AUTHOR | ( | "Kevin Wells <[email protected]>" | ) |
| MODULE_AUTHOR | ( | "Roland Stigge <[email protected]>" | ) |
| MODULE_DESCRIPTION | ( | "NAND driver for the NXP LPC32XX SLC controller" | ) |
| MODULE_DEVICE_TABLE | ( | of | , |
| lpc32xx_nand_match | |||
| ) |
| MODULE_LICENSE | ( | "GPL" | ) |
| module_platform_driver | ( | lpc32xx_nand_driver | ) |
1.8.2