1292700Sadrian/*-
2292700Sadrian * Copyright (c) 2015 Stanislav Galabov.
3292700Sadrian * All rights reserved.
4292700Sadrian *
5292700Sadrian * Redistribution and use in source and binary forms, with or without
6292700Sadrian * modification, are permitted provided that the following conditions
7292700Sadrian * are met:
8292700Sadrian * 1. Redistributions of source code must retain the above copyright
9292700Sadrian *    notice, this list of conditions and the following disclaimer.
10292700Sadrian * 2. Redistributions in binary form must reproduce the above copyright
11292700Sadrian *    notice, this list of conditions and the following disclaimer in the
12292700Sadrian *    documentation and/or other materials provided with the distribution.
13292700Sadrian *
14292700Sadrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15292700Sadrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16292700Sadrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17292700Sadrian * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18292700Sadrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19292700Sadrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20292700Sadrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21292700Sadrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22292700Sadrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23292700Sadrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24292700Sadrian * SUCH DAMAGE.
25292700Sadrian *
26292700Sadrian * $FreeBSD: releng/11.0/sys/mips/rt305x/rt305x_pcireg.h 292700 2015-12-24 18:33:08Z adrian $
27292700Sadrian */
28292700Sadrian#ifndef __RT305X_PCIREG_H__
29292700Sadrian#define __RT305X_PCIREG_H__
30292700Sadrian
31292700Sadrian#define RT305X_PCI_NIRQS	1
32292700Sadrian#define RT305X_PCI_BASESLOT	0
33292700Sadrian
34292700Sadrian#define RT305X_PCI_PCICFG		0x0000
35292700Sadrian#define RT305X_PCI_PCIINT		0x0008
36292700Sadrian#define RT305X_PCI_PCIENA		0x000C
37292700Sadrian#define RT305X_PCI_CFGADDR		0x0020
38292700Sadrian#define RT305X_PCI_CFGDATA		0x0024
39292700Sadrian#define RT305X_PCI_MEMBASE		0x0028
40292700Sadrian#define RT305X_PCI_IOBASE		0x002C
41292700Sadrian#define RT305X_PCI_PHY0_CFG		0x0090
42292700Sadrian
43292700Sadrian#define RT305X_PCI_PCIE0_BAR0SETUP	0x2010
44292700Sadrian#define RT305X_PCI_PCIE0_BAR1SETUP	0x2014
45292700Sadrian#define RT305X_PCI_PCIE0_IMBASEBAR0	0x2018
46292700Sadrian#define RT305X_PCI_PCIE0_ID		0x2030
47292700Sadrian#define RT305X_PCI_PCIE0_CLASS		0x2034
48292700Sadrian#define RT305X_PCI_PCIE0_SUBID		0x2038
49292700Sadrian#define RT305X_PCI_PCIE0_STATUS		0x2050
50292700Sadrian#define RT305X_PCI_PCIE0_DLECR		0x2060
51292700Sadrian#define RT305X_PCI_PCIE0_ECRC		0x2064
52292700Sadrian
53292700Sadrian#define RT305X_PCIE0_IRQ	20
54292700Sadrian#define RT305X_PCIE1_IRQ	21
55292700Sadrian#define RT305X_PCIE2_IRQ	22
56292700Sadrian
57292700Sadrian#define RT305X_PCI_INTR_PIN	2
58292700Sadrian
59292700Sadrian#define PCI_MIN_IO_ALLOC	4
60292700Sadrian#define PCI_MIN_MEM_ALLOC	16
61292700Sadrian#define BITS_PER_UINT32		(NBBY * sizeof(uint32_t))
62292700Sadrian
63292700Sadrian#define RT_WRITE32(sc, off, val) \
64292700Sadrian	bus_space_write_4((sc)->sc_bst, (sc)->sc_bsh, (off), (val))
65292700Sadrian#define RT_WRITE16(sc, off, val) \
66292700Sadrian	bus_space_write_2((sc)->sc_bst, (sc)->sc_bsh, (off), (val))
67292700Sadrian#define RT_WRITE8(sc, off, val) \
68292700Sadrian	bus_space_write_1((sc)->sc_bst, (sc)->sc_bsh, (off), (val))
69292700Sadrian#define RT_READ32(sc, off) \
70292700Sadrian	bus_space_read_4((sc)->sc_bst, (sc)->sc_bsh, (off))
71292700Sadrian#define RT_READ16(sc, off) \
72292700Sadrian	bus_space_read_2((sc)->sc_bst, (sc)->sc_bsh, (off))
73292700Sadrian#define RT_READ8(sc, off) \
74292700Sadrian	bus_space_read_1((sc)->sc_bst, (sc)->sc_bsh, (off))
75292700Sadrian
76292700Sadrian#endif /* __RT305X_PCIREG_H__ */
77