Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
gpmi-nand.h File Reference
#include <linux/mtd/nand.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/fsl/mxs-dma.h>

Go to the source code of this file.

Data Structures

struct  resources
 
struct  bch_geometry
 
struct  boot_rom_geometry
 
struct  nand_timing
 
struct  gpmi_nand_data
 
struct  gpmi_nfc_hardware_timing
 
struct  timing_threshod
 

Macros

#define GPMI_CLK_MAX   5 /* MX6Q needs five clocks */
 
#define GPMI_ASYNC_EDO_ENABLED   (1 << 0)
 
#define GPMI_TIMING_INIT_OK   (1 << 1)
 
#define DMA_CHANS   8
 
#define GPMI_DEFAULT_BUSY_TIMEOUT   0x500 /* default busy timeout value.*/
 
#define STATUS_GOOD   0x00
 
#define STATUS_ERASED   0xff
 
#define STATUS_UNCORRECTABLE   0xfe
 
#define IS_MX23   0x0
 
#define IS_MX28   0x1
 
#define IS_MX6Q   0x2
 
#define GPMI_IS_MX23(x)   ((x)->pdev->id_entry->driver_data == IS_MX23)
 
#define GPMI_IS_MX28(x)   ((x)->pdev->id_entry->driver_data == IS_MX28)
 
#define GPMI_IS_MX6Q(x)   ((x)->pdev->id_entry->driver_data == IS_MX6Q)
 

Enumerations

enum  dma_ops_type {
  DMA_FOR_COMMAND = 1, DMA_FOR_READ_DATA, DMA_FOR_WRITE_DATA, DMA_FOR_READ_ECC_PAGE,
  DMA_FOR_WRITE_ECC_PAGE
}
 

Functions

int common_nfc_set_geometry (struct gpmi_nand_data *)
 
struct dma_changet_dma_chan (struct gpmi_nand_data *)
 
void prepare_data_dma (struct gpmi_nand_data *, enum dma_data_direction dr)
 
int start_dma_without_bch_irq (struct gpmi_nand_data *, struct dma_async_tx_descriptor *)
 
int start_dma_with_bch_irq (struct gpmi_nand_data *, struct dma_async_tx_descriptor *)
 
int gpmi_init (struct gpmi_nand_data *)
 
int gpmi_extra_init (struct gpmi_nand_data *)
 
void gpmi_clear_bch (struct gpmi_nand_data *)
 
void gpmi_dump_info (struct gpmi_nand_data *)
 
int bch_set_geometry (struct gpmi_nand_data *)
 
int gpmi_is_ready (struct gpmi_nand_data *, unsigned chip)
 
int gpmi_send_command (struct gpmi_nand_data *)
 
void gpmi_begin (struct gpmi_nand_data *)
 
void gpmi_end (struct gpmi_nand_data *)
 
int gpmi_read_data (struct gpmi_nand_data *)
 
int gpmi_send_data (struct gpmi_nand_data *)
 
int gpmi_send_page (struct gpmi_nand_data *, dma_addr_t payload, dma_addr_t auxiliary)
 
int gpmi_read_page (struct gpmi_nand_data *, dma_addr_t payload, dma_addr_t auxiliary)
 

Macro Definition Documentation

#define DMA_CHANS   8

Definition at line 182 of file gpmi-nand.h.

#define GPMI_ASYNC_EDO_ENABLED   (1 << 0)

Definition at line 126 of file gpmi-nand.h.

#define GPMI_CLK_MAX   5 /* MX6Q needs five clocks */

Definition at line 25 of file gpmi-nand.h.

#define GPMI_DEFAULT_BUSY_TIMEOUT   0x500 /* default busy timeout value.*/

Definition at line 214 of file gpmi-nand.h.

#define GPMI_IS_MX23 (   x)    ((x)->pdev->id_entry->driver_data == IS_MX23)

Definition at line 292 of file gpmi-nand.h.

#define GPMI_IS_MX28 (   x)    ((x)->pdev->id_entry->driver_data == IS_MX28)

Definition at line 293 of file gpmi-nand.h.

#define GPMI_IS_MX6Q (   x)    ((x)->pdev->id_entry->driver_data == IS_MX6Q)

Definition at line 294 of file gpmi-nand.h.

#define GPMI_TIMING_INIT_OK   (1 << 1)

Definition at line 127 of file gpmi-nand.h.

#define IS_MX23   0x0

Definition at line 289 of file gpmi-nand.h.

#define IS_MX28   0x1

Definition at line 290 of file gpmi-nand.h.

#define IS_MX6Q   0x2

Definition at line 291 of file gpmi-nand.h.

#define STATUS_ERASED   0xff

Definition at line 285 of file gpmi-nand.h.

#define STATUS_GOOD   0x00

Definition at line 284 of file gpmi-nand.h.

#define STATUS_UNCORRECTABLE   0xfe

Definition at line 286 of file gpmi-nand.h.

Enumeration Type Documentation

Enumerator:
DMA_FOR_COMMAND 
DMA_FOR_READ_DATA 
DMA_FOR_WRITE_DATA 
DMA_FOR_READ_ECC_PAGE 
DMA_FOR_WRITE_ECC_PAGE 

Definition at line 83 of file gpmi-nand.h.

Function Documentation

int bch_set_geometry ( struct gpmi_nand_data )

Definition at line 218 of file gpmi-lib.c.

int common_nfc_set_geometry ( struct gpmi_nand_data )

Definition at line 92 of file gpmi-nand.c.

struct dma_chan* get_dma_chan ( struct gpmi_nand_data )
read

Definition at line 197 of file gpmi-nand.c.

void gpmi_begin ( struct gpmi_nand_data )

Definition at line 953 of file gpmi-lib.c.

void gpmi_clear_bch ( struct gpmi_nand_data )

Definition at line 1042 of file gpmi-lib.c.

void gpmi_dump_info ( struct gpmi_nand_data )

Definition at line 189 of file gpmi-lib.c.

void gpmi_end ( struct gpmi_nand_data )

Definition at line 1036 of file gpmi-lib.c.

int gpmi_extra_init ( struct gpmi_nand_data )

Definition at line 931 of file gpmi-lib.c.

int gpmi_init ( struct gpmi_nand_data )

Definition at line 157 of file gpmi-lib.c.

int gpmi_is_ready ( struct gpmi_nand_data ,
unsigned  chip 
)

Definition at line 1049 of file gpmi-lib.c.

int gpmi_read_data ( struct gpmi_nand_data )

Definition at line 1159 of file gpmi-lib.c.

int gpmi_read_page ( struct gpmi_nand_data ,
dma_addr_t  payload,
dma_addr_t  auxiliary 
)

Definition at line 1243 of file gpmi-lib.c.

int gpmi_send_command ( struct gpmi_nand_data )

Definition at line 1074 of file gpmi-lib.c.

int gpmi_send_data ( struct gpmi_nand_data )

Definition at line 1118 of file gpmi-lib.c.

int gpmi_send_page ( struct gpmi_nand_data ,
dma_addr_t  payload,
dma_addr_t  auxiliary 
)

Definition at line 1197 of file gpmi-lib.c.

void prepare_data_dma ( struct gpmi_nand_data ,
enum dma_data_direction  dr 
)

Definition at line 205 of file gpmi-nand.c.

int start_dma_with_bch_irq ( struct gpmi_nand_data ,
struct dma_async_tx_descriptor  
)

Definition at line 295 of file gpmi-nand.c.

int start_dma_without_bch_irq ( struct gpmi_nand_data ,
struct dma_async_tx_descriptor  
)

Definition at line 265 of file gpmi-nand.c.