Merge branch 'upstream-fixes'
[mw/micromonitor-lm32.git] / umon_ports / bf537 / cpu.h
1 /* CLKIN is taken from the CLKIN bit on the CPU.  The BF537 STAMP board
2  * has a 25Mhz clock on this line...
3  */
4 #define CLKIN 25000000          /* This is the frequency into the CPU */
5
6 /* Set PLL up so that we have a 500Mhz core clock and 100Mhz
7  * system clock (refer to pg 20.4 of BF537 HW reference for more
8  * info).
9  */
10 #define CORECLKFREQ 500000000   /* 500 Mhz Core clock */
11 #define SYSCLKFREQ  100000000   /* 100 Mhz System clock */
12
13
14 #define PLL_DF_VAL      0               
15 #define CSEL_VAL        0               
16 #define MSEL_VAL    (CORECLKFREQ/CLKIN) 
17 #define SSEL_VAL        (CORECLKFREQ/SYSCLKFREQ)
18
19 /* DRAM stuff...
20  */
21 #define TRAS    5
22 #define TRP             2
23
24 /* Uart stuff...
25  */
26 #define DEFAULT_BAUD_RATE 57600
27 #define THR             0x00
28 #define RBR             0x00
29 #define DLL             0x00
30 #define DLH             0x04
31 #define IER             0x04
32 #define LCR             0x0c
33 #define MCR             0x10
34 #define LSR             0x14
35 #define SCR             0x1c
36 #define GCTL    0x24
37
38 #define UART0_BASE      0xffc00400
39 #define UART1_BASE      0xffc02000
40 #define CONSOLE(reg) (UART0_BASE+reg)
41
42 /* I-Squared-C (TWI in Blackfin terms) stuff...
43  */
44 #define I2C_SCL_FREQ    400000          /* This is usually either 100K or 400K */
45 #define I2C_TIMEOUT             1000000 
46
47 /* Six LEDs on port 'F'...
48  */
49 #define LED6 0x0800
50 #define LED5 0x0400
51 #define LED4 0x0200
52 #define LED3 0x0100
53 #define LED2 0x0080
54 #define LED1 0x0040
55 #define LED_BITMASK (LED4|LED3)
56
57 #define RESETFUNC()     ((void(*)())0x20000000)
58
59 extern int IFlush(char *addr);
60 extern int Flush(char *addr);
61 extern int FlushInv(char *addr);