mach-shmobile: Use DT_MACHINE for KZM9D V3

Use DT_MACHINE_START() on the emev2 based KZM9D board.

Also include a tiny DTS file to describe the board and
update the Kconfig dependencies to select CONFIG_USE_OF.

Update the SMP glue code to use OF for matching.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
Magnus Damm 2012-05-16 15:46:03 +09:00 committed by Rafael J. Wysocki
parent 3d5de27174
commit 450cca47d6
4 changed files with 36 additions and 2 deletions

View File

@ -0,0 +1,26 @@
/*
* Device Tree Source for the KZM9D board
*
* Copyright (C) 2012 Renesas Solutions Corp.
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
* kind, whether express or implied.
*/
/dts-v1/;
/include/ "emev2.dtsi"
/ {
model = "EMEV2 KZM9D Board";
compatible = "renesas,kzm9d", "renesas,emev2";
memory {
device_type = "memory";
reg = <0x40000000 0x8000000>;
};
chosen {
bootargs = "console=ttyS1,115200n81";
};
};

View File

@ -107,6 +107,7 @@ config MACH_MARZEN
config MACH_KZM9D
bool "KZM9D board"
depends on ARCH_EMEV2
select USE_OF
comment "SH-Mobile System Configuration"

View File

@ -68,7 +68,12 @@ void __init kzm9d_add_standard_devices(void)
platform_add_devices(kzm9d_devices, ARRAY_SIZE(kzm9d_devices));
}
MACHINE_START(KZM9D, "kzm9d")
static const char *kzm9d_boards_compat_dt[] __initdata = {
"renesas,kzm9d",
NULL,
};
DT_MACHINE_START(KZM9D_DT, "kzm9d")
.map_io = emev2_map_io,
.init_early = emev2_add_early_devices,
.nr_irqs = NR_IRQS_LEGACY,
@ -76,4 +81,5 @@ MACHINE_START(KZM9D, "kzm9d")
.handle_irq = gic_handle_irq,
.init_machine = kzm9d_add_standard_devices,
.timer = &shmobile_timer,
.dt_compat = kzm9d_boards_compat_dt,
MACHINE_END

View File

@ -16,6 +16,7 @@
#include <linux/device.h>
#include <linux/smp.h>
#include <linux/io.h>
#include <linux/of.h>
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <mach/common.h>
@ -23,7 +24,7 @@
#define is_sh73a0() (machine_is_ag5evm() || machine_is_kota2())
#define is_r8a7779() machine_is_marzen()
#define is_emev2() machine_is_kzm9d()
#define is_emev2() of_machine_is_compatible("renesas,emev2")
static unsigned int __init shmobile_smp_get_core_count(void)
{