2010-01-21 16:53:02 -08: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/init.h>
# include <linux/io.h>
2014-07-11 09:44:49 +02:00
# include <linux/kernel.h>
# include <linux/mm.h>
# include <linux/module.h>
2010-01-21 16:53:02 -08:00
# include <asm/mach/map.h>
2014-07-11 09:44:49 +02:00
# include <asm/page.h>
2010-01-21 16:53:02 -08:00
# include "board.h"
2012-10-04 14:24:09 -06:00
# include "iomap.h"
2010-01-21 16:53:02 -08:00
static struct map_desc tegra_io_desc [ ] __initdata = {
{
2011-10-09 21:05:44 -07:00
. virtual = ( unsigned long ) IO_PPSB_VIRT ,
2010-01-21 16:53:02 -08:00
. pfn = __phys_to_pfn ( IO_PPSB_PHYS ) ,
. length = IO_PPSB_SIZE ,
. type = MT_DEVICE ,
} ,
{
2011-10-09 21:05:44 -07:00
. virtual = ( unsigned long ) IO_APB_VIRT ,
2010-01-21 16:53:02 -08:00
. pfn = __phys_to_pfn ( IO_APB_PHYS ) ,
. length = IO_APB_SIZE ,
. type = MT_DEVICE ,
} ,
{
2011-10-09 21:05:44 -07:00
. virtual = ( unsigned long ) IO_CPU_VIRT ,
2010-01-21 16:53:02 -08:00
. pfn = __phys_to_pfn ( IO_CPU_PHYS ) ,
. length = IO_CPU_SIZE ,
. type = MT_DEVICE ,
} ,
2010-07-27 21:34:38 -07:00
{
2011-10-09 21:05:44 -07:00
. virtual = ( unsigned long ) IO_IRAM_VIRT ,
2010-07-27 21:34:38 -07:00
. pfn = __phys_to_pfn ( IO_IRAM_PHYS ) ,
. length = IO_IRAM_SIZE ,
. type = MT_DEVICE ,
} ,
2010-01-21 16:53:02 -08:00
} ;
void __init tegra_map_common_io ( void )
{
2012-10-19 12:27:58 -06:00
debug_ll_io_init ( ) ;
2010-01-21 16:53:02 -08:00
iotable_init ( tegra_io_desc , ARRAY_SIZE ( tegra_io_desc ) ) ;
}