sh: Use clk_always_enable() on sh7723 / ap325rxa
authorMagnus Damm <damm@igel.co.jp>
Thu, 17 Jul 2008 10:13:34 +0000 (19:13 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jul 2008 09:10:37 +0000 (18:10 +0900)
Use clk_always_enable() on the sh7723 processor and in the ap325rxa
board code. Remove duplicate MSTPCR register definitions.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/renesas/ap325rxa/setup.c
arch/sh/kernel/cpu/sh4a/setup-sh7723.c

index f8d6d41893a3864bfd48e8aa444cc6610fea6d8b..333b15cd79523b96a471bcf966e6d54d0a814dee 100644 (file)
@@ -97,20 +97,8 @@ static int __init ap325rxa_devices_setup(void)
 }
 device_initcall(ap325rxa_devices_setup);
 
-#define MSTPCR0                (0xA4150030)
-#define MSTPCR1                (0xA4150034)
-#define MSTPCR2                (0xA4150038)
-
 static void __init ap325rxa_setup(char **cmdline_p)
 {
-       /* enable VEU0 + VEU1 */
-       ctrl_outl(ctrl_inl(MSTPCR2) & ~0x00000044, MSTPCR2);    /* bit 2 + 6 */
-
-       /* enable MERAM */
-       ctrl_outl(ctrl_inl(MSTPCR0) & ~0x00000001, MSTPCR0);    /* bit 0 */
-
-       /* I2C */
-       ctrl_outl(ctrl_inl(MSTPCR1) & ~0x00000200, MSTPCR1);
 }
 
 static struct sh_machine_vector mv_ap325rxa __initmv = {
index cb5e6f822e64797af395b51374756f4050e41c98..cd6baffdc89624684f2fe0e88f8d4e173d292e02 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/mm.h>
 #include <linux/serial_sci.h>
 #include <linux/uio_driver.h>
+#include <asm/clock.h>
 #include <asm/mmzone.h>
 
 static struct uio_info vpu_platform_data = {
@@ -230,9 +231,24 @@ static struct platform_device *sh7723_devices[] __initdata = {
 
 static int __init sh7723_devices_setup(void)
 {
+       clk_always_enable("mstp031"); /* TLB */
+       clk_always_enable("mstp030"); /* IC */
+       clk_always_enable("mstp029"); /* OC */
+       clk_always_enable("mstp024"); /* FPU */
+       clk_always_enable("mstp022"); /* INTC */
+       clk_always_enable("mstp020"); /* SuperHyway */
+       clk_always_enable("mstp000"); /* MERAM */
+       clk_always_enable("mstp109"); /* I2C */
+       clk_always_enable("mstp108"); /* RTC */
+       clk_always_enable("mstp211"); /* USB */
+       clk_always_enable("mstp206"); /* VEU2H1 */
+       clk_always_enable("mstp202"); /* VEU2H0 */
+       clk_always_enable("mstp201"); /* VPU */
+
        platform_resource_setup_memory(&vpu_device, "vpu", 2 << 20);
        platform_resource_setup_memory(&veu0_device, "veu0", 2 << 20);
        platform_resource_setup_memory(&veu1_device, "veu1", 2 << 20);
+
        return platform_add_devices(sh7723_devices,
                                    ARRAY_SIZE(sh7723_devices));
 }