• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/mips/include/asm/mach-loongson/
1/*
2 * Copyright (c) 2008 Zhang Le <r0bertz@gentoo.org>
3 * Copyright (c) 2009 Wu Zhangjin <wuzhangjin@gmail.com>
4 *
5 * This program is free software; you can redistribute it
6 * and/or modify it under the terms of the GNU General
7 * Public License as published by the Free Software
8 * Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12#ifndef __ASM_MACH_LOONGSON_PCI_H_
13#define __ASM_MACH_LOONGSON_PCI_H_
14
15extern struct pci_ops loongson_pci_ops;
16
17/* this is an offset from mips_io_port_base */
18#define LOONGSON_PCI_IO_START	0x00004000UL
19
20#ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG
21
22/*
23 * we use address window2 to map cpu address space to pci space
24 * window2: cpu [1G, 2G] -> pci [1G, 2G]
25 * why not use window 0 & 1? because they are used by cpu when booting.
26 * window0: cpu [0, 256M] -> ddr [0, 256M]
27 * window1: cpu [256M, 512M] -> pci [256M, 512M]
28 */
29
30/* the smallest LOONGSON_CPU_MEM_SRC can be 512M */
31#define LOONGSON_CPU_MEM_SRC	0x40000000ul		/* 1G */
32#define LOONGSON_PCI_MEM_DST	LOONGSON_CPU_MEM_SRC
33
34#define LOONGSON_PCI_MEM_START	LOONGSON_PCI_MEM_DST
35#define LOONGSON_PCI_MEM_END	(0x80000000ul-1)	/* 2G */
36
37#define MMAP_CPUTOPCI_SIZE	(LOONGSON_PCI_MEM_END - \
38					LOONGSON_PCI_MEM_START + 1)
39
40#else	/* loongson2f/32bit & loongson2e */
41
42/* this pci memory space is mapped by pcimap in pci.c */
43#define LOONGSON_PCI_MEM_START	LOONGSON_PCILO1_BASE
44#define LOONGSON_PCI_MEM_END	(LOONGSON_PCILO1_BASE + 0x04000000 * 2)
45/* this is an offset from mips_io_port_base */
46#define LOONGSON_PCI_IO_START	0x00004000UL
47
48#endif	/* !CONFIG_CPU_SUPPORTS_ADDRWINCFG */
49
50#endif /* !__ASM_MACH_LOONGSON_PCI_H_ */
51