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

Commit a92fbd07 authored by Simon Horman's avatar Simon Horman
Browse files

ARM: shmobile: marzen-reference: Initialize CPG device



On multiplatform kernels clocks are handled by the CCF CPG driver. It
must be explicitly initialized by a call to r8a7779_clocks_init() with
the value of the boot mode pins.

Based on similar work for the Koelsch board by Laurent Pinchart.

Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 5016c81b
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -19,7 +19,8 @@
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

#include <linux/clk-provider.h>
#include <linux/clk/shmobile.h>
#include <linux/clocksource.h>
#include <linux/of_platform.h>
#include <mach/r8a7779.h>
#include <asm/irq.h>
@@ -27,11 +28,17 @@
#include "common.h"
#include "irqs.h"

static void __init marzen_init(void)
static void __init marzen_init_timer(void)
{
#ifdef CONFIG_COMMON_CLK
	of_clk_init(NULL);
#else
	r8a7779_clocks_init(r8a7779_read_mode_pins());
#endif
	clocksource_of_init();
}

static void __init marzen_init(void)
{
#ifndef CONFIG_COMMON_CLK
	r8a7779_clock_init();
#endif
	r8a7779_add_standard_devices_dt();
@@ -48,6 +55,7 @@ DT_MACHINE_START(MARZEN, "marzen")
	.smp		= smp_ops(r8a7779_smp_ops),
	.map_io		= r8a7779_map_io,
	.init_early	= r8a7779_init_delay,
	.init_time	= marzen_init_timer,
	.nr_irqs	= NR_IRQS_LEGACY,
	.init_irq	= r8a7779_init_irq_dt,
	.init_machine	= marzen_init,