3 * Copyright (C) 2013 ROCKCHIP, Inc.
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
16 #include <linux/kernel.h>
17 #include <linux/init.h>
20 #include <asm/mach/map.h>
21 #include <mach/debug_uart.h>
23 #define RK30_DEVICE(name) { \
24 .virtual = (unsigned long) RK30_##name##_BASE, \
25 .pfn = __phys_to_pfn(RK30_##name##_PHYS), \
26 .length = RK30_##name##_SIZE, \
30 static struct map_desc rk30_io_desc[] __initdata = {
32 .virtual = (unsigned long) RK30_ROM_BASE,
33 .pfn = __phys_to_pfn(RK3188_ROM_PHYS),
34 .length = RK30_ROM_SIZE,
38 RK30_DEVICE(CPU_AXI_BUS),
39 #if CONFIG_RK_DEBUG_UART == 0
41 #elif CONFIG_RK_DEBUG_UART == 1
43 #elif CONFIG_RK_DEBUG_UART == 2
45 #elif CONFIG_RK_DEBUG_UART == 3
58 .virtual = (unsigned long) RK3188_TIMER3_BASE,
59 .pfn = __phys_to_pfn(RK3188_TIMER3_PHYS),
60 .length = RK3188_TIMER3_SIZE,
65 RK30_DEVICE(DDR_PCTL),
66 RK30_DEVICE(DDR_PUBL),
70 void __init rk30_map_common_io(void)
72 iotable_init(rk30_io_desc, ARRAY_SIZE(rk30_io_desc));