diff options
Diffstat (limited to 'arch/arm/mach-tegra/include/mach')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/hardware.h | 14 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/io.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/iomap.h | 9 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/pci.h | 38 |
4 files changed, 63 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/include/mach/hardware.h b/arch/arm/mach-tegra/include/mach/hardware.h index e15d6dfc10c9..698ad4918870 100644 --- a/arch/arm/mach-tegra/include/mach/hardware.h +++ b/arch/arm/mach-tegra/include/mach/hardware.h @@ -22,9 +22,17 @@ #ifndef __MACH_TEGRA_HARDWARE_H #define __MACH_TEGRA_HARDWARE_H -#define PCIBIOS_MIN_IO 0x1000 -#define PCIBIOS_MIN_MEM 0 -#define pcibios_assign_all_busses() 1 +#if defined(CONFIG_ARCH_TEGRA_2x_SOC) +#define PCIBIOS_MIN_IO 0x1000 +#define PCIBIOS_MIN_MEM 0 +#define pcibios_assign_all_busses() 1 + +#else + +#define PCIBIOS_MIN_IO 0x03000000ul +#define PCIBIOS_MIN_MEM 0x10000000ul +#define pcibios_assign_all_busses() 0 +#endif enum tegra_chipid { TEGRA_CHIPID_UNKNOWN = 0, diff --git a/arch/arm/mach-tegra/include/mach/io.h b/arch/arm/mach-tegra/include/mach/io.h index ac143b774ad4..c2f97f240bb6 100644 --- a/arch/arm/mach-tegra/include/mach/io.h +++ b/arch/arm/mach-tegra/include/mach/io.h @@ -21,7 +21,11 @@ #ifndef __MACH_TEGRA_IO_H #define __MACH_TEGRA_IO_H +#ifdef CONFIG_ARCH_TEGRA_2x_SOC #define IO_SPACE_LIMIT 0xffff +#else +#define IO_SPACE_LIMIT 0xffffffff +#endif /* On TEGRA, many peripherals are very closely packed in * two 256MB io windows (that actually only use about 64KB @@ -99,7 +103,7 @@ void tegra_iounmap(volatile void __iomem *addr); #define IO_ADDRESS(n) ((void __iomem *) IO_TO_VIRT(n)) -#ifdef CONFIG_TEGRA_PCI +#if (defined(CONFIG_TEGRA_PCI) && defined(CONFIG_ARCH_TEGRA_2x_SOC)) extern void __iomem *tegra_pcie_io_base; static inline void __iomem *__io(unsigned long addr) diff --git a/arch/arm/mach-tegra/include/mach/iomap.h b/arch/arm/mach-tegra/include/mach/iomap.h index e943f9b4b0e7..253cb8e08a11 100644 --- a/arch/arm/mach-tegra/include/mach/iomap.h +++ b/arch/arm/mach-tegra/include/mach/iomap.h @@ -46,6 +46,9 @@ #define TEGRA_ARM_PERIF_BASE 0x50040000 #define TEGRA_ARM_PERIF_SIZE SZ_8K +#define TEGRA_MSELECT_BASE 0x50042000 +#define TEGRA_MSELECT_SIZE 80 + #define TEGRA_ARM_PL310_BASE 0x50043000 #define TEGRA_ARM_PL310_SIZE SZ_4K @@ -245,6 +248,9 @@ #define TEGRA_I2S2_BASE 0x70002A00 #define TEGRA_I2S2_SIZE SZ_256 +#define TEGRA_PCIE_BASE 0x80000000 +#define TEGRA_PCIE_SIZE SZ_1G + #elif defined(CONFIG_ARCH_TEGRA_3x_SOC) #define TEGRA_TSENSOR_BASE 0x70014000 @@ -298,6 +304,9 @@ #define TEGRA_SPDIF_BASE 0x70080B00 #define TEGRA_SPDIF_SIZE SZ_256 +#define TEGRA_PCIE_BASE 0x00000000 +#define TEGRA_PCIE_SIZE SZ_1G + #endif #define TEGRA_UARTA_BASE 0x70006000 diff --git a/arch/arm/mach-tegra/include/mach/pci.h b/arch/arm/mach-tegra/include/mach/pci.h new file mode 100644 index 000000000000..388ad320775e --- /dev/null +++ b/arch/arm/mach-tegra/include/mach/pci.h @@ -0,0 +1,38 @@ +/* + * arch/arm/mach-tegra/include/mach/pci.h + * + * Header file containing constants for the tegra PCIe driver. + * + * Copyright (c) 2011, NVIDIA Corporation. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __MACH_PCI_H +#define __MACH_PCI_H + +#include <linux/pci.h> + +#ifdef CONFIG_ARCH_TEGRA_2x_SOC + #define MAX_PCIE_SUPPORTED_PORTS 2 +#else + #define MAX_PCIE_SUPPORTED_PORTS 3 +#endif + +struct tegra_pci_platform_data { + int port_status[MAX_PCIE_SUPPORTED_PORTS]; + bool use_dock_detect; + int gpio; +}; +#endif |