linux/arch/arm/mach-spear/spear1310.c
<<
>>
Prefs
   1/*
   2 * arch/arm/mach-spear13xx/spear1310.c
   3 *
   4 * SPEAr1310 machine source file
   5 *
   6 * Copyright (C) 2012 ST Microelectronics
   7 * Viresh Kumar <vireshk@kernel.org>
   8 *
   9 * This file is licensed under the terms of the GNU General Public
  10 * License version 2. This program is licensed "as is" without any
  11 * warranty of any kind, whether express or implied.
  12 */
  13
  14#define pr_fmt(fmt) "SPEAr1310: " fmt
  15
  16#include <linux/amba/pl022.h>
  17#include <linux/pata_arasan_cf_data.h>
  18#include <asm/mach/arch.h>
  19#include <asm/mach/map.h>
  20#include "generic.h"
  21#include <mach/spear.h>
  22
  23/* Base addresses */
  24#define SPEAR1310_RAS_GRP1_BASE                 UL(0xD8000000)
  25#define VA_SPEAR1310_RAS_GRP1_BASE              UL(0xFA000000)
  26
  27static void __init spear1310_dt_init(void)
  28{
  29        platform_device_register_simple("spear-cpufreq", -1, NULL, 0);
  30}
  31
  32static const char * const spear1310_dt_board_compat[] = {
  33        "st,spear1310",
  34        "st,spear1310-evb",
  35        NULL,
  36};
  37
  38/*
  39 * Following will create 16MB static virtual/physical mappings
  40 * PHYSICAL             VIRTUAL
  41 * 0xD8000000           0xFA000000
  42 */
  43static struct map_desc spear1310_io_desc[] __initdata = {
  44        {
  45                .virtual        = VA_SPEAR1310_RAS_GRP1_BASE,
  46                .pfn            = __phys_to_pfn(SPEAR1310_RAS_GRP1_BASE),
  47                .length         = SZ_16M,
  48                .type           = MT_DEVICE
  49        },
  50};
  51
  52static void __init spear1310_map_io(void)
  53{
  54        iotable_init(spear1310_io_desc, ARRAY_SIZE(spear1310_io_desc));
  55        spear13xx_map_io();
  56}
  57
  58DT_MACHINE_START(SPEAR1310_DT, "ST SPEAr1310 SoC with Flattened Device Tree")
  59        .smp            =       smp_ops(spear13xx_smp_ops),
  60        .map_io         =       spear1310_map_io,
  61        .init_time      =       spear13xx_timer_init,
  62        .init_machine   =       spear1310_dt_init,
  63        .restart        =       spear_restart,
  64        .dt_compat      =       spear1310_dt_board_compat,
  65MACHINE_END
  66