Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * generic.c
  3  *
  4  * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de)
  5  *
  6  * This program is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU General Public License
  8  * as published by the Free Software Foundation; either version 2
  9  * of the License, or (at your option) any later version.
 10  * This program is distributed in the hope that it will be useful,
 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13  * GNU General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU General Public License
 16  * along with this program; if not, write to the Free Software
 17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 18  * MA 02110-1301, USA.
 19  */
 20 
 21 #include <linux/mm.h>
 22 #include <linux/init.h>
 23 #include <mach/hardware.h>
 24 #include <mach/common.h>
 25 #include <asm/pgtable.h>
 26 #include <asm/mach/map.h>
 27 
 28 /* MX27 memory map definition */
 29 static struct map_desc mxc_io_desc[] __initdata = {
 30         /*
 31          * this fixed mapping covers:
 32          * - AIPI1
 33          * - AIPI2
 34          * - AITC
 35          * - ROM Patch
 36          * - and some reserved space
 37          */
 38         {
 39                 .virtual = AIPI_BASE_ADDR_VIRT,
 40                 .pfn = __phys_to_pfn(AIPI_BASE_ADDR),
 41                 .length = AIPI_SIZE,
 42                 .type = MT_DEVICE
 43         },
 44         /*
 45          * this fixed mapping covers:
 46          * - CSI
 47          * - ATA
 48          */
 49         {
 50                 .virtual = SAHB1_BASE_ADDR_VIRT,
 51                 .pfn = __phys_to_pfn(SAHB1_BASE_ADDR),
 52                 .length = SAHB1_SIZE,
 53                 .type = MT_DEVICE
 54         },
 55         /*
 56          * this fixed mapping covers:
 57          * - EMI
 58          */
 59         {
 60                 .virtual = X_MEMC_BASE_ADDR_VIRT,
 61                 .pfn = __phys_to_pfn(X_MEMC_BASE_ADDR),
 62                 .length = X_MEMC_SIZE,
 63                 .type = MT_DEVICE
 64         }
 65 };
 66 
 67 /*
 68  * Initialize the memory map. It is called during the
 69  * system startup to create static physical to virtual
 70  * memory map for the IO modules.
 71  */
 72 void __init mx21_map_io(void)
 73 {
 74         mxc_set_cpu_type(MXC_CPU_MX21);
 75 
 76         iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 77 }
 78 
 79 void __init mx27_map_io(void)
 80 {
 81         mxc_set_cpu_type(MXC_CPU_MX27);
 82 
 83         iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 84 }
 85 
 86 
  This page was automatically generated by the LXR engine.