gracklevar.h revision 139825
1/*-
2 * Copyright 2003 by Peter Grehan. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 *    notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 * 3. The name of the author may not be used to endorse or promote products
13 *    derived from this software without specific prior written permission.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
22 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/powerpc/powermac/gracklevar.h 139825 2005-01-07 02:29:27Z imp $
28 */
29
30#ifndef	_POWERPC_POWERMAC_GRACKLEVAR_H_
31#define	_POWERPC_POWERMAC_GRACKLEVAR_H_
32
33struct grackle_range {
34	u_int32_t	pci_hi;
35	u_int32_t	pci_mid;
36	u_int32_t	pci_lo;
37	u_int32_t	pci_iospace;
38	u_int32_t	size_hi;
39	u_int32_t	size_lo;
40};
41
42struct grackle_softc {
43	device_t		sc_dev;
44	phandle_t		sc_node;
45	vm_offset_t		sc_addr;
46	vm_offset_t		sc_data;
47	int			sc_bus;
48	struct			grackle_range sc_range[6];
49	int			sc_nrange;
50	int			sc_iostart;
51	struct			rman sc_io_rman;
52	struct			rman sc_mem_rman;
53	bus_space_tag_t		sc_memt;
54	bus_dma_tag_t		sc_dmat;
55};
56
57/*
58 * Apple uses address map B for the MPC106
59 */
60#define GRACKLE_ADDR	0xFEC00000
61#define GRACKLE_DATA	0xFEE00000
62
63/*
64 * The high bit of the config word is 'Enable'. This should always be
65 * set.
66 */
67#define GRACKLE_CFG_ENABLE	0x80000000
68
69#endif  /* _POWERPC_POWERMAC_GRACKLEVAR_H_ */
70