Add Marzen and r8a7779 to CONFIG_SHMOBILE_MULTI. At this point CCF is not yet supported so you cannot run this code yet. For CCF support to happen several different components are needed, and this is one simple portion that moves us forward. Other patches need to build on top of this one. Marzen board support exists in 3 flavours: 1) SHMOBILE_MULTI, MACH_MARZEN - board-marzen-reference.c (CCF + DT) 2) SHMOBILE, MACH_MARZEN_REFERENCE - board-marzen-reference.c (DT) 3) SHMOBILE, MACH_MARZEN - board-marzen.c (legacy C code) When CCF is done then 2) will be removed. When 1) includes same features as 3) then 3) will be removed. Based on work for the Koelsch and r8a7791 by Magnus Damm. Cc: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
/*
|
|
* marzen board support - Reference DT implementation
|
|
*
|
|
* Copyright (C) 2011 Renesas Solutions Corp.
|
|
* Copyright (C) 2011 Magnus Damm
|
|
* Copyright (C) 2013 Simon Horman
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#include <linux/clk-provider.h>
|
|
#include <linux/of_platform.h>
|
|
#include <mach/r8a7779.h>
|
|
#include <asm/irq.h>
|
|
#include <asm/mach/arch.h>
|
|
#include "common.h"
|
|
#include "irqs.h"
|
|
|
|
static void __init marzen_init(void)
|
|
{
|
|
#ifdef CONFIG_COMMON_CLK
|
|
of_clk_init(NULL);
|
|
#else
|
|
r8a7779_clock_init();
|
|
#endif
|
|
r8a7779_add_standard_devices_dt();
|
|
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
|
r8a7779_init_irq_extpin_dt(1); /* IRQ1 as individual interrupt */
|
|
}
|
|
|
|
static const char *marzen_boards_compat_dt[] __initdata = {
|
|
"renesas,marzen-reference",
|
|
NULL,
|
|
};
|
|
|
|
DT_MACHINE_START(MARZEN, "marzen")
|
|
.smp = smp_ops(r8a7779_smp_ops),
|
|
.map_io = r8a7779_map_io,
|
|
.init_early = r8a7779_init_delay,
|
|
.nr_irqs = NR_IRQS_LEGACY,
|
|
.init_irq = r8a7779_init_irq_dt,
|
|
.init_machine = marzen_init,
|
|
.dt_compat = marzen_boards_compat_dt,
|
|
MACHINE_END
|