2010-01-22 08:53:02 +08:00
|
|
|
/*
|
|
|
|
* arch/arm/mach-tegra/include/mach/io.h
|
|
|
|
*
|
|
|
|
* Copyright (C) 2010 Google, Inc.
|
|
|
|
*
|
|
|
|
* Author:
|
|
|
|
* Colin Cross <ccross@google.com>
|
|
|
|
* Erik Gilling <konkers@google.com>
|
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __MACH_TEGRA_IO_H
|
|
|
|
#define __MACH_TEGRA_IO_H
|
|
|
|
|
2010-09-27 17:26:33 +08:00
|
|
|
#define IO_SPACE_LIMIT 0xffff
|
2010-01-22 08:53:02 +08:00
|
|
|
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
|
2010-09-27 17:26:33 +08:00
|
|
|
#ifdef CONFIG_TEGRA_PCI
|
|
|
|
extern void __iomem *tegra_pcie_io_base;
|
|
|
|
|
|
|
|
static inline void __iomem *__io(unsigned long addr)
|
|
|
|
{
|
|
|
|
return tegra_pcie_io_base + (addr & IO_SPACE_LIMIT);
|
|
|
|
}
|
|
|
|
#else
|
2010-01-22 08:53:02 +08:00
|
|
|
static inline void __iomem *__io(unsigned long addr)
|
|
|
|
{
|
|
|
|
return (void __iomem *)addr;
|
|
|
|
}
|
2010-09-27 17:26:33 +08:00
|
|
|
#endif
|
|
|
|
|
2010-01-22 08:53:02 +08:00
|
|
|
#define __io(a) __io(a)
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|