Add lm32 cpu and milkymist port
[mw/micromonitor-lm32.git] / umon_ports / milkymist / cpuio.h
1 #define MONARGV0 "umon"
2 #define DEFAULT_BAUD_RATE 115200
3 #define CPU_FREQUENCY 83333333
4
5 #define MMPTR(x) (*((volatile unsigned int *)(x)))
6
7 /* uart */
8 #define UART_RXTX           MMPTR(0x80000000)
9 #define UART_DIVISOR        MMPTR(0x80000004)
10
11 /* timer */
12 #define TIMER0_CONTROL      MMPTR(0x80001010)
13 #define TIMER0_COMPARE      MMPTR(0x80001014)
14 #define TIMER0_COUNTER      MMPTR(0x80001010)
15
16 #define TIMER_ENABLE        (1 << 0)
17 #define TIMER_AUTORESTART   (1 << 1)
18
19 /* network */
20 #define MINIMAC_SETUP       MMPTR(0x80009000)
21 #define MINIMAC_MDIO        MMPTR(0x80009004)
22 #define MINIMAC_STATE0      MMPTR(0x80009008)
23 #define MINIMAC_ADDR0       MMPTR(0x8000900c)
24 #define MINIMAC_COUNT0      MMPTR(0x80009010)
25 #define MINIMAC_STATE1      MMPTR(0x80009014)
26 #define MINIMAC_ADDR1       MMPTR(0x80009018)
27 #define MINIMAC_COUNT1      MMPTR(0x8000901c)
28 #define MINIMAC_STATE2      MMPTR(0x80009020)
29 #define MINIMAC_ADDR2       MMPTR(0x80009024)
30 #define MINIMAC_COUNT2      MMPTR(0x80009028)
31 #define MINIMAC_STATE3      MMPTR(0x8000902c)
32 #define MINIMAC_ADDR3       MMPTR(0x80009030)
33 #define MINIMAC_COUNT3      MMPTR(0x80009034)
34 #define MINIMAC_TXADDR      MMPTR(0x80009038)
35 #define MINIMAC_TXREMAINING MMPTR(0x8000903c)
36
37 #define MINIMAC_SETUP_RXRST   (1 << 0)
38 #define MINIMAC_SETUP_TXRST   (1 << 0)
39
40 #define MINIMAC_STATE_EMPTY   0
41 #define MINIMAC_STATE_LOADED  1
42 #define MINIMAC_STATE_PENDING 2
43
44 #define MINIMAC_MDIO_DO       (1 << 0)
45 #define MINIMAC_MDIO_DI       (1 << 1)
46 #define MINIMAC_MDIO_OE       (1 << 2)
47 #define MINIMAC_MDIO_CLK      (1 << 3)
48
49 /* framebuffer */
50 #define VGAFB_CONTROL         MMPTR(0x80003000)
51 #define VGAFB_HRES            MMPTR(0x80003004)
52 #define VGAFB_HSYNC_START     MMPTR(0x80003008)
53 #define VGAFB_HSYNC_END       MMPTR(0x8000300C)
54 #define VGAFB_HSCAN           MMPTR(0x80003010)
55 #define VGAFB_VRES            MMPTR(0x80003014)
56 #define VGAFB_VSYNC_START     MMPTR(0x80003018)
57 #define VGAFB_VSYNC_END       MMPTR(0x8000301C)
58 #define VGAFB_VSCAN           MMPTR(0x80003020)
59 #define VGAFB_BASEADDRESS     MMPTR(0x80003024)
60 #define VGAFB_BASEADDRESS_ACT MMPTR(0x80003028)
61 #define VGAFB_BURST_COUNT     MMPTR(0x8000302C)
62
63 #define VGAFB_CONTROL_RESET   (1 << 0)
64
65 #define PIXFMT_IS_RGB565 1
66 #define PIXFMT_IS_RGB555 0
67 #define PIXELS_PER_ROW   640
68 #define PIXELS_PER_COL   480
69
70 #include "stddefs.h"
71 extern uchar vgafb_framebuffer[];
72 #define FRAME_BUFFER_BASE_ADDR  vgafb_framebuffer
73 #define FBDEV_SETSTART fbdev_setstart
74
75 /* ps2 */
76 #define PS2_REG(x)            MMPTR(0x80007000 + (x * 4))
77 #define PS2_TIMEOUT           100000
78
79 /* interrupts */
80 #define TIMER0_IRQ          1
81 #define UART_IRQ_RX         3
82 #define UART_IRQ_TX         4
83