Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
 1/*
 2 * linux/arch/arm/mach-tcc8k/io.c
 3 *
 4 * (C) 2009 Hans J. Koch <hjk@linutronix.de>
 5 *
 6 * derived from TCC83xx io.c
 7 * Copyright (C) Telechips, Inc.
 8 *
 9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14#include <linux/init.h>
15#include <linux/io.h>
16#include <linux/kernel.h>
17
18#include <asm/mach/map.h>
19
20#include <mach/tcc8k-regs.h>
21
22/*
23 * The machine specific code may provide the extra mapping besides the
24 * default mapping provided here.
25 */
26static struct map_desc tcc8k_io_desc[] __initdata = {
27	{
28		.virtual	= (unsigned long)CS1_BASE_VIRT,
29		.pfn		= __phys_to_pfn(CS1_BASE),
30		.length		= CS1_SIZE,
31		.type		= MT_DEVICE,
32	}, {
33		.virtual	= (unsigned long)AHB_PERI_BASE_VIRT,
34		.pfn		= __phys_to_pfn(AHB_PERI_BASE),
35		.length		= AHB_PERI_SIZE,
36		.type		= MT_DEVICE,
37	}, {
38		.virtual	= (unsigned long)APB0_PERI_BASE_VIRT,
39		.pfn		= __phys_to_pfn(APB0_PERI_BASE),
40		.length		= APB0_PERI_SIZE,
41		.type		= MT_DEVICE,
42	}, {
43		.virtual	= (unsigned long)APB1_PERI_BASE_VIRT,
44		.pfn		= __phys_to_pfn(APB1_PERI_BASE),
45		.length		= APB1_PERI_SIZE,
46		.type		= MT_DEVICE,
47	}, {
48		.virtual	= (unsigned long)EXT_MEM_CTRL_BASE_VIRT,
49		.pfn		= __phys_to_pfn(EXT_MEM_CTRL_BASE),
50		.length		= EXT_MEM_CTRL_SIZE,
51		.type		= MT_DEVICE,
52	},
53};
54
55/*
56 * Maps common IO regions for tcc8k.
57 *
58 */
59void __init tcc8k_map_common_io(void)
60{
61	iotable_init(tcc8k_io_desc, ARRAY_SIZE(tcc8k_io_desc));
62}