BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Functions | Variables
nand.c File Reference
#include <string.h>
#include "def.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "Nand.h"
#include "bootpara.h"
#include "norflash.h"

Go to the source code of this file.

Data Structures

struct  Partition
struct  param_struct

Macros

#define GLOBAL_PARAMS
#define puts   Uart_Printf
#define printf   Uart_Printf
#define getch   Uart_Getch
#define putch   Uart_SendByte
#define EnNandFlash()   (rNFCONT |= 1)
#define DsNandFlash()   (rNFCONT &= ~1)
#define NFChipEn()   (rNFCONT &= ~(1<<1))
#define NFChipDs()   (rNFCONT |= (1<<1))
#define InitEcc()   (rNFCONT |= (1<<4))
#define MEccUnlock()   (rNFCONT &= ~(1<<5))
#define MEccLock()   (rNFCONT |= (1<<5))
#define SEccUnlock()   (rNFCONT &= ~(1<<6))
#define SEccLock()   (rNFCONT |= (1<<6))
#define WrNFDat8(dat)   (rNFDATA8 = (dat))
#define WrNFDat32(dat)   (rNFDATA = (dat))
#define RdNFDat8()   (rNFDATA8)
#define RdNFDat32()   (rNFDATA)
#define WrNFCmd(cmd)   (rNFCMD = (cmd))
#define WrNFAddr(addr)   (rNFADDR = (addr))
#define WrNFDat(dat)   WrNFDat8(dat)
#define RdNFDat()   RdNFDat8()
#define RdNFMEcc()   (rNFMECC0)
#define RdNFSEcc()   (rNFSECC)
#define RdNFStat()   (rNFSTAT)
#define NFIsBusy()   (!(rNFSTAT&1))
#define NFIsReady()   (rNFSTAT&1)
#define READCMD0   0
#define READCMD1   1
#define READCMD2   0x50
#define ERASECMD0   0x60
#define ERASECMD1   0xd0
#define PROGCMD0   0x80
#define PROGCMD1   0x10
#define QUERYCMD   0x70
#define RdIDCMD   0x90
#define TACLS   1
#define TWRPH0   4
#define TWRPH1   1
#define LINUX_PAGE_SHIFT   12
#define LINUX_PAGE_SIZE   (1<<LINUX_PAGE_SHIFT)
#define COMMAND_LINE_SIZE   1024
#define FLAG_READONLY   1
#define FLAG_RDLOAD   4
#define FLAG_RDPROMPT   8
#define NOR_PARAMS_OFFSET   0x1c000

Functions

void call_linux (U32 a0, U32 a1, U32 a2)
void cache_clean_invalidate (void)
void tlb_invalidate (void)
void disable_irq (void)
int sprintf (char *, const char *,...)
void NandErase (void)
void NandWrite (void)
 MemoryTest (void)
int RelocateNKBIN (U32 img_src, U32 *pStart, U32 *pLength, U32 *pLaunch)
void NandLoadRun (void)
int search_params (void)
int save_params (void)
int set_params (void)

Variables

U32 downloadAddress
U32 downloadFileSize

Macro Definition Documentation

#define COMMAND_LINE_SIZE   1024

Definition at line 390 of file nand.c.

#define DsNandFlash ( )    (rNFCONT &= ~1)

Definition at line 22 of file nand.c.

#define EnNandFlash ( )    (rNFCONT |= 1)

Definition at line 21 of file nand.c.

#define ERASECMD0   0x60

Definition at line 55 of file nand.c.

#define ERASECMD1   0xd0

Definition at line 56 of file nand.c.

#define FLAG_RDLOAD   4

Definition at line 400 of file nand.c.

#define FLAG_RDPROMPT   8

Definition at line 401 of file nand.c.

#define FLAG_READONLY   1

Definition at line 399 of file nand.c.

#define getch   Uart_Getch

Definition at line 18 of file nand.c.

#define GLOBAL_PARAMS

Definition at line 13 of file nand.c.

#define InitEcc ( )    (rNFCONT |= (1<<4))

Definition at line 25 of file nand.c.

#define LINUX_PAGE_SHIFT   12

Definition at line 388 of file nand.c.

#define LINUX_PAGE_SIZE   (1<<LINUX_PAGE_SHIFT)

Definition at line 389 of file nand.c.

#define MEccLock ( )    (rNFCONT |= (1<<5))

Definition at line 27 of file nand.c.

#define MEccUnlock ( )    (rNFCONT &= ~(1<<5))

Definition at line 26 of file nand.c.

#define NFChipDs ( )    (rNFCONT |= (1<<1))

Definition at line 24 of file nand.c.

#define NFChipEn ( )    (rNFCONT &= ~(1<<1))

Definition at line 23 of file nand.c.

#define NFIsBusy ( )    (!(rNFSTAT&1))

Definition at line 45 of file nand.c.

#define NFIsReady ( )    (rNFSTAT&1)

Definition at line 46 of file nand.c.

#define NOR_PARAMS_OFFSET   0x1c000

Definition at line 707 of file nand.c.

#define printf   Uart_Printf

Definition at line 17 of file nand.c.

#define PROGCMD0   0x80

Definition at line 57 of file nand.c.

#define PROGCMD1   0x10

Definition at line 58 of file nand.c.

#define putch   Uart_SendByte

Definition at line 19 of file nand.c.

#define puts   Uart_Printf

Definition at line 16 of file nand.c.

#define QUERYCMD   0x70

Definition at line 59 of file nand.c.

#define RdIDCMD   0x90

Definition at line 60 of file nand.c.

#define RdNFDat ( )    RdNFDat8()

Definition at line 39 of file nand.c.

#define RdNFDat32 ( )    (rNFDATA)

Definition at line 34 of file nand.c.

#define RdNFDat8 ( )    (rNFDATA8)

Definition at line 33 of file nand.c.

#define RdNFMEcc ( )    (rNFMECC0)

Definition at line 41 of file nand.c.

#define RdNFSEcc ( )    (rNFSECC)

Definition at line 42 of file nand.c.

#define RdNFStat ( )    (rNFSTAT)

Definition at line 44 of file nand.c.

#define READCMD0   0

Definition at line 52 of file nand.c.

#define READCMD1   1

Definition at line 53 of file nand.c.

#define READCMD2   0x50

Definition at line 54 of file nand.c.

#define SEccLock ( )    (rNFCONT |= (1<<6))

Definition at line 29 of file nand.c.

#define SEccUnlock ( )    (rNFCONT &= ~(1<<6))

Definition at line 28 of file nand.c.

#define TACLS   1

Definition at line 65 of file nand.c.

#define TWRPH0   4

Definition at line 66 of file nand.c.

#define TWRPH1   1

Definition at line 67 of file nand.c.

#define WrNFAddr (   addr)    (rNFADDR = (addr))

Definition at line 37 of file nand.c.

#define WrNFCmd (   cmd)    (rNFCMD = (cmd))

Definition at line 36 of file nand.c.

#define WrNFDat (   dat)    WrNFDat8(dat)

Definition at line 38 of file nand.c.

#define WrNFDat32 (   dat)    (rNFDATA = (dat))

Definition at line 32 of file nand.c.

#define WrNFDat8 (   dat)    (rNFDATA8 = (dat))

Definition at line 31 of file nand.c.


Function Documentation

void cache_clean_invalidate ( void  )

Definition at line 454 of file nand.c.

void call_linux ( U32  a0,
U32  a1,
U32  a2 
)

Definition at line 475 of file nand.c.

void disable_irq ( void  )
MemoryTest ( void  )
void NandErase ( void  )

Definition at line 578 of file nand.c.

void NandLoadRun ( void  )

Definition at line 664 of file nand.c.

void NandWrite ( void  )

Definition at line 617 of file nand.c.

int RelocateNKBIN ( U32  img_src,
U32 pStart,
U32 pLength,
U32 pLaunch 
)
int save_params ( void  )

Definition at line 758 of file nand.c.

int search_params ( void  )

Definition at line 709 of file nand.c.

int set_params ( void  )

Definition at line 792 of file nand.c.

int sprintf ( char *  ,
const char *  ,
  ... 
)
void tlb_invalidate ( void  )

Definition at line 468 of file nand.c.


Variable Documentation

U32 downloadAddress
U32 downloadFileSize