Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/powerpc/include/booke Add LBC FCM defintions (for N...



details:   https://anonhg.NetBSD.org/src/rev/8d437bbe862a
branches:  trunk
changeset: 764721:8d437bbe862a
user:      matt <matt%NetBSD.org@localhost>
date:      Mon May 02 01:47:26 2011 +0000

description:
Add LBC FCM defintions (for NAND).

diffstat:

 sys/arch/powerpc/include/booke/e500reg.h |  97 +++++++++++++++++++++++++++++++-
 1 files changed, 95 insertions(+), 2 deletions(-)

diffs (122 lines):

diff -r 258ace064472 -r 8d437bbe862a sys/arch/powerpc/include/booke/e500reg.h
--- a/sys/arch/powerpc/include/booke/e500reg.h  Mon May 02 01:45:26 2011 +0000
+++ b/sys/arch/powerpc/include/booke/e500reg.h  Mon May 02 01:47:26 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: e500reg.h,v 1.5 2011/03/16 05:31:04 matt Exp $ */
+/*     $NetBSD: e500reg.h,v 1.6 2011/05/02 01:47:26 matt Exp $ */
 /*-
  * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -550,18 +550,111 @@
 #define MBMR           0x074 /* UPMB mode register */
 #define MCMR           0x078 /* UPMC mode register */
 #define MRTPR          0x084 /* Memory refresh timer prescaler register */
-#define MDR            0x088 /* UPM data register */
+#define MDR            0x088 /* UPM/FCM data register */
+#define        MDR_AS3         __PPCBITS(0,7)
+#define        MDR_AS2         __PPCBITS(8,15)
+#define        MDR_AS1         __PPCBITS(16,23)
+#define        MDR_AS0         __PPCBITS(24,31)
 #define LSDMR          0x094 /* SDRAM mode register */
 #define LURT           0x0A0 /* UPM refresh timer */
 #define LSRT           0x0A4 /* SDRAM refresh timer */
 #define LTESR          0x0B0 /* Transfer error status register */
+#define        LTESR_BM        __PPCBIT(0)
+#define        LTESR_FCT       __PPCBIT(1)
+#define        LTESR_PAR       __PPCBIT(2)
+#define        LTESR_WP        __PPCBIT(5)
+#define        LTESR_ATMW      __PPCBIT(8)
+#define        LTESR_ATMR      __PPCBIT(9)
+#define        LTESR_CS        __PPCBIT(12)
+#define        LTESR_UCC       __PPCBIT(30)
+#define        LTESR_CC        __PPCBIT(31)
 #define LTEDR          0x0B4 /* Transfer error disable register */
+#define        LTEDR_BMD       __PPCBIT(0)
+#define        LTEDR_FCTD      __PPCBIT(1)
+#define        LTEDR_PARD      __PPCBIT(2)
+#define        LTEDR_WPD       __PPCBIT(5)
+#define        LTEDR_WARA      __PPCBIT(8)
+#define        LTEDR_RAWA      __PPCBIT(9)
+#define        LTEDR_CSD       __PPCBIT(12)
+#define        LTEDR_UCCD      __PPCBIT(30)
+#define        LTEDR_CCD       __PPCBIT(31)
 #define LTEIR          0x0B8 /* Transfer error interrupt register */
+#define        LTEIR_BMI       __PPCBIT(0)
+#define        LTEIR_FCTI      __PPCBIT(1)
+#define        LTEIR_PARI      __PPCBIT(2)
+#define        LTEIR_WPI       __PPCBIT(5)
+#define        LTEIR_WARA      __PPCBIT(8)
+#define        LTEIR_RAWA      __PPCBIT(9)
+#define        LTEIR_CSI       __PPCBIT(12)
+#define        LTEIR_UCCI      __PPCBIT(30)
+#define        LTEIR_CCI       __PPCBIT(31)
 #define LTEATR         0x0BC /* Transfer error attributes register */
+#define        LTEATR_RWB      __PPCBIT(3)
+#define        LTEATR_SRCID    __PPCBITS(11,15)
+#define        LTEATR_PB       __PPCBITS(16,19)
+#define        LTEATR_BNK      __PPCBITS(20,27)
+#define        LTEATR_V        __PPCBIT(31)
 #define LTEAR          0x0C0 /* Transfer error address register */
+#define        LTECCR          0x0C4 /* Transfer error ECC register */
+#define        LTECCR_SBCE     __PPCBITS(12,15)
+#define        LTECCR_MBUE     __PPCBITS(28,31)
 #define LBCR           0x0D0 /* Configuration register */
 #define LCRR           0x0D4 /* Clock ratio register */
 
+#define        FMR             0x0E0 /* Flash Mode Register */
+#define        FMR_CWTO        __PPCBITS(16,19)
+#define        FMR_BOOT        __PPCBIT(20)
+#define        FMR_ECCM        __PPCBIT(23)
+#define        FMR_AL          __PPCBITS(26,27)
+#define        FMR_OP          __PPCBITS(30,31)
+#define        FIR             0x0E4 /* Flash Instruction Register */
+#define        FIR_OP0         __PPCBITS(0,3)
+#define        FIR_OP1         __PPCBITS(4,7)
+#define        FIR_OP2         __PPCBITS(8,11)
+#define        FIR_OP3         __PPCBITS(12,15)
+#define        FIR_OP4         __PPCBITS(16,19)
+#define        FIR_OP5         __PPCBITS(20,23)
+#define        FIR_OP6         __PPCBITS(24,27)
+#define        FIR_OP7         __PPCBITS(28,31)
+#define        FIR_OP_NOP      0
+#define        FIR_OP_CA       1       /* Issue current column address */
+#define        FIR_OP_PA       2       /* Issue current block+page address */
+#define        FIR_OP_UA       3       /* Issue user-defined address byte */
+#define        FIR_OP_CM0      4       /* Issue command from FCR[CMD0] */
+#define        FIR_OP_CM1      5       /* Issue command from FCR[CMD1] */
+#define        FIR_OP_CM2      6       /* Issue command from FCR[CMD2] */
+#define        FIR_OP_CM3      7       /* Issue command from FCR[CMD3] */
+#define        FIR_OP_WB       8       /* Write FBCR bytes of data */
+#define        FIR_OP_WS       9       /* Write one byte of data from MDR */
+#define        FIR_OP_RB       10      /* Read FBCR bytes of data */
+#define        FIR_OP_RS       11      /* Read one byte of data into MDR */
+#define        FIR_OP_CW0      12      /* Wait for LFRB then FCR[CMD0] */
+#define        FIR_OP_CW1      13      /* Wait for LFRB then FCR[CMD1] */
+#define        FIR_OP_RBW      14      /* Wait for LFRB then read FBCR bytes */
+#define        FIR_OP_RSW      15      /* Wait for LFRB then byte into MDR */
+#define        FCR             0xE8 /* Flash Command Register */
+#define        FCR_CMD0        __PPCBITS(0,7)
+#define        FCR_CMD1        __PPCBITS(8,15)
+#define        FCR_CMD2        __PPCBITS(16,23)
+#define        FCR_CMD3        __PPCBITS(24,31)
+#define        FBAR            0xEC /* Flash Block Address Register */
+#define        FBAR_BLK        __PPCBITS(8,31)
+#define        FPAR            0xF0 /* Flash Page Address Register */
+#define        FPAR_S_PI       __PPCBITS(17,21)        /* Page Index */
+#define        FPAR_S_MS       __PPCBIT(22)            /* Main(0)/Spare(1) */
+#define        FPAR_S_CI       __PPCBITS(23,31)        /* Column Index */
+#define        FPAR_L_PI       __PPCBITS(14,19)        /* Page Index */
+#define        FPAR_L_MS       __PPCBIT(20)            /* Main(0)/Spare(1) */
+#define        FPAR_L_CI       __PPCBITS(21,31)        /* Column Index */
+#define        FBCR            0xF4 /* Flash Byte Count Register */
+#define        FBCR_BC         __PPCBITS(20,31)
+#define        FECC0           0x100
+#define        FECC_V          __PPCBIT(0)
+#define        FECC_ECC        __PPCBIT(8,31)
+#define        FECC1           0x104
+#define        FECC2           0x108
+#define        FECC3           0x10C
+
 #define MXMR_RFEN      __PPCBIT(1)     /* Refresh enable */
 #define MXMR_OP                __PPCBITS(2,3)  /* Command opcode */
 #define        MXMR_OP_NORMAL  __SHIFTIN(0, MXMR_OP)   /* Normal Operation */



Home | Main Index | Thread Index | Old Index