walnut.h revision 1.2 1 1.2 lukem /* $NetBSD: walnut.h,v 1.2 2006/03/08 23:46:23 lukem Exp $ */
2 1.1 scw
3 1.1 scw /* include/eval.h, openbios_walnut, walnut_bios 8/10/00 14:35:05 */
4 1.1 scw /*-----------------------------------------------------------------------------+
5 1.1 scw |
6 1.1 scw | This source code has been made available to you by IBM on an AS-IS
7 1.1 scw | basis. Anyone receiving this source is licensed under IBM
8 1.1 scw | copyrights to use it in any way he or she deems fit, including
9 1.1 scw | copying it, modifying it, compiling it, and redistributing it either
10 1.1 scw | with or without modifications. No license under IBM patents or
11 1.1 scw | patent applications is to be implied by the copyright license.
12 1.1 scw |
13 1.1 scw | Any user of this software should understand that IBM cannot provide
14 1.1 scw | technical support for this software and will not be responsible for
15 1.1 scw | any consequences resulting from the use of this software.
16 1.1 scw |
17 1.1 scw | Any person who transfers this source code or any derivative work
18 1.1 scw | must include the IBM copyright notice, this paragraph, and the
19 1.1 scw | preceding two paragraphs in the transferred software.
20 1.1 scw |
21 1.1 scw | COPYRIGHT I B M CORPORATION 1995
22 1.1 scw | LICENSED MATERIAL - PROGRAM PROPERTY OF I B M
23 1.1 scw +-----------------------------------------------------------------------------*/
24 1.1 scw /*-----------------------------------------------------------------------------+
25 1.1 scw |
26 1.1 scw | File Name: eval.h
27 1.1 scw |
28 1.1 scw | Function: Openbios board specific defines. Should contain no
29 1.1 scw | prototypes since this file gets included in assembly files.
30 1.1 scw |
31 1.1 scw | Author: James Burke
32 1.1 scw |
33 1.1 scw | Change Activity-
34 1.1 scw |
35 1.1 scw | Date Description of Change BY
36 1.1 scw | --------- --------------------- ---
37 1.1 scw | 11-May-99 Created for Walnut JWB
38 1.1 scw | 01-Jul-99 Made ROM/SRAM non-cacheable in D_CACHEABLE_REGIONS JWB
39 1.1 scw | 08-Aug-00 Added memory regions and MMIO regions for ROM Monitor debug JWB
40 1.1 scw | 10-Aug-00 Modified PCI memory regions JWB
41 1.1 scw |
42 1.1 scw +-----------------------------------------------------------------------------*/
43 1.1 scw
44 1.1 scw #ifndef _WALNUT_H_
45 1.1 scw #define _WALNUT_H_
46 1.1 scw
47 1.1 scw /*----------------------------------------------------------------------------+
48 1.1 scw | 405GP PCI core memory map defines.
49 1.1 scw +----------------------------------------------------------------------------*/
50 1.1 scw #define MIN_PCI_MEMADDR_NOPREFETCH 0x80000000
51 1.1 scw #define MIN_PCI_MEMADDR_PREFETCH 0xc0000000
52 1.1 scw #define MIN_PCI_MEMADDR_VGA 0x00000000
53 1.1 scw #define MIN_PLB_PCI_IOADDR 0xe8000000 /* PLB side of PCI I/O address space */
54 1.1 scw #define MIN_PCI_PCI_IOADDR 0x00000000 /* PCI side of PCI I/O address space */
55 1.1 scw #define MAX_PCI_DEVICES 5
56 1.1 scw
57 1.1 scw #define SRAM_START_ADDR 0xfff00000 /* SRAM starting addr */
58 1.1 scw #define SRAM_SIZE 0x80000 /* SRAM size - 512K */
59 1.1 scw
60 1.1 scw /*----------------------------------------------------------------------------+
61 1.1 scw | Universal Interrupt Controller (UIC) events for the Walnut board.
62 1.1 scw +----------------------------------------------------------------------------*/
63 1.1 scw /* Walnut board external IRQs */
64 1.1 scw #define EXT_IRQ_FPGA UIC_E0IS /* IRQ 25 */
65 1.1 scw #define EXT_IRQ_SMI UIC_E1IS /* IRQ 26 */
66 1.1 scw #define EXT_IRQ_UNUSED UIC_E2IS /* IRQ 27 */
67 1.1 scw #define EXT_IRQ_PCI_SLOT3 UIC_E3IS /* IRQ 28 */
68 1.1 scw #define EXT_IRQ_PCI_SLOT2 UIC_E4IS /* IRQ 29 */
69 1.1 scw #define EXT_IRQ_PCI_SLOT1 UIC_E5IS /* IRQ 30 */
70 1.1 scw #define EXT_IRQ_PCI_SLOT0 UIC_E6IS /* IRQ 31 */
71 1.1 scw
72 1.1 scw #define EXT_IRQ_CASCADE EXT_IRQ_FPGA
73 1.1 scw #define EXT_IRQ_EXPANSION EXT_IRQ_FPGA
74 1.1 scw #define EXT_IRQ_IR EXT_IRQ_FPGA
75 1.1 scw #define EXT_IRQ_KEYBOARD EXT_IRQ_FPGA
76 1.1 scw #define EXT_IRQ_MOUSE EXT_IRQ_FPGA
77 1.1 scw
78 1.1 scw /*-----------------------------------------------------------------------------+
79 1.1 scw | Defines for the RTC/NVRAM.
80 1.1 scw +-----------------------------------------------------------------------------*/
81 1.1 scw #define NVRAM_BASE 0xf0000000
82 1.1 scw #if 0
83 1.1 scw #define RTC_CONTROL 0x1ff8
84 1.1 scw #define RTC_SECONDS 0x1ff9
85 1.1 scw #define RTC_MINUTES 0x1ffa
86 1.1 scw #define RTC_HOURS 0x1ffb
87 1.1 scw #define RTC_DAY 0x1ffc
88 1.1 scw #define RTC_DATE 0x1ffd
89 1.1 scw #define RTC_MONTH 0x1ffe
90 1.1 scw #define RTC_YEAR 0x1fff
91 1.1 scw #endif
92 1.1 scw
93 1.1 scw /*-----------------------------------------------------------------------------+
94 1.1 scw | Defines for the Keyboard/Mouse controller.
95 1.1 scw +-----------------------------------------------------------------------------*/
96 1.1 scw #define KEY_MOUSE_BASE 0xf0100000
97 1.1 scw #define KEY_MOUSE_DATA 0x0
98 1.1 scw #define KEY_MOUSE_CMD 0x1 /* write only */
99 1.1 scw #define KEY_MOUSE_STAT 0x1 /* read only */
100 1.1 scw
101 1.1 scw /*-----------------------------------------------------------------------------+
102 1.1 scw | Defines for FPGA regs.
103 1.1 scw +-----------------------------------------------------------------------------*/
104 1.1 scw #define FPGA_BASE 0xf0300000
105 1.1 scw #define FPGA_INT_STATUS 0x00 /* Int status - read only */
106 1.1 scw #define FPGA_SW_SMI 0x10 /* SW_SMI_N present */
107 1.1 scw #define FPGA_EXT_IRQ 0x08 /* EXT_IRQ present */
108 1.1 scw #define FPGA_IRQ_IRDA 0x04 /* IRQ_IRDA present */
109 1.1 scw #define FPGA_IRQ_KYBD 0x02 /* IRQ_KYBD present */
110 1.1 scw #define FPGA_IRQ_MOUSE 0x01 /* IRQ_MOUSE present */
111 1.1 scw #define FPGA_INT_ENABLE 0x01 /* Int enable */
112 1.1 scw /* FPGA_SW_SMI */ /* enable SW_SMI_N */
113 1.1 scw /* FPGA_EXT_IRQ */ /* enable FPGA_EXT_IRQ */
114 1.1 scw /* FPGA_IRQ_IRDA */ /* enable FPGA_IRQ_IRDA */
115 1.1 scw /* FPGA_IRQ_KYBD */ /* enable FPGA_IRQ_KYBD */
116 1.1 scw /* FPGA_IRQ_MOUSE */ /* enable FPGA_IRQ_MOUSE */
117 1.1 scw #define FPGA_INT_POL 0x02 /* Int polarity */
118 1.1 scw /* FPGA_SW_SMI */ /* SW_SMI_N active high/rising */
119 1.1 scw /* FPGA_EXT_IRQ */ /* FPGA_EXT_IRQ active high/rising */
120 1.1 scw /* FPGA_IRQ_IRDA */ /* FPGA_IRQ_IRDA active high/rising */
121 1.1 scw /* FPGA_IRQ_KYBD */ /* FPGA_IRQ_KYBD active high/rising */
122 1.1 scw /* FPGA_IRQ_MOUSE */ /* FPGA_IRQ_MOUSE active high/rising */
123 1.1 scw #define FPGA_INT_TRIG 0x03 /* Int type */
124 1.1 scw /* FPGA_SW_SMI */ /* SW_SMI_N level */
125 1.1 scw /* FPGA_EXT_IRQ */ /* FPGA_EXT_IRQ level */
126 1.1 scw /* FPGA_IRQ_IRDA */ /* FPGA_IRQ_IRDA level */
127 1.1 scw /* FPGA_IRQ_KYBD */ /* FPGA_IRQ_KYBD level */
128 1.1 scw /* FPGA_IRQ_MOUSE */ /* FPGA_IRQ_MOUSE level */
129 1.1 scw #define FPGA_BRDC 0x04 /* Board controls */
130 1.1 scw #define FPGA_BRDC_INT 0x80 /* IRQ_MOUSE is separate */
131 1.1 scw #define FPGA_BRDC_TC3 0x10 /* DMA_EOT/TC3 is set to TC */
132 1.1 scw #define FPGA_BRDC_TC2 0x08 /* DMA_EOT/TC2 is set to TC */
133 1.1 scw #define FPGA_BRDC_DIS_EI 0x04 /* disable expansion interface */
134 1.1 scw #define FPGA_BRDC_EN_INV 0x02 /* enable invalid address checking */
135 1.1 scw #define FPGA_BRDC_UART_CR 0x01 /* UART1 is set to CTS/RTS */
136 1.1 scw #define FPGA_BRDS1 0x05 /* Board status - read only */
137 1.1 scw #define FPGA_BRDS1_CLK 0x04 /* 405 SDRAM CLK disabled, MPC972 used */
138 1.1 scw #define FPGA_BRDS1_FLASH_EN 0x02 /* On board FLASH disabled */
139 1.1 scw #define FPGA_BRDS1_FLASH_SEL 0x01 /* FLASH at low addr */
140 1.1 scw #define FPGA_BRDS2 0x06 /* Board status - read only */
141 1.1 scw #define SW_CLK_SRC1 0x40 /* if async pci, ext or int clk */
142 1.1 scw #define SW_SEL1 0x20 /* use test clock for master clock */
143 1.1 scw #define SW_SEL0 0x10 /* use 405GP arbiter */
144 1.1 scw #define FSEL_B 0x0c /* use for mask */
145 1.2 lukem #define FSEL_SDRAM100 0x01 /* select 100 MHz SDRAM */
146 1.2 lukem #define FSEL_SDRAM66 0x03 /* select 66 MHz SDRAM */
147 1.1 scw #define FSEL_A 0x03 /* use for mask */
148 1.2 lukem #define FSEL_PCI_66 0x01 /* select 66 MHz async int PCI */
149 1.2 lukem #define FSEL_PCI_33 0x03 /* select 33 MHz async int PCI */
150 1.1 scw #define FPGA_SPARE1 0x0e /* Spare inputs - read only */
151 1.1 scw #define FPGA_SPARE2 0x0f /* Spare outputs */
152 1.1 scw #define FPGA_SIZE FPGA_SPARE2
153 1.1 scw
154 1.1 scw #endif /* _WALNUT_H_ */
155