From 10b29c39d57849ff74f31cda1534fdd471354d9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Tue, 27 Mar 2012 17:23:19 +0800 Subject: [PATCH] rk30: add cpu axi init --- arch/arm/mach-rk30/common.c | 20 +++++++++++++++++++- arch/arm/mach-rk30/include/mach/io.h | 1 + arch/arm/mach-rk30/io.c | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rk30/common.c b/arch/arm/mach-rk30/common.c index a248992d9827..b44b9ad0316b 100755 --- a/arch/arm/mach-rk30/common.c +++ b/arch/arm/mach-rk30/common.c @@ -13,7 +13,24 @@ #include #include - +static void __init rk30_cpu_axi_init(void) +{ + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x0088); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x0108); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x0188); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x0388); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x4008); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x5008); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x6008); + writel_relaxed(0xa, RK30_CPU_AXI_BUS_BASE + 0x7008); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x7088); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x7108); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x7188); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x7208); + writel_relaxed(0x0, RK30_CPU_AXI_BUS_BASE + 0x7288); + writel_relaxed(0x3f, RK30_CPU_AXI_BUS_BASE + 0x0014); + dsb(); +} static void __init rk30_l2_cache_init(void) { @@ -68,6 +85,7 @@ void __init rk30_map_io(void) { rk30_map_common_io(); rk29_setup_early_printk(); + rk30_cpu_axi_init(); rk29_sram_init(); board_clock_init(); rk30_l2_cache_init(); diff --git a/arch/arm/mach-rk30/include/mach/io.h b/arch/arm/mach-rk30/include/mach/io.h index 3cbcf6e1432d..619589191484 100644 --- a/arch/arm/mach-rk30/include/mach/io.h +++ b/arch/arm/mach-rk30/include/mach/io.h @@ -72,6 +72,7 @@ #define RK30_UART1_BASE RK30_IO_TO_VIRT0(RK30_UART1_PHYS) #define RK30_UART1_SIZE SZ_8K #define RK30_CPU_AXI_BUS_PHYS 0x10128000 +#define RK30_CPU_AXI_BUS_BASE RK30_IO_TO_VIRT0(RK30_CPU_AXI_BUS_PHYS) #define RK30_CPU_AXI_BUS_SIZE SZ_32K #define RK30_L2C_PHYS 0x10138000 diff --git a/arch/arm/mach-rk30/io.c b/arch/arm/mach-rk30/io.c index b370cd6e8035..e3f05b8de29d 100644 --- a/arch/arm/mach-rk30/io.c +++ b/arch/arm/mach-rk30/io.c @@ -29,6 +29,7 @@ static struct map_desc rk30_io_desc[] __initdata = { RK30_DEVICE(CORE), + RK30_DEVICE(CPU_AXI_BUS), #if CONFIG_RK_DEBUG_UART == 0 RK30_DEVICE(UART0), #elif CONFIG_RK_DEBUG_UART == 1 -- 2.34.1