[funini.com] -> [kei@sodan] -> Kernel Reading

root/include/asm-mn10300/busctl-regs.h

/* [<][>][^][v][top][bottom][index][help] */
/* AM33v2 on-board bus controller registers
 *
 * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells (dhowells@redhat.com)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public Licence
 * as published by the Free Software Foundation; either version
 * 2 of the Licence, or (at your option) any later version.
 */

#ifndef _ASM_BUSCTL_REGS_H
#define _ASM_BUSCTL_REGS_H

#include <asm/cpu-regs.h>

#ifdef __KERNEL__

/* bus controller registers */
#define BCCR                    __SYSREG(0xc0002000, u32)       /* bus controller control reg */
#define BCCR_B0AD               0x00000003      /* block 0 (80000000-83ffffff) bus allocation */
#define BCCR_B1AD               0x0000000c      /* block 1 (84000000-87ffffff) bus allocation */
#define BCCR_B2AD               0x00000030      /* block 2 (88000000-8bffffff) bus allocation */
#define BCCR_B3AD               0x000000c0      /* block 3 (8c000000-8fffffff) bus allocation */
#define BCCR_B4AD               0x00000300      /* block 4 (90000000-93ffffff) bus allocation */
#define BCCR_B5AD               0x00000c00      /* block 5 (94000000-97ffffff) bus allocation */
#define BCCR_B6AD               0x00003000      /* block 6 (98000000-9bffffff) bus allocation */
#define BCCR_B7AD               0x0000c000      /* block 7 (9c000000-9fffffff) bus allocation */
#define BCCR_BxAD_EXBUS         0x0             /* - direct to system bus controller */
#define BCCR_BxAD_OPEXBUS       0x1             /* - direct to memory bus controller */
#define BCCR_BxAD_OCMBUS        0x2             /* - direct to on chip memory */
#define BCCR_API                0x00070000      /* bus arbitration priority */
#define BCCR_API_DMACICD        0x00000000      /* - DMA > CI > CD */
#define BCCR_API_DMACDCI        0x00010000      /* - DMA > CD > CI */
#define BCCR_API_CICDDMA        0x00020000      /* - CI > CD > DMA */
#define BCCR_API_CDCIDMA        0x00030000      /* - CD > CI > DMA */
#define BCCR_API_ROUNDROBIN     0x00040000      /* - round robin */
#define BCCR_BEPRI_DMACICD      0x00c00000      /* bus error address priority */
#define BCCR_BEPRI_DMACDCI      0x00000000      /* - DMA > CI > CD */
#define BCCR_BEPRI_CICDDMA      0x00400000      /* - DMA > CD > CI */
#define BCCR_BEPRI_CDCIDMA      0x00800000      /* - CI > CD > DMA */
#define BCCR_BEPRI              0x00c00000      /* - CD > CI > DMA */
#define BCCR_TMON               0x03000000      /* timeout value settings */
#define BCCR_TMON_16IOCLK       0x00000000      /* - 16 IOCLK cycles */
#define BCCR_TMON_256IOCLK      0x01000000      /* - 256 IOCLK cycles */
#define BCCR_TMON_4096IOCLK     0x02000000      /* - 4096 IOCLK cycles */
#define BCCR_TMON_65536IOCLK    0x03000000      /* - 65536 IOCLK cycles */
#define BCCR_TMOE               0x10000000      /* timeout detection enable */

#define BCBERR                  __SYSREG(0xc0002010, u32)       /* bus error source reg */
#define BCBERR_BESB             0x0000001f      /* erroneous access destination space */
#define BCBERR_BESB_MON         0x00000001      /* - monitor space */
#define BCBERR_BESB_IO          0x00000002      /* - IO bus */
#define BCBERR_BESB_EX          0x00000004      /* - EX bus */
#define BCBERR_BESB_OPEX        0x00000008      /* - OpEX bus */
#define BCBERR_BESB_OCM         0x00000010      /* - on chip memory */
#define BCBERR_BERW             0x00000100      /* type of access */
#define BCBERR_BERW_WRITE       0x00000000      /* - write */
#define BCBERR_BERW_READ        0x00000100      /* - read */
#define BCBERR_BESD             0x00000200      /* error detector */
#define BCBERR_BESD_BCU         0x00000000      /* - BCU detected error */
#define BCBERR_BESD_SLAVE_BUS   0x00000200      /* - slave bus detected error */
#define BCBERR_BEBST            0x00000400      /* type of access */
#define BCBERR_BEBST_SINGLE     0x00000000      /* - single */
#define BCBERR_BEBST_BURST      0x00000400      /* - burst */
#define BCBERR_BEME             0x00000800      /* multiple bus error flag */
#define BCBERR_BEMR             0x00007000      /* master bus that caused the error */
#define BCBERR_BEMR_NOERROR     0x00000000      /* - no error */
#define BCBERR_BEMR_CI          0x00001000      /* - CPU instruction fetch bus caused error */
#define BCBERR_BEMR_CD          0x00002000      /* - CPU data bus caused error */
#define BCBERR_BEMR_DMA         0x00004000      /* - DMA bus caused error */

#define BCBEAR                  __SYSREGC(0xc0002020, u32)      /* bus error address reg */

/* system bus controller registers */
#define SBBASE(X)               __SYSREG(0xd8c00100 + (X) * 0x10, u32)  /* SBC base addr regs */
#define SBBASE_BE               0x00000001      /* bank enable */
#define SBBASE_BAM              0x0000fffe      /* bank address mask [31:17] */
#define SBBASE_BBA              0xfffe0000      /* bank base address [31:17] */

#define SBCNTRL0(X)             __SYSREG(0xd8c00200 + (X) * 0x10, u32)  /* SBC bank ctrl0 regs */
#define SBCNTRL0_WEH            0x00000f00      /* write enable hold */
#define SBCNTRL0_REH            0x0000f000      /* read enable hold */
#define SBCNTRL0_RWH            0x000f0000      /* SRW signal hold */
#define SBCNTRL0_CSH            0x00f00000      /* chip select hold */
#define SBCNTRL0_DAH            0x0f000000      /* data hold */
#define SBCNTRL0_ADH            0xf0000000      /* address hold */

#define SBCNTRL1(X)             __SYSREG(0xd8c00204 + (X) * 0x10, u32)  /* SBC bank ctrl1 regs */
#define SBCNTRL1_WED            0x00000f00      /* write enable delay */
#define SBCNTRL1_RED            0x0000f000      /* read enable delay */
#define SBCNTRL1_RWD            0x000f0000      /* SRW signal delay */
#define SBCNTRL1_ASW            0x00f00000      /* address strobe width */
#define SBCNTRL1_CSD            0x0f000000      /* chip select delay */
#define SBCNTRL1_ASD            0xf0000000      /* address strobe delay */

#define SBCNTRL2(X)             __SYSREG(0xd8c00208 + (X) * 0x10, u32)  /* SBC bank ctrl2 regs */
#define SBCNTRL2_WC             0x000000ff      /* wait count */
#define SBCNTRL2_BWC            0x00000f00      /* burst wait count */
#define SBCNTRL2_WM             0x01000000      /* wait mode setting */
#define SBCNTRL2_WM_FIXEDWAIT   0x00000000      /* - fixed wait access */
#define SBCNTRL2_WM_HANDSHAKE   0x01000000      /* - handshake access */
#define SBCNTRL2_BM             0x02000000      /* bus synchronisation mode */
#define SBCNTRL2_BM_SYNC        0x00000000      /* - synchronous mode */
#define SBCNTRL2_BM_ASYNC       0x02000000      /* - asynchronous mode */
#define SBCNTRL2_BW             0x04000000      /* bus width */
#define SBCNTRL2_BW_32          0x00000000      /* - 32 bits */
#define SBCNTRL2_BW_16          0x04000000      /* - 16 bits */
#define SBCNTRL2_RWINV          0x08000000      /* R/W signal invert polarity */
#define SBCNTRL2_RWINV_NORM     0x00000000      /* - normal (read high) */
#define SBCNTRL2_RWINV_INV      0x08000000      /* - inverted (read low) */
#define SBCNTRL2_BT             0x70000000      /* bus type setting */
#define SBCNTRL2_BT_SRAM        0x00000000      /* - SRAM interface */
#define SBCNTRL2_BT_ADMUX       0x00000000      /* - addr/data multiplexed interface */
#define SBCNTRL2_BT_BROM        0x00000000      /* - burst ROM interface */
#define SBCNTRL2_BTSE           0x80000000      /* burst enable */

/* memory bus controller */
#define SDBASE(X)               __SYSREG(0xda000008 + (X) * 0x4, u32)   /* MBC base addr regs */
#define SDBASE_CE               0x00000001      /* chip enable */
#define SDBASE_CBAM             0x0000fff0      /* chip base address mask [31:20] */
#define SDBASE_CBAM_SHIFT       16
#define SDBASE_CBA              0xfff00000      /* chip base address [31:20] */

#define SDRAMBUS                __SYSREG(0xda000000, u32)       /* bus mode control reg */
#define SDRAMBUS_REFEN          0x00000004      /* refresh enable */
#define SDRAMBUS_TRC            0x00000018      /* refresh command delay time */
#define SDRAMBUS_BSTPT          0x00000020      /* burst stop command enable */
#define SDRAMBUS_PONSEQ         0x00000040      /* power on sequence */
#define SDRAMBUS_SELFREQ        0x00000080      /* self-refresh mode request */
#define SDRAMBUS_SELFON         0x00000100      /* self-refresh mode on */
#define SDRAMBUS_SIZE           0x00030000      /* SDRAM size */
#define SDRAMBUS_SIZE_64Mbit    0x00010000      /* 64Mbit SDRAM (x16) */
#define SDRAMBUS_SIZE_128Mbit   0x00020000      /* 128Mbit SDRAM (x16) */
#define SDRAMBUS_SIZE_256Mbit   0x00030000      /* 256Mbit SDRAM (x16) */
#define SDRAMBUS_TRASWAIT       0x000c0000      /* row address precharge command cycle number */
#define SDRAMBUS_REFNUM         0x00300000      /* refresh command number */
#define SDRAMBUS_BSTWAIT        0x00c00000      /* burst stop command cycle */
#define SDRAMBUS_SETWAIT        0x03000000      /* mode register setting command cycle */
#define SDRAMBUS_PREWAIT        0x0c000000      /* precharge command cycle */
#define SDRAMBUS_RASLATE        0x30000000      /* RAS latency */
#define SDRAMBUS_CASLATE        0xc0000000      /* CAS latency */

#define SDREFCNT                __SYSREG(0xda000004, u32)       /* refresh period reg */
#define SDREFCNT_PERI           0x00000fff      /* refresh period */

#define SDSHDW                  __SYSREG(0xda000010, u32)       /* test reg */

#endif /* __KERNEL__ */

#endif /* _ASM_BUSCTL_REGS_H */

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading