mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-09-19 17:47:15 +03:00
17c7b6c3fd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8653 3c298f89-4303-0410-b956-a3cf2f4a3e73
164 lines
4.2 KiB
C
164 lines
4.2 KiB
C
/*
|
|
<:copyright-gpl
|
|
Copyright 2002 Broadcom Corp. All Rights Reserved.
|
|
|
|
This program is free software; you can distribute it and/or modify it
|
|
under the terms of the GNU General Public License (Version 2) as
|
|
published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope 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 this program; if not, write to the Free Software Foundation, Inc.,
|
|
59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
|
|
:>
|
|
*/
|
|
|
|
#ifndef __BCM6345_MAP_H
|
|
#define __BCM6345_MAP_H
|
|
|
|
|
|
#include "bcmtypes.h"
|
|
#include "6345_intr.h"
|
|
|
|
typedef struct IntControl {
|
|
uint32 RevID;
|
|
uint16 testControl;
|
|
uint16 blkEnables;
|
|
#define USB_CLK_EN 0x0100
|
|
#define EMAC_CLK_EN 0x0080
|
|
#define UART_CLK_EN 0x0008
|
|
#define CPU_CLK_EN 0x0001
|
|
|
|
uint32 pll_control;
|
|
#define SOFT_RESET 0x00000001
|
|
|
|
uint32 IrqMask;
|
|
uint32 IrqStatus;
|
|
|
|
uint32 ExtIrqCfg;
|
|
#define EI_SENSE_SHFT 0
|
|
#define EI_STATUS_SHFT 4
|
|
#define EI_CLEAR_SHFT 8
|
|
#define EI_MASK_SHFT 12
|
|
#define EI_INSENS_SHFT 16
|
|
#define EI_LEVEL_SHFT 20
|
|
} IntControl;
|
|
|
|
#define INTC_BASE 0xfffe0000
|
|
#define PERF ((volatile IntControl * const) INTC_BASE)
|
|
|
|
#define TIMR_BASE 0xfffe0200
|
|
typedef struct Timer {
|
|
uint16 unused0;
|
|
byte TimerMask;
|
|
#define TIMER0EN 0x01
|
|
#define TIMER1EN 0x02
|
|
#define TIMER2EN 0x04
|
|
byte TimerInts;
|
|
#define TIMER0 0x01
|
|
#define TIMER1 0x02
|
|
#define TIMER2 0x04
|
|
#define WATCHDOG 0x08
|
|
uint32 TimerCtl0;
|
|
uint32 TimerCtl1;
|
|
uint32 TimerCtl2;
|
|
#define TIMERENABLE 0x80000000
|
|
#define RSTCNTCLR 0x40000000
|
|
uint32 TimerCnt0;
|
|
uint32 TimerCnt1;
|
|
uint32 TimerCnt2;
|
|
uint32 WatchDogDefCount;
|
|
|
|
/* Write 0xff00 0x00ff to Start timer
|
|
* Write 0xee00 0x00ee to Stop and re-load default count
|
|
* Read from this register returns current watch dog count
|
|
*/
|
|
uint32 WatchDogCtl;
|
|
|
|
/* Number of 40-MHz ticks for WD Reset pulse to last */
|
|
uint32 WDResetCount;
|
|
} Timer;
|
|
|
|
#define TIMER ((volatile Timer * const) TIMR_BASE)
|
|
|
|
typedef struct UartChannel {
|
|
byte unused0;
|
|
byte control;
|
|
#define BRGEN 0x80 /* Control register bit defs */
|
|
#define TXEN 0x40
|
|
#define RXEN 0x20
|
|
#define TXPARITYEN 0x08
|
|
#define TXPARITYEVEN 0x04
|
|
#define RXPARITYEN 0x02
|
|
#define RXPARITYEVEN 0x01
|
|
byte config;
|
|
#define BITS5SYM 0x00
|
|
#define BITS6SYM 0x10
|
|
#define BITS7SYM 0x20
|
|
#define BITS8SYM 0x30
|
|
#define XMITBREAK 0x40
|
|
#define ONESTOP 0x07
|
|
#define TWOSTOP 0x0f
|
|
|
|
byte fifoctl;
|
|
#define RSTTXFIFOS 0x80
|
|
#define RSTRXFIFOS 0x40
|
|
uint32 baudword;
|
|
|
|
byte txf_levl;
|
|
byte rxf_levl;
|
|
byte fifocfg;
|
|
byte prog_out;
|
|
|
|
byte unused1;
|
|
byte DeltaIPEdgeNoSense;
|
|
byte DeltaIPConfig_Mask;
|
|
byte DeltaIP_SyncIP;
|
|
uint16 intMask;
|
|
uint16 intStatus;
|
|
#define TXUNDERR 0x0002
|
|
#define TXOVFERR 0x0004
|
|
#define TXFIFOEMT 0x0020
|
|
#define RXOVFERR 0x0080
|
|
#define RXFIFONE 0x0800
|
|
#define RXFRAMERR 0x1000
|
|
#define RXPARERR 0x2000
|
|
#define RXBRK 0x4000
|
|
|
|
uint16 unused2;
|
|
uint16 Data;
|
|
uint32 unused3;
|
|
uint32 unused4;
|
|
} Uart;
|
|
|
|
#define UART_BASE 0xfffe0300
|
|
#define UART ((volatile Uart * const) UART_BASE)
|
|
|
|
typedef struct GpioControl {
|
|
uint16 unused0;
|
|
byte unused1;
|
|
byte TBusSel;
|
|
|
|
uint16 unused2;
|
|
uint16 GPIODir;
|
|
byte unused3;
|
|
byte Leds;
|
|
uint16 GPIOio;
|
|
|
|
uint32 UartCtl;
|
|
} GpioControl;
|
|
|
|
#define GPIO_BASE 0xfffe0400
|
|
#define GPIO ((volatile GpioControl * const) GPIO_BASE)
|
|
|
|
#define GPIO_NUM_MAX_BITS_MASK 0x0f
|
|
#define GPIO_NUM_TO_MASK(X) (1 << ((X) & GPIO_NUM_MAX_BITS_MASK))
|
|
|
|
|
|
#endif
|
|
|