pmppc.h Source File

Back to the index.

pmppc.h
Go to the documentation of this file.
1 /* gxemul: $Id: pmppc.h,v 1.2 2005-03-05 12:34:03 debug Exp $ */
2 /* $NetBSD: pmppc.h,v 1.2 2002/07/05 18:45:20 matt Exp $ */
3 
4 #ifndef PMPPC_H
5 #define PMPPC_H
6 
7 /*
8  * Copyright (c) 2002 The NetBSD Foundation, Inc.
9  * All rights reserved.
10  *
11  * This code is derived from software contributed to The NetBSD Foundation
12  * by Lennart Augustsson (lennart@augustsson.net) at Sandburst Corp.
13  *
14  * Redistribution and use in source and binary forms, with or without
15  * modification, are permitted provided that the following conditions
16  * are met:
17  * 1. Redistributions of source code must retain the above copyright
18  * notice, this list of conditions and the following disclaimer.
19  * 2. Redistributions in binary form must reproduce the above copyright
20  * notice, this list of conditions and the following disclaimer in the
21  * documentation and/or other materials provided with the distribution.
22  * 3. All advertising materials mentioning features or use of this software
23  * must display the following acknowledgement:
24  * This product includes software developed by the NetBSD
25  * Foundation, Inc. and its contributors.
26  * 4. Neither the name of The NetBSD Foundation nor the names of its
27  * contributors may be used to endorse or promote products derived
28  * from this software without specific prior written permission.
29  *
30  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
31  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
32  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
34  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40  * POSSIBILITY OF SUCH DAMAGE.
41  */
42 
43 /* SDRAM */
44 #define PMPPC_SDRAM_BASE 0x00000000
45 
46 /* Flash */
47 #define PMPPC_FLASH_BASE 0x70000000
48 
49 #define PMPPC_IO_START 0x7fe00000
50 
51 /* CS8900A ethernet */
52 #define PMPPC_CS_IO_BASE 0x7fe00000
53 #define PMPPC_CS_IO 0x7fe00c00
54 #define PMPPC_CS_MEM 0x7fe04000
55 
56 /* time-of-day clock */
57 #define PMPPC_RTC 0x7ff00000
58 #define PMPPC_RTC_SIZE 0x00002000
59 
60 /* board config regs */
61 #define PMPPC_CONFIG0 0x7ff40000
62 #define PMPPC_CONFIG1 0x7ff40001
63 #define PMPPC_LEDS 0x7ff40002
64 #define PMPPC_RESET 0x7ff40003
65 #define PMPPC_RESET_SEQ_STEP1 0xac
66 #define PMPPC_RESET_SEQ_STEP2 0x1d
67 #define PMPPC_INTR 0x7ff40004
68 
69 /* ROM */
70 #define PMPPC_ROM_BASE 0x7ff80000
71 
72 void setleds(int leds);
73 
74 /* Interrupts */
75 #define PMPPC_I_BPMC_INTA CPC_IB_EXT0 /* PCI INTA */
76 #define PMPPC_I_BPMC_INTB CPC_IB_EXT1 /* PCI INTB */
77 #define PMPPC_I_BPMC_INTC CPC_IB_EXT2 /* PCI INTC */
78 #define PMPPC_I_BPMC_INTD CPC_IB_EXT3 /* PCI INTD */
79 #define PMPPC_I_ETH_INT CPC_IB_EXT4 /* ethernet */
80 #define PMPPC_I_RTC_INT CPC_IB_EXT5 /* rtc */
81 
82 
83 /*
84  * The variables below are extracted from the config register located
85  * at PMPPC_CONFIG.
86  */
87 struct a_config {
89 #define A_BOOT_ROM 0
90 #define A_BOOT_FLASH 1
91  int a_has_ecc;
92  uint a_mem_size; /* in bytes */
93  uint a_l2_cache;
94 #define A_CACHE_PARITY 0
95 #define A_CACHE_NO_PARITY 1
96 #define A_CACHE_NONE 3
97  uint a_bus_freq; /* in hz */
99  int a_has_eth;
101  uint a_flash_size; /* in bytes */
102  uint a_flash_width; /* in bits */
103 };
104 
105 extern struct a_config a_config;
106 
107 #endif /* PMPPC_H */
a_config::a_flash_width
uint a_flash_width
Definition: pmppc.h:102
a_config::a_mem_size
uint a_mem_size
Definition: pmppc.h:92
a_config::a_boot_device
int a_boot_device
Definition: pmppc.h:88
a_config::a_l2_cache
uint a_l2_cache
Definition: pmppc.h:93
a_config::a_has_rtc
int a_has_rtc
Definition: pmppc.h:100
a_config::a_is_monarch
int a_is_monarch
Definition: pmppc.h:98
a_config::a_has_ecc
int a_has_ecc
Definition: pmppc.h:91
setleds
void setleds(int leds)
a_config
Definition: pmppc.h:87
a_config::a_bus_freq
uint a_bus_freq
Definition: pmppc.h:97
a_config::a_flash_size
uint a_flash_size
Definition: pmppc.h:101
a_config::a_has_eth
int a_has_eth
Definition: pmppc.h:99

Generated on Tue Mar 24 2020 14:04:48 for GXemul by doxygen 1.8.17