iq80321reg.h revision 1.1.6.2 1 1.1.6.2 jdolecek /* $NetBSD: iq80321reg.h,v 1.1.6.2 2002/06/23 17:35:43 jdolecek Exp $ */
2 1.1.6.2 jdolecek
3 1.1.6.2 jdolecek /*
4 1.1.6.2 jdolecek * Copyright (c) 2002 Wasabi Systems, Inc.
5 1.1.6.2 jdolecek * All rights reserved.
6 1.1.6.2 jdolecek *
7 1.1.6.2 jdolecek * Written by Jason R. Thorpe for Wasabi Systems, Inc.
8 1.1.6.2 jdolecek *
9 1.1.6.2 jdolecek * Redistribution and use in source and binary forms, with or without
10 1.1.6.2 jdolecek * modification, are permitted provided that the following conditions
11 1.1.6.2 jdolecek * are met:
12 1.1.6.2 jdolecek * 1. Redistributions of source code must retain the above copyright
13 1.1.6.2 jdolecek * notice, this list of conditions and the following disclaimer.
14 1.1.6.2 jdolecek * 2. Redistributions in binary form must reproduce the above copyright
15 1.1.6.2 jdolecek * notice, this list of conditions and the following disclaimer in the
16 1.1.6.2 jdolecek * documentation and/or other materials provided with the distribution.
17 1.1.6.2 jdolecek * 3. All advertising materials mentioning features or use of this software
18 1.1.6.2 jdolecek * must display the following acknowledgement:
19 1.1.6.2 jdolecek * This product includes software developed for the NetBSD Project by
20 1.1.6.2 jdolecek * Wasabi Systems, Inc.
21 1.1.6.2 jdolecek * 4. The name of Wasabi Systems, Inc. may not be used to endorse
22 1.1.6.2 jdolecek * or promote products derived from this software without specific prior
23 1.1.6.2 jdolecek * written permission.
24 1.1.6.2 jdolecek *
25 1.1.6.2 jdolecek * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
26 1.1.6.2 jdolecek * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27 1.1.6.2 jdolecek * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 1.1.6.2 jdolecek * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC
29 1.1.6.2 jdolecek * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 1.1.6.2 jdolecek * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 1.1.6.2 jdolecek * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 1.1.6.2 jdolecek * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 1.1.6.2 jdolecek * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 1.1.6.2 jdolecek * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 1.1.6.2 jdolecek * POSSIBILITY OF SUCH DAMAGE.
36 1.1.6.2 jdolecek */
37 1.1.6.2 jdolecek
38 1.1.6.2 jdolecek #ifndef _IQ80321REG_H_
39 1.1.6.2 jdolecek #define _IQ80321REG_H_
40 1.1.6.2 jdolecek
41 1.1.6.2 jdolecek /*
42 1.1.6.2 jdolecek * Memory map and register definitions for the Intel IQ80321
43 1.1.6.2 jdolecek * Evaluation Board.
44 1.1.6.2 jdolecek */
45 1.1.6.2 jdolecek
46 1.1.6.2 jdolecek /*
47 1.1.6.2 jdolecek * The memory map of the IQ80321 looks like so:
48 1.1.6.2 jdolecek *
49 1.1.6.2 jdolecek * ------------------------------
50 1.1.6.2 jdolecek * Intel 80321 IOP Reserved
51 1.1.6.2 jdolecek * FFFF E900 ------------------------------
52 1.1.6.2 jdolecek * Peripheral Memory Mapped
53 1.1.6.2 jdolecek * Registers
54 1.1.6.2 jdolecek * FFFF E000 ------------------------------
55 1.1.6.2 jdolecek * On-board devices
56 1.1.6.2 jdolecek * FE80 0000 ------------------------------
57 1.1.6.2 jdolecek * SDRAM
58 1.1.6.2 jdolecek * A000 0000 ------------------------------
59 1.1.6.2 jdolecek * Reserved
60 1.1.6.2 jdolecek * 9100 0000 ------------------------------
61 1.1.6.2 jdolecek * Flash
62 1.1.6.2 jdolecek * 9080 0000 ------------------------------
63 1.1.6.2 jdolecek * Reserved
64 1.1.6.2 jdolecek * 9002 0000 ------------------------------
65 1.1.6.2 jdolecek * ATU Outbound Transaction
66 1.1.6.2 jdolecek * Windows
67 1.1.6.2 jdolecek * 8000 0000 ------------------------------
68 1.1.6.2 jdolecek * ATU Outbound Direct
69 1.1.6.2 jdolecek * Addressing Windows
70 1.1.6.2 jdolecek * 0000 1000 ------------------------------
71 1.1.6.2 jdolecek * Initialization Boot Code
72 1.1.6.2 jdolecek * from Flash
73 1.1.6.2 jdolecek * 0000 0000 ------------------------------
74 1.1.6.2 jdolecek */
75 1.1.6.2 jdolecek
76 1.1.6.2 jdolecek /*
77 1.1.6.2 jdolecek * We allocate a page table for VA 0xfe400000 (4MB) and map the
78 1.1.6.2 jdolecek * PCI I/O space (64K) and i80321 memory-mapped registers (4K) there.
79 1.1.6.2 jdolecek */
80 1.1.6.2 jdolecek #define IQ80321_IOPXS_VBASE 0xfe400000UL
81 1.1.6.2 jdolecek #define IQ80321_IOW_VBASE IQ80321_IOPXS_VBASE
82 1.1.6.2 jdolecek #define IQ80321_80321_VBASE (IQ80321_IOW_VBASE + \
83 1.1.6.2 jdolecek VERDE_OUT_XLATE_IO_WIN_SIZE)
84 1.1.6.2 jdolecek
85 1.1.6.2 jdolecek /*
86 1.1.6.2 jdolecek * The IQ80321 on-board devices are mapped VA==PA during bootstrap.
87 1.1.6.2 jdolecek * Conveniently, the size of the on-board register space is 1 section
88 1.1.6.2 jdolecek * mapping.
89 1.1.6.2 jdolecek */
90 1.1.6.2 jdolecek #define IQ80321_OBIO_BASE 0xfe800000UL
91 1.1.6.2 jdolecek #define IQ80321_OBIO_SIZE 0x00100000UL /* 1MB */
92 1.1.6.2 jdolecek
93 1.1.6.2 jdolecek #define IQ80321_UART1 0xfe800000UL /* TI 16550 */
94 1.1.6.2 jdolecek
95 1.1.6.2 jdolecek #define IQ80321_7SEG_MSB 0xfe840000UL
96 1.1.6.2 jdolecek #define IQ80321_7SEG_LSB 0xfe850000UL
97 1.1.6.2 jdolecek /*
98 1.1.6.2 jdolecek * The 7-segment display looks like so:
99 1.1.6.2 jdolecek *
100 1.1.6.2 jdolecek * A
101 1.1.6.2 jdolecek * +-----+
102 1.1.6.2 jdolecek * | |
103 1.1.6.2 jdolecek * F | | B
104 1.1.6.2 jdolecek * | G |
105 1.1.6.2 jdolecek * +-----+
106 1.1.6.2 jdolecek * | |
107 1.1.6.2 jdolecek * E | | C
108 1.1.6.2 jdolecek * | D |
109 1.1.6.2 jdolecek * +-----+ o DP
110 1.1.6.2 jdolecek *
111 1.1.6.2 jdolecek * Setting a bit clears the corresponding segment on the
112 1.1.6.2 jdolecek * display.
113 1.1.6.2 jdolecek */
114 1.1.6.2 jdolecek #define SEG_A (1 << 7)
115 1.1.6.2 jdolecek #define SEG_B (1 << 6)
116 1.1.6.2 jdolecek #define SEG_C (1 << 5)
117 1.1.6.2 jdolecek #define SEG_D (1 << 4)
118 1.1.6.2 jdolecek #define SEG_E (1 << 3)
119 1.1.6.2 jdolecek #define SEG_F (1 << 2)
120 1.1.6.2 jdolecek #define SEG_G (1 << 1)
121 1.1.6.2 jdolecek #define SEG_DP (1 << 0)
122 1.1.6.2 jdolecek
123 1.1.6.2 jdolecek #define IQ80321_ROT_SWITCH 0xfe8d0000UL
124 1.1.6.2 jdolecek
125 1.1.6.2 jdolecek #define IQ80321_BATTERY_STAT 0xfe8f0000UL
126 1.1.6.2 jdolecek #define BATTERY_STAT_PRES (1U << 0)
127 1.1.6.2 jdolecek #define BATTERY_STAT_CHRG (1U << 1)
128 1.1.6.2 jdolecek #define BATTERY_STAT_DISCHRG (1U << 2)
129 1.1.6.2 jdolecek
130 1.1.6.2 jdolecek #endif /* _IQ80321REG_H_ */
131