blob: dee069c3865d1c5b3ee961fdc15beab0b293ff50 [file] [log] [blame]
Paul Mundt5283ecb2006-09-27 15:59:17 +09001/*
2 * Low-Level PCI Support for SH7780 targets
3 *
4 * Dustin McIntire (dustin@sensoria.com) (c) 2001
5 * Paul Mundt (lethal@linux-sh.org) (c) 2003
6 *
7 * May be copied or modified under the terms of the GNU General Public
8 * License. See linux/COPYING for more information.
9 *
10 */
11
12#ifndef _PCI_SH7780_H_
13#define _PCI_SH7780_H_
14
Paul Mundta45635d2010-01-29 22:19:04 +090015#define PCI_VENDOR_ID_RENESAS 0x1912
16#define PCI_DEVICE_ID_RENESAS_SH7781 0x0001
17#define PCI_DEVICE_ID_RENESAS_SH7780 0x0002
18#define PCI_DEVICE_ID_RENESAS_SH7763 0x0004
19#define PCI_DEVICE_ID_RENESAS_SH7785 0x0007
Paul Mundt5283ecb2006-09-27 15:59:17 +090020
21/* SH7780 Control Registers */
Paul Mundt4e7b7fd2009-04-17 15:05:19 +090022#define PCIECR 0xFE000008
23#define PCIECR_ENBL 0x01
Paul Mundt5283ecb2006-09-27 15:59:17 +090024
25/* SH7780 Specific Values */
26#define SH7780_PCI_CONFIG_BASE 0xFD000000 /* Config space base addr */
27#define SH7780_PCI_CONFIG_SIZE 0x01000000 /* Config space size */
Paul Mundt959f85f2006-09-27 16:43:28 +090028
Paul Mundt5283ecb2006-09-27 15:59:17 +090029#define SH7780_PCI_MEMORY_BASE 0xFD000000 /* Memory space base addr */
30#define SH7780_PCI_MEM_SIZE 0x01000000 /* Size of Memory window */
Paul Mundt959f85f2006-09-27 16:43:28 +090031
Nobuhiro Iwamatsu78ffeec2007-11-30 12:35:24 +090032#define SH7780_PCI_IO_BASE 0xFE200000 /* IO space base address */
Paul Mundt5283ecb2006-09-27 15:59:17 +090033#define SH7780_PCI_IO_SIZE 0x00400000 /* Size of IO window */
Paul Mundt5283ecb2006-09-27 15:59:17 +090034
35#define SH7780_PCIREG_BASE 0xFE040000 /* PCI regs base address */
Paul Mundt5283ecb2006-09-27 15:59:17 +090036
37/* SH7780 PCI Config Registers */
Nobuhiro Iwamatsub7576232007-03-29 00:07:35 +090038#define SH7780_PCIIR 0x114 /* PCI Interrupt Register */
39#define SH7780_PCIIMR 0x118 /* PCI Interrupt Mask Register */
40#define SH7780_PCIAIR 0x11C /* Error Address Register */
41#define SH7780_PCICIR 0x120 /* Error Command/Data Register */
42#define SH7780_PCIAINT 0x130 /* Arbiter Interrupt Register */
43#define SH7780_PCIAINTM 0x134 /* Arbiter Int. Mask Register */
44#define SH7780_PCIBMIR 0x138 /* Error Bus Master Register */
45#define SH7780_PCIPAR 0x1C0 /* PIO Address Register */
46#define SH7780_PCIPINT 0x1CC /* Power Mgmnt Int. Register */
47#define SH7780_PCIPINTM 0x1D0 /* Power Mgmnt Mask Register */
48
Paul Mundt959f85f2006-09-27 16:43:28 +090049#define SH7780_PCIMBR0 0x1E0
50#define SH7780_PCIMBMR0 0x1E4
Paul Mundta45635d2010-01-29 22:19:04 +090051#define SH7780_PCIMBR1 0x1E8
52#define SH7780_PCIMBMR1 0x1EC
Paul Mundt959f85f2006-09-27 16:43:28 +090053#define SH7780_PCIMBR2 0x1F0
54#define SH7780_PCIMBMR2 0x1F4
55#define SH7780_PCIIOBR 0x1F8
56#define SH7780_PCIIOBMR 0x1FC
Paul Mundt5283ecb2006-09-27 15:59:17 +090057#define SH7780_PCICSCR0 0x210 /* Cache Snoop1 Cnt. Register */
58#define SH7780_PCICSCR1 0x214 /* Cache Snoop2 Cnt. Register */
59#define SH7780_PCICSAR0 0x218 /* Cache Snoop1 Addr. Register */
60#define SH7780_PCICSAR1 0x21C /* Cache Snoop2 Addr. Register */
Paul Mundt5283ecb2006-09-27 15:59:17 +090061
Paul Mundt5283ecb2006-09-27 15:59:17 +090062#endif /* _PCI_SH7780_H_ */