Skip to content

Commit

Permalink
ARM: mach-shmobile: sh7367 clock framework V2
Browse files Browse the repository at this point in the history
This patch is V2 of clock framework tables/code for sh7367.
MSTP support is included for the following hardware blocks:
KEYSC, SCIF, IIC, IRDA, FLCTL, VOU, SIU, USB, SDHI and UIO.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Magnus Damm authored and Paul Mundt committed May 22, 2010
1 parent 83ca5c8 commit 4f0836b
Show file tree
Hide file tree
Showing 4 changed files with 337 additions and 38 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-shmobile/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ config ARCH_SH7367
select CPU_V6
select HAVE_CLK
select COMMON_CLKDEV
select SH_CLK_CPG
select GENERIC_CLOCKEVENTS

config ARCH_SH7377
Expand Down
19 changes: 13 additions & 6 deletions arch/arm/mach-shmobile/board-g3evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/time.h>

/*
* IrDA
Expand Down Expand Up @@ -259,9 +260,8 @@ static void __init g3evm_map_io(void)
{
iotable_init(g3evm_io_desc, ARRAY_SIZE(g3evm_io_desc));

/* setup early devices, clocks and console here as well */
/* setup early devices and console here as well */
sh7367_add_early_devices();
sh7367_clock_init();
shmobile_setup_console();
}

Expand Down Expand Up @@ -298,9 +298,6 @@ static void __init g3evm_init(void)
gpio_request(GPIO_FN_EXTLP, NULL);
gpio_request(GPIO_FN_IDIN, NULL);

/* enable clock in SYMSTPCR2 */
__raw_writel(__raw_readl(0xe6158048) & ~(1 << 22), 0xe6158048);

/* setup USB phy */
__raw_writew(0x0300, 0xe605810a); /* USBCR1 */
__raw_writew(0x00e0, 0xe60581c0); /* CPFCH */
Expand Down Expand Up @@ -356,11 +353,21 @@ static void __init g3evm_init(void)
platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices));
}

static void __init g3evm_timer_init(void)
{
sh7367_clock_init();
shmobile_timer.init();
}

static struct sys_timer g3evm_timer = {
.init = g3evm_timer_init,
};

MACHINE_START(G3EVM, "g3evm")
.phys_io = 0xe6000000,
.io_pg_offst = ((0xe6000000) >> 18) & 0xfffc,
.map_io = g3evm_map_io,
.init_irq = sh7367_init_irq,
.init_machine = g3evm_init,
.timer = &shmobile_timer,
.timer = &g3evm_timer,
MACHINE_END
Loading

0 comments on commit 4f0836b

Please sign in to comment.