OpenOCD
mxc.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mxc_nf_controller
 
struct  mxc_nf_flags
 

Macros

#define MX25_RCSR   0x53f80018
 
#define MX25_RCSR_NF_16BIT_SEL   (1<<14)
 
#define MX25_RCSR_NF_4K   (1<<9)
 
#define MX25_RCSR_NF_FMS   (1<<8)
 
#define MX2_FMCR   0x10027814
 
#define MX2_FMCR_NF_16BIT_SEL   (1<<4)
 
#define MX2_FMCR_NF_FMS   (1<<5)
 
#define MX35_RCSR   0x53f80018
 
#define MX35_RCSR_NF_16BIT_SEL   (1<<14)
 
#define MX35_RCSR_NF_4K   (1<<9)
 
#define MX35_RCSR_NF_FMS   (1<<8)
 
#define MX3_PCSR   0x53f8000c
 
#define MX3_PCSR_NF_16BIT_SEL   (1<<31)
 
#define MX3_PCSR_NF_FMS   (1<<30)
 
#define MXC_CCM_CGR2   0x53f80028
 
#define MXC_GPR   0x43fac008
 
#define MXC_NF_BIT_BE_EN   (1<<5)
 
#define MXC_NF_BIT_DATAOUT_TYPE(x)   ((x)<<3)
 
#define MXC_NF_BIT_ECC_4BIT   (1<<0)
 
#define MXC_NF_BIT_ECC_EN   (1<<3)
 
#define MXC_NF_BIT_FORCE_CE   (1<<7)
 
#define MXC_NF_BIT_INT_DIS   (1<<4)
 
#define MXC_NF_BIT_OP_DONE   (1<<15)
 
#define MXC_NF_BIT_OP_FAI   (1<<1)
 
#define MXC_NF_BIT_OP_FCI   (1<<0)
 
#define MXC_NF_BIT_OP_FDI   (1<<2)
 
#define MXC_NF_BIT_RESET_EN   (1<<6)
 
#define MXC_NF_BIT_SPARE_ONLY_EN   (1<<2)
 
#define MXC_NF_BUFADDR   (mxc_nf_info->mxc_regs_addr + 0x04)
 
#define MXC_NF_BUFCFG   (mxc_nf_info->mxc_regs_addr + 0x0a)
 
#define MXC_NF_BUFSIZ   (mxc_nf_info->mxc_regs_addr + 0x00)
 
#define MXC_NF_CFG1   (mxc_nf_info->mxc_regs_addr + 0x1a)
 
#define MXC_NF_CFG2   (mxc_nf_info->mxc_regs_addr + 0x1c)
 
#define MXC_NF_ECCMAINPOS   (mxc_nf_info->mxc_regs_addr + 0x0e)
 
#define MXC_NF_ECCSTATUS   (mxc_nf_info->mxc_regs_addr + 0x0c)
 
#define MXC_NF_FADDR   (mxc_nf_info->mxc_regs_addr + 0x06)
 
#define MXC_NF_FCMD   (mxc_nf_info->mxc_regs_addr + 0x08)
 
#define MXC_NF_FWP   (mxc_nf_info->mxc_regs_addr + 0x12)
 
#define MXC_NF_FWPSTATUS   (mxc_nf_info->mxc_regs_addr + 0x18)
 
#define MXC_NF_MAIN_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x0000)
 
#define MXC_NF_MAIN_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x0200)
 
#define MXC_NF_MAIN_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x0400)
 
#define MXC_NF_MAIN_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x0600)
 
#define MXC_NF_MAIN_BUFFER_LEN   512
 
#define MXC_NF_SPARE_BUFFER_LEN   16
 
#define MXC_NF_SPARE_BUFFER_MAX   64
 
#define MXC_NF_V1_ECCSPAREPOS   (mxc_nf_info->mxc_regs_addr + 0x10)
 
#define MXC_NF_V1_LAST_BUFFADDR
 
#define MXC_NF_V1_SPARE_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x0800)
 
#define MXC_NF_V1_SPARE_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x0810)
 
#define MXC_NF_V1_SPARE_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x0820)
 
#define MXC_NF_V1_SPARE_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x0830)
 
#define MXC_NF_V1_UNLOCKEND   (mxc_nf_info->mxc_regs_addr + 0x16)
 
#define MXC_NF_V1_UNLOCKSTART   (mxc_nf_info->mxc_regs_addr + 0x14)
 
#define MXC_NF_V2_CFG1_PPB(x)   (((x) & 0x3) << 9)
 
#define MXC_NF_V2_LAST_BUFFADDR
 
#define MXC_NF_V2_MAIN_BUFFER4   (mxc_nf_info->mxc_base_addr + 0x0800)
 
#define MXC_NF_V2_MAIN_BUFFER5   (mxc_nf_info->mxc_base_addr + 0x0a00)
 
#define MXC_NF_V2_MAIN_BUFFER6   (mxc_nf_info->mxc_base_addr + 0x0c00)
 
#define MXC_NF_V2_MAIN_BUFFER7   (mxc_nf_info->mxc_base_addr + 0x0e00)
 
#define MXC_NF_V2_SPARE_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x1000)
 
#define MXC_NF_V2_SPARE_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x1040)
 
#define MXC_NF_V2_SPARE_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x1080)
 
#define MXC_NF_V2_SPARE_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x10c0)
 
#define MXC_NF_V2_SPARE_BUFFER4   (mxc_nf_info->mxc_base_addr + 0x1100)
 
#define MXC_NF_V2_SPARE_BUFFER5   (mxc_nf_info->mxc_base_addr + 0x1140)
 
#define MXC_NF_V2_SPARE_BUFFER6   (mxc_nf_info->mxc_base_addr + 0x1180)
 
#define MXC_NF_V2_SPARE_BUFFER7   (mxc_nf_info->mxc_base_addr + 0x11c0)
 
#define MXC_NF_V2_SPAS   (mxc_nf_info->mxc_regs_addr + 0x10)
 
#define MXC_NF_V2_UNLOCKEND0   (mxc_nf_info->mxc_regs_addr + 0x22)
 
#define MXC_NF_V2_UNLOCKEND1   (mxc_nf_info->mxc_regs_addr + 0x26)
 
#define MXC_NF_V2_UNLOCKEND2   (mxc_nf_info->mxc_regs_addr + 0x2a)
 
#define MXC_NF_V2_UNLOCKEND3   (mxc_nf_info->mxc_regs_addr + 0x2e)
 
#define MXC_NF_V2_UNLOCKSTART0   (mxc_nf_info->mxc_regs_addr + 0x20)
 
#define MXC_NF_V2_UNLOCKSTART1   (mxc_nf_info->mxc_regs_addr + 0x24)
 
#define MXC_NF_V2_UNLOCKSTART2   (mxc_nf_info->mxc_regs_addr + 0x28)
 
#define MXC_NF_V2_UNLOCKSTART3   (mxc_nf_info->mxc_regs_addr + 0x2c)
 

Enumerations

enum  mxc_dataout_type { MXC_NF_DATAOUT_PAGE = 1 , MXC_NF_DATAOUT_NANDID = 2 , MXC_NF_DATAOUT_NANDSTATUS = 4 }
 
enum  mxc_nf_finalize_action { MXC_NF_FIN_NONE , MXC_NF_FIN_DATAOUT }
 
enum  mxc_version {
  MXC_VERSION_UKWN = 0 , MXC_VERSION_MX25 = 1 , MXC_VERSION_MX27 = 2 , MXC_VERSION_MX31 = 3 ,
  MXC_VERSION_MX35 = 4
}
 

Macro Definition Documentation

◆ MX25_RCSR

#define MX25_RCSR   0x53f80018

Definition at line 109 of file mxc.h.

◆ MX25_RCSR_NF_16BIT_SEL

#define MX25_RCSR_NF_16BIT_SEL   (1<<14)

Definition at line 110 of file mxc.h.

◆ MX25_RCSR_NF_4K

#define MX25_RCSR_NF_4K   (1<<9)

Definition at line 112 of file mxc.h.

◆ MX25_RCSR_NF_FMS

#define MX25_RCSR_NF_FMS   (1<<8)

Definition at line 111 of file mxc.h.

◆ MX2_FMCR

#define MX2_FMCR   0x10027814

Definition at line 106 of file mxc.h.

◆ MX2_FMCR_NF_16BIT_SEL

#define MX2_FMCR_NF_16BIT_SEL   (1<<4)

Definition at line 107 of file mxc.h.

◆ MX2_FMCR_NF_FMS

#define MX2_FMCR_NF_FMS   (1<<5)

Definition at line 108 of file mxc.h.

◆ MX35_RCSR

#define MX35_RCSR   0x53f80018

Definition at line 116 of file mxc.h.

◆ MX35_RCSR_NF_16BIT_SEL

#define MX35_RCSR_NF_16BIT_SEL   (1<<14)

Definition at line 117 of file mxc.h.

◆ MX35_RCSR_NF_4K

#define MX35_RCSR_NF_4K   (1<<9)

Definition at line 119 of file mxc.h.

◆ MX35_RCSR_NF_FMS

#define MX35_RCSR_NF_FMS   (1<<8)

Definition at line 118 of file mxc.h.

◆ MX3_PCSR

#define MX3_PCSR   0x53f8000c

Definition at line 113 of file mxc.h.

◆ MX3_PCSR_NF_16BIT_SEL

#define MX3_PCSR_NF_16BIT_SEL   (1<<31)

Definition at line 114 of file mxc.h.

◆ MX3_PCSR_NF_FMS

#define MX3_PCSR_NF_FMS   (1<<30)

Definition at line 115 of file mxc.h.

◆ MXC_CCM_CGR2

#define MXC_CCM_CGR2   0x53f80028

Definition at line 104 of file mxc.h.

◆ MXC_GPR

#define MXC_GPR   0x43fac008

Definition at line 105 of file mxc.h.

◆ MXC_NF_BIT_BE_EN

#define MXC_NF_BIT_BE_EN   (1<<5)

Definition at line 82 of file mxc.h.

◆ MXC_NF_BIT_DATAOUT_TYPE

#define MXC_NF_BIT_DATAOUT_TYPE (   x)    ((x)<<3)

Definition at line 101 of file mxc.h.

◆ MXC_NF_BIT_ECC_4BIT

#define MXC_NF_BIT_ECC_4BIT   (1<<0)

Definition at line 78 of file mxc.h.

◆ MXC_NF_BIT_ECC_EN

#define MXC_NF_BIT_ECC_EN   (1<<3)

Definition at line 80 of file mxc.h.

◆ MXC_NF_BIT_FORCE_CE

#define MXC_NF_BIT_FORCE_CE   (1<<7)

Definition at line 84 of file mxc.h.

◆ MXC_NF_BIT_INT_DIS

#define MXC_NF_BIT_INT_DIS   (1<<4)

Definition at line 81 of file mxc.h.

◆ MXC_NF_BIT_OP_DONE

#define MXC_NF_BIT_OP_DONE   (1<<15)

Definition at line 102 of file mxc.h.

◆ MXC_NF_BIT_OP_FAI

#define MXC_NF_BIT_OP_FAI   (1<<1)

Definition at line 94 of file mxc.h.

◆ MXC_NF_BIT_OP_FCI

#define MXC_NF_BIT_OP_FCI   (1<<0)

Definition at line 90 of file mxc.h.

◆ MXC_NF_BIT_OP_FDI

#define MXC_NF_BIT_OP_FDI   (1<<2)

Definition at line 98 of file mxc.h.

◆ MXC_NF_BIT_RESET_EN

#define MXC_NF_BIT_RESET_EN   (1<<6)

Definition at line 83 of file mxc.h.

◆ MXC_NF_BIT_SPARE_ONLY_EN

#define MXC_NF_BIT_SPARE_ONLY_EN   (1<<2)

Definition at line 79 of file mxc.h.

◆ MXC_NF_BUFADDR

#define MXC_NF_BUFADDR   (mxc_nf_info->mxc_regs_addr + 0x04)

Definition at line 23 of file mxc.h.

◆ MXC_NF_BUFCFG

#define MXC_NF_BUFCFG   (mxc_nf_info->mxc_regs_addr + 0x0a)

Definition at line 26 of file mxc.h.

◆ MXC_NF_BUFSIZ

#define MXC_NF_BUFSIZ   (mxc_nf_info->mxc_regs_addr + 0x00)

Definition at line 22 of file mxc.h.

◆ MXC_NF_CFG1

#define MXC_NF_CFG1   (mxc_nf_info->mxc_regs_addr + 0x1a)

Definition at line 46 of file mxc.h.

◆ MXC_NF_CFG2

#define MXC_NF_CFG2   (mxc_nf_info->mxc_regs_addr + 0x1c)

Definition at line 47 of file mxc.h.

◆ MXC_NF_ECCMAINPOS

#define MXC_NF_ECCMAINPOS   (mxc_nf_info->mxc_regs_addr + 0x0e)

Definition at line 28 of file mxc.h.

◆ MXC_NF_ECCSTATUS

#define MXC_NF_ECCSTATUS   (mxc_nf_info->mxc_regs_addr + 0x0c)

Definition at line 27 of file mxc.h.

◆ MXC_NF_FADDR

#define MXC_NF_FADDR   (mxc_nf_info->mxc_regs_addr + 0x06)

Definition at line 24 of file mxc.h.

◆ MXC_NF_FCMD

#define MXC_NF_FCMD   (mxc_nf_info->mxc_regs_addr + 0x08)

Definition at line 25 of file mxc.h.

◆ MXC_NF_FWP

#define MXC_NF_FWP   (mxc_nf_info->mxc_regs_addr + 0x12)

Definition at line 31 of file mxc.h.

◆ MXC_NF_FWPSTATUS

#define MXC_NF_FWPSTATUS   (mxc_nf_info->mxc_regs_addr + 0x18)

Definition at line 42 of file mxc.h.

◆ MXC_NF_MAIN_BUFFER0

#define MXC_NF_MAIN_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x0000)

Definition at line 49 of file mxc.h.

◆ MXC_NF_MAIN_BUFFER1

#define MXC_NF_MAIN_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x0200)

Definition at line 50 of file mxc.h.

◆ MXC_NF_MAIN_BUFFER2

#define MXC_NF_MAIN_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x0400)

Definition at line 51 of file mxc.h.

◆ MXC_NF_MAIN_BUFFER3

#define MXC_NF_MAIN_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x0600)

Definition at line 52 of file mxc.h.

◆ MXC_NF_MAIN_BUFFER_LEN

#define MXC_NF_MAIN_BUFFER_LEN   512

Definition at line 69 of file mxc.h.

◆ MXC_NF_SPARE_BUFFER_LEN

#define MXC_NF_SPARE_BUFFER_LEN   16

Definition at line 70 of file mxc.h.

◆ MXC_NF_SPARE_BUFFER_MAX

#define MXC_NF_SPARE_BUFFER_MAX   64

Definition at line 71 of file mxc.h.

◆ MXC_NF_V1_ECCSPAREPOS

#define MXC_NF_V1_ECCSPAREPOS   (mxc_nf_info->mxc_regs_addr + 0x10)

Definition at line 29 of file mxc.h.

◆ MXC_NF_V1_LAST_BUFFADDR

#define MXC_NF_V1_LAST_BUFFADDR
Value:
#define MXC_NF_V1_SPARE_BUFFER3
Definition: mxc.h:56
#define MXC_NF_SPARE_BUFFER_LEN
Definition: mxc.h:70

Definition at line 72 of file mxc.h.

◆ MXC_NF_V1_SPARE_BUFFER0

#define MXC_NF_V1_SPARE_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x0800)

Definition at line 53 of file mxc.h.

◆ MXC_NF_V1_SPARE_BUFFER1

#define MXC_NF_V1_SPARE_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x0810)

Definition at line 54 of file mxc.h.

◆ MXC_NF_V1_SPARE_BUFFER2

#define MXC_NF_V1_SPARE_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x0820)

Definition at line 55 of file mxc.h.

◆ MXC_NF_V1_SPARE_BUFFER3

#define MXC_NF_V1_SPARE_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x0830)

Definition at line 56 of file mxc.h.

◆ MXC_NF_V1_UNLOCKEND

#define MXC_NF_V1_UNLOCKEND   (mxc_nf_info->mxc_regs_addr + 0x16)

Definition at line 33 of file mxc.h.

◆ MXC_NF_V1_UNLOCKSTART

#define MXC_NF_V1_UNLOCKSTART   (mxc_nf_info->mxc_regs_addr + 0x14)

Definition at line 32 of file mxc.h.

◆ MXC_NF_V2_CFG1_PPB

#define MXC_NF_V2_CFG1_PPB (   x)    (((x) & 0x3) << 9)

Definition at line 85 of file mxc.h.

◆ MXC_NF_V2_LAST_BUFFADDR

#define MXC_NF_V2_LAST_BUFFADDR
Value:
#define MXC_NF_V2_SPARE_BUFFER7
Definition: mxc.h:68

Definition at line 74 of file mxc.h.

◆ MXC_NF_V2_MAIN_BUFFER4

#define MXC_NF_V2_MAIN_BUFFER4   (mxc_nf_info->mxc_base_addr + 0x0800)

Definition at line 57 of file mxc.h.

◆ MXC_NF_V2_MAIN_BUFFER5

#define MXC_NF_V2_MAIN_BUFFER5   (mxc_nf_info->mxc_base_addr + 0x0a00)

Definition at line 58 of file mxc.h.

◆ MXC_NF_V2_MAIN_BUFFER6

#define MXC_NF_V2_MAIN_BUFFER6   (mxc_nf_info->mxc_base_addr + 0x0c00)

Definition at line 59 of file mxc.h.

◆ MXC_NF_V2_MAIN_BUFFER7

#define MXC_NF_V2_MAIN_BUFFER7   (mxc_nf_info->mxc_base_addr + 0x0e00)

Definition at line 60 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER0

#define MXC_NF_V2_SPARE_BUFFER0   (mxc_nf_info->mxc_base_addr + 0x1000)

Definition at line 61 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER1

#define MXC_NF_V2_SPARE_BUFFER1   (mxc_nf_info->mxc_base_addr + 0x1040)

Definition at line 62 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER2

#define MXC_NF_V2_SPARE_BUFFER2   (mxc_nf_info->mxc_base_addr + 0x1080)

Definition at line 63 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER3

#define MXC_NF_V2_SPARE_BUFFER3   (mxc_nf_info->mxc_base_addr + 0x10c0)

Definition at line 64 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER4

#define MXC_NF_V2_SPARE_BUFFER4   (mxc_nf_info->mxc_base_addr + 0x1100)

Definition at line 65 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER5

#define MXC_NF_V2_SPARE_BUFFER5   (mxc_nf_info->mxc_base_addr + 0x1140)

Definition at line 66 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER6

#define MXC_NF_V2_SPARE_BUFFER6   (mxc_nf_info->mxc_base_addr + 0x1180)

Definition at line 67 of file mxc.h.

◆ MXC_NF_V2_SPARE_BUFFER7

#define MXC_NF_V2_SPARE_BUFFER7   (mxc_nf_info->mxc_base_addr + 0x11c0)

Definition at line 68 of file mxc.h.

◆ MXC_NF_V2_SPAS

#define MXC_NF_V2_SPAS   (mxc_nf_info->mxc_regs_addr + 0x10)

Definition at line 30 of file mxc.h.

◆ MXC_NF_V2_UNLOCKEND0

#define MXC_NF_V2_UNLOCKEND0   (mxc_nf_info->mxc_regs_addr + 0x22)

Definition at line 38 of file mxc.h.

◆ MXC_NF_V2_UNLOCKEND1

#define MXC_NF_V2_UNLOCKEND1   (mxc_nf_info->mxc_regs_addr + 0x26)

Definition at line 39 of file mxc.h.

◆ MXC_NF_V2_UNLOCKEND2

#define MXC_NF_V2_UNLOCKEND2   (mxc_nf_info->mxc_regs_addr + 0x2a)

Definition at line 40 of file mxc.h.

◆ MXC_NF_V2_UNLOCKEND3

#define MXC_NF_V2_UNLOCKEND3   (mxc_nf_info->mxc_regs_addr + 0x2e)

Definition at line 41 of file mxc.h.

◆ MXC_NF_V2_UNLOCKSTART0

#define MXC_NF_V2_UNLOCKSTART0   (mxc_nf_info->mxc_regs_addr + 0x20)

Definition at line 34 of file mxc.h.

◆ MXC_NF_V2_UNLOCKSTART1

#define MXC_NF_V2_UNLOCKSTART1   (mxc_nf_info->mxc_regs_addr + 0x24)

Definition at line 35 of file mxc.h.

◆ MXC_NF_V2_UNLOCKSTART2

#define MXC_NF_V2_UNLOCKSTART2   (mxc_nf_info->mxc_regs_addr + 0x28)

Definition at line 36 of file mxc.h.

◆ MXC_NF_V2_UNLOCKSTART3

#define MXC_NF_V2_UNLOCKSTART3   (mxc_nf_info->mxc_regs_addr + 0x2c)

Definition at line 37 of file mxc.h.

Enumeration Type Documentation

◆ mxc_dataout_type

Enumerator
MXC_NF_DATAOUT_PAGE 
MXC_NF_DATAOUT_NANDID 
MXC_NF_DATAOUT_NANDSTATUS 

Definition at line 129 of file mxc.h.

◆ mxc_nf_finalize_action

Enumerator
MXC_NF_FIN_NONE 
MXC_NF_FIN_DATAOUT 

Definition at line 135 of file mxc.h.

◆ mxc_version

Enumerator
MXC_VERSION_UKWN 
MXC_VERSION_MX25 
MXC_VERSION_MX27 
MXC_VERSION_MX31 
MXC_VERSION_MX35 

Definition at line 121 of file mxc.h.