summaryrefslogtreecommitdiff
path: root/ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h
diff options
context:
space:
mode:
Diffstat (limited to 'ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h')
-rw-r--r--ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h226
1 files changed, 226 insertions, 0 deletions
diff --git a/ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h b/ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h
new file mode 100644
index 0000000..302ec54
--- /dev/null
+++ b/ecos/packages/devs/eth/arm/ks32c5000/current/src/ks5000_regs.h
@@ -0,0 +1,226 @@
+//==========================================================================
+//
+// ks5000_regs.h
+//
+//
+//
+//==========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// eCos is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 or (at your option) any later
+// version.
+//
+// eCos is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with eCos; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// As a special exception, if other files instantiate templates or use
+// macros or inline functions from this file, or you compile this file
+// and link it with other works to produce a work based on this file,
+// this file does not by itself cause the resulting work to be covered by
+// the GNU General Public License. However the source code for this file
+// must still be made available in accordance with section (3) of the GNU
+// General Public License v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): gthomas
+// Contributors: gthomas, jskov
+// Grant Edwards <grante@visi.com>
+// Date: 2001-07-31
+// Purpose:
+// Description:
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+/*------------------------------------------------------------------------
+ name : ks5000.h
+ purpose : This is the header file that will define all the
+ registers for the ks5000 processor. It will contain
+ the addresses for the registers and some values for
+ those registers.
+========================================================================*/
+#ifndef _KS5000_REGS_H_
+#define _KS5000_REGS_H_
+
+#include "std.h"
+
+#define BD_LAN_STOP {}
+#define DEBUG 0 /* DEBUG mode */
+
+#define VPint(a) (*((volatile unsigned int*)(a)))
+#define VPshort(a) (*((volatile unsigned short int*)(a)))
+#define VPchar(a) (*((volatile unsigned char*)(a)))
+
+#define Base_Addr 0x7ff0000
+
+#define INTADDR (Reset_Addr+0x20)
+#define SPSTR (VPint(Base_Addr))
+
+// System Manager Register
+#define SYSCFG (VPint(Base_Addr+0x0000))
+#define CLKCON (VPint(Base_Addr+0x3000))
+#define EXTACON0 (VPint(Base_Addr+0x3008))
+#define EXTACON1 (VPint(Base_Addr+0x300c))
+#define EXTDBWTH (VPint(Base_Addr+0x3010))
+#define ROMCON0 (VPint(Base_Addr+0x3014))
+#define ROMCON1 (VPint(Base_Addr+0x3018))
+#define ROMCON2 (VPint(Base_Addr+0x301c))
+#define ROMCON3 (VPint(Base_Addr+0x3020))
+#define ROMCON4 (VPint(Base_Addr+0x3024))
+#define ROMCON5 (VPint(Base_Addr+0x3028))
+#define DRAMCON0 (VPint(Base_Addr+0x302c))
+#define DRAMCON1 (VPint(Base_Addr+0x3030))
+#define DRAMCON2 (VPint(Base_Addr+0x3034))
+#define DRAMCON3 (VPint(Base_Addr+0x3038))
+#define REFEXTCON (VPint(Base_Addr+0x303c))
+
+// Ethernet BDMA Register
+#define BDMATXCON (VPint(Base_Addr+0x9000))
+#define BDMARXCON (VPint(Base_Addr+0x9004))
+#define BDMATXPTR (VPint(Base_Addr+0x9008))
+#define BDMARXPTR (VPint(Base_Addr+0x900c))
+#define BDMARXLSZ (VPint(Base_Addr+0x9010))
+#define BDMASTAT (VPint(Base_Addr+0x9014))
+
+#define CAM_BASE (VPint(Base_Addr+0x9100))
+#define BDMATXBUF (VPint(Base_Addr+0x9200))
+#define BDMARXBUF (VPint(Base_Addr+0x9800))
+#define CAM_BaseAddr (Base_Addr+0x9100)
+
+// Ethernet MAC Register
+#define MACCON (VPint(Base_Addr+0xa000))
+#define CAMCON (VPint(Base_Addr+0xa004))
+#define MACTXCON (VPint(Base_Addr+0xa008))
+#define MACTXSTAT (VPint(Base_Addr+0xa00c))
+#define MACRXCON (VPint(Base_Addr+0xa010))
+#define MACRXSTAT (VPint(Base_Addr+0xa014))
+#define STADATA (VPint(Base_Addr+0xa018))
+#define STACON (VPint(Base_Addr+0xa01c))
+#define CAMEN (VPint(Base_Addr+0xa028))
+#define EMISSCNT (VPint(Base_Addr+0xa03c))
+#define EPZCNT (VPint(Base_Addr+0xa040))
+#define ERMPZCNT (VPint(Base_Addr+0xa044))
+#define ETXSTAT (VPint(Base_Addr+0xa048))
+#define MACRXDESTR (VPint(Base_Addr+0xa064))
+#define MACRXSTATEM (VPint(Base_Addr+0xa090))
+
+// HDLC Channel A
+#define HCON0A (VPint(Base_Addr+0x7000))
+#define HCON1A (VPint(Base_Addr+0x7004))
+#define HSTATA (VPint(Base_Addr+0x7008))
+#define HINTENA (VPint(Base_Addr+0x700c))
+#define HTXFIFOCA (VPint(Base_Addr+0x7010))
+#define HTXFIFOTA (VPint(Base_Addr+0x7014))
+#define HRXFIFOA (VPint(Base_Addr+0x7018))
+#define HSADRA (VPint(Base_Addr+0x701c))
+#define HBRGTCA (VPint(Base_Addr+0x7020))
+#define HPRMBA (VPint(Base_Addr+0x7024))
+#define HDMATXMAA (VPint(Base_Addr+0x7028))
+#define HDMARXMAA (VPint(Base_Addr+0x702c))
+#define HDMATXCNTA (VPint(Base_Addr+0x7030))
+#define HDMARXCNTA (VPint(Base_Addr+0x7034))
+#define HDMARXBCNTA (VPint(Base_Addr+0x7038))
+
+// HDLC Channel B
+#define HCON0B (VPint(Base_Addr+0x8000))
+#define HCON1B (VPint(Base_Addr+0x8004))
+#define HSTATB (VPint(Base_Addr+0x8008))
+#define HINTENB (VPint(Base_Addr+0x800c))
+#define HTXFIFOCB (VPint(Base_Addr+0x8010))
+#define HTXFIFOTB (VPint(Base_Addr+0x8014))
+#define HRXFIFOB (VPint(Base_Addr+0x8018))
+#define HSADRB (VPint(Base_Addr+0x801c))
+#define HBRGTCB (VPint(Base_Addr+0x8020))
+#define HPRMBB (VPint(Base_Addr+0x8024))
+#define HDMATXMAB (VPint(Base_Addr+0x8028))
+#define HDMARXMAB (VPint(Base_Addr+0x802c))
+#define HDMATXCNTB (VPint(Base_Addr+0x8030))
+#define HDMARXCNTB (VPint(Base_Addr+0x8034))
+#define HDMARXBCNTB (VPint(Base_Addr+0x8038))
+
+// I2C Bus Register
+#define IICCON (VPint(Base_Addr+0xf000))
+#define IICBUF (VPint(Base_Addr+0xf004))
+#define IICPS (VPint(Base_Addr+0xf008))
+#define IICCOUNT (VPint(Base_Addr+0xf00c))
+
+// GDMA 0
+#define GDMACON0 (VPint(Base_Addr+0xb000))
+#define GDMASRC0 (VPint(Base_Addr+0xb004))
+#define GDMADST0 (VPint(Base_Addr+0xb008))
+#define GDMACNT0 (VPint(Base_Addr+0xb00c))
+
+// GDMA 1
+#define GDMACON1 (VPint(Base_Addr+0xc000))
+#define GDMASRC1 (VPint(Base_Addr+0xc004))
+#define GDMADST1 (VPint(Base_Addr+0xc008))
+#define GDMACNT1 (VPint(Base_Addr+0xc00c))
+
+// UART 0
+#define UART0_LCR (VPint(Base_Addr+0xd000)) // line control register
+#define UART0_CTRL (VPint(Base_Addr+0xd004)) // uart control register
+#define UART0_LST (VPint(Base_Addr+0xd008)) // line status register
+#define UART0_THR (VPint(Base_Addr+0xd00c)) // transmit holding reg.
+#define UART0_RDR (VPint(Base_Addr+0xd010)) // receive data register
+#define UART0_BRD (VPint(Base_Addr+0xd014)) // baud rate divisor
+
+// UART 1
+#define UART1_LCR (VPint(Base_Addr+0xe000)) // line control register
+#define UART1_CTRL (VPint(Base_Addr+0xe004)) // uart control register
+#define UART1_LST (VPint(Base_Addr+0xe008)) // line status register
+#define UART1_THR (VPint(Base_Addr+0xe00c)) // transmit holding reg.
+#define UART1_RDR (VPint(Base_Addr+0xe010)) // receive data register
+#define UART1_BRD (VPint(Base_Addr+0xe014)) // baud rate divisor
+
+// Timer Register
+#define TMOD (VPint(Base_Addr+0x6000))
+#define TDATA0 (VPint(Base_Addr+0x6004))
+#define TDATA1 (VPint(Base_Addr+0x6008))
+#define TCNT0 (VPint(Base_Addr+0x600c))
+#define TCNT1 (VPint(Base_Addr+0x6010))
+
+// Timer Mode Register
+#define TM0_RUN 0x01 /* Timer 0 enable */
+#define TM0_TOGGLE 0x02 /* 0, interval mode */
+#define TM0_OUT_1 0x04 /* Timer 0 Initial TOUT0 value */
+#define TM1_RUN 0x08 /* Timer 1 enable */
+#define TM1_TOGGLE 0x10 /* 0, interval mode */
+#define TM1_OUT_1 0x20 /* Timer 0 Initial TOUT0 value */
+
+// I/O Port Interface
+#define IOPMOD (VPint(Base_Addr+0x5000))
+#define IOPCON (VPint(Base_Addr+0x5004))
+#define IOPDATA (VPint(Base_Addr+0x5008))
+
+// Interrupt Controller Register
+#define INTMODE (VPint(Base_Addr+0x4000))
+#define INTPEND (VPint(Base_Addr+0x4004))
+#define INTMASK (VPint(Base_Addr+0x4008))
+
+#define INTPRI0 (VPint(Base_Addr+0x400c))
+#define INTPRI1 (VPint(Base_Addr+0x4010))
+#define INTPRI2 (VPint(Base_Addr+0x4014))
+#define INTPRI3 (VPint(Base_Addr+0x4018))
+#define INTPRI4 (VPint(Base_Addr+0x401c))
+#define INTPRI5 (VPint(Base_Addr+0x4020))
+#define INTOFFSET (VPint(Base_Addr+0x4024))
+
+#endif