Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59b559d7 authored by Srinidhi Kasagar's avatar Srinidhi Kasagar Committed by Russell King
Browse files

ARM: 5786/1: Introduce plat-nomadik, MTU code re-organization



Introduce the plat-nomadik folder for ST-Ericsson
machines including the existing nomadik 8815 architecture.
This also moves the existing MTU (MultiTimerUnit)
of nomadik 8815 to the proposed plat-nomadik and adds
HAS_MTU. The patch has been re-based to 2.6.32-rc6

Signed-off-by: default avatarsrinidhi kasagar <srinidhi.kasagar@stericsson.com>
Acked-by: default avatarAlessandro Rubini <rubini@unipv.it>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent a8a8a669
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -787,6 +787,7 @@ source "arch/arm/mach-at91/Kconfig"
source "arch/arm/plat-mxc/Kconfig"
source "arch/arm/plat-mxc/Kconfig"


source "arch/arm/mach-nomadik/Kconfig"
source "arch/arm/mach-nomadik/Kconfig"
source "arch/arm/plat-nomadik/Kconfig"


source "arch/arm/mach-netx/Kconfig"
source "arch/arm/mach-netx/Kconfig"


+1 −0
Original line number Original line Diff line number Diff line
@@ -176,6 +176,7 @@ machine-$(CONFIG_ARCH_MXC91231) := mxc91231
plat-$(CONFIG_ARCH_MXC)		:= mxc
plat-$(CONFIG_ARCH_MXC)		:= mxc
plat-$(CONFIG_ARCH_OMAP)	:= omap
plat-$(CONFIG_ARCH_OMAP)	:= omap
plat-$(CONFIG_PLAT_IOP)		:= iop
plat-$(CONFIG_PLAT_IOP)		:= iop
plat-$(CONFIG_PLAT_NOMADIK)	:= nomadik
plat-$(CONFIG_PLAT_ORION)	:= orion
plat-$(CONFIG_PLAT_ORION)	:= orion
plat-$(CONFIG_PLAT_PXA)		:= pxa
plat-$(CONFIG_PLAT_PXA)		:= pxa
plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx s3c
plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx s3c
+1 −1
Original line number Original line Diff line number Diff line
@@ -5,13 +5,13 @@ menu "Nomadik boards"
config MACH_NOMADIK_8815NHK
config MACH_NOMADIK_8815NHK
	bool "ST 8815 Nomadik Hardware Kit (evaluation board)"
	bool "ST 8815 Nomadik Hardware Kit (evaluation board)"
	select NOMADIK_8815
	select NOMADIK_8815
	select HAS_MTU


endmenu
endmenu


config NOMADIK_8815
config NOMADIK_8815
	bool
	bool



config I2C_BITBANG_8815NHK
config I2C_BITBANG_8815NHK
	tristate "Driver for bit-bang busses found on the 8815 NHK"
	tristate "Driver for bit-bang busses found on the 8815 NHK"
	depends on I2C && MACH_NOMADIK_8815NHK
	depends on I2C && MACH_NOMADIK_8815NHK
+1 −1
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@


# Object file lists.
# Object file lists.


obj-y			+= clock.o timer.o gpio.o
obj-y			+= clock.o gpio.o


# Cpu revision
# Cpu revision
obj-$(CONFIG_NOMADIK_8815) += cpu-8815.o
obj-$(CONFIG_NOMADIK_8815) += cpu-8815.o
+27 −0
Original line number Original line Diff line number Diff line
@@ -25,11 +25,18 @@
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
#include <asm/mach/irq.h>
#include <asm/mach/irq.h>
#include <asm/mach/flash.h>
#include <asm/mach/flash.h>

#include <plat/mtu.h>

#include <mach/setup.h>
#include <mach/setup.h>
#include <mach/nand.h>
#include <mach/nand.h>
#include <mach/fsmc.h>
#include <mach/fsmc.h>
#include "clock.h"
#include "clock.h"


/* Initial value for SRC control register: all timers use MXTAL/8 source */
#define SRC_CR_INIT_MASK	0x00007fff
#define SRC_CR_INIT_VAL		0x2aaa8000

/* These adresses span 16MB, so use three individual pages */
/* These adresses span 16MB, so use three individual pages */
static struct resource nhk8815_nand_resources[] = {
static struct resource nhk8815_nand_resources[] = {
	{
	{
@@ -239,6 +246,26 @@ static struct platform_device *nhk8815_platform_devices[] __initdata = {
	/* will add more devices */
	/* will add more devices */
};
};


static void __init nomadik_timer_init(void)
{
	u32 src_cr;

	/* Configure timer sources in "system reset controller" ctrl reg */
	src_cr = readl(io_p2v(NOMADIK_SRC_BASE));
	src_cr &= SRC_CR_INIT_MASK;
	src_cr |= SRC_CR_INIT_VAL;
	writel(src_cr, io_p2v(NOMADIK_SRC_BASE));

	/* Save global pointer to mtu, used by platform timer code */
	mtu_base = io_p2v(NOMADIK_MTU0_BASE);

	nmdk_timer_init();
}

static struct sys_timer nomadik_timer = {
	.init	= nomadik_timer_init,
};

static void __init nhk8815_platform_init(void)
static void __init nhk8815_platform_init(void)
{
{
	int i;
	int i;
Loading