2010-01-22 03:53:02 +03:00
/*
* arch / arm / mach - tegra / io . c
*
* 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 .
*
*/
# include <linux/kernel.h>
# include <linux/module.h>
# include <linux/init.h>
# include <linux/mm.h>
# include <linux/io.h>
# include <asm/page.h>
# include <asm/mach/map.h>
2012-02-11 07:22:00 +04:00
# include <mach/iomap.h>
2010-01-22 03:53:02 +03:00
# include "board.h"
static struct map_desc tegra_io_desc [ ] __initdata = {
{
2011-10-10 08:05:44 +04:00
. virtual = ( unsigned long ) IO_PPSB_VIRT ,
2010-01-22 03:53:02 +03:00
. pfn = __phys_to_pfn ( IO_PPSB_PHYS ) ,
. length = IO_PPSB_SIZE ,
. type = MT_DEVICE ,
} ,
{
2011-10-10 08:05:44 +04:00
. virtual = ( unsigned long ) IO_APB_VIRT ,
2010-01-22 03:53:02 +03:00
. pfn = __phys_to_pfn ( IO_APB_PHYS ) ,
. length = IO_APB_SIZE ,
. type = MT_DEVICE ,
} ,
{
2011-10-10 08:05:44 +04:00
. virtual = ( unsigned long ) IO_CPU_VIRT ,
2010-01-22 03:53:02 +03:00
. pfn = __phys_to_pfn ( IO_CPU_PHYS ) ,
. length = IO_CPU_SIZE ,
. type = MT_DEVICE ,
} ,
2010-07-28 08:34:38 +04:00
{
2011-10-10 08:05:44 +04:00
. virtual = ( unsigned long ) IO_IRAM_VIRT ,
2010-07-28 08:34:38 +04:00
. pfn = __phys_to_pfn ( IO_IRAM_PHYS ) ,
. length = IO_IRAM_SIZE ,
. type = MT_DEVICE ,
} ,
2010-01-22 03:53:02 +03:00
} ;
void __init tegra_map_common_io ( void )
{
iotable_init ( tegra_io_desc , ARRAY_SIZE ( tegra_io_desc ) ) ;
}