cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

spear1310.c (1647B)


      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 "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