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

Commit c785a3d7 authored by Steven King's avatar Steven King Committed by Greg Ungerer
Browse files

m68knommu: Add rtc device for m5441x.



Add definitions for the m5441x rtc device and an init_BSP function to the
m5441x device code.

Signed-off-by: default avatarSteven King <sfking@fdwdc.com>
parent 32234328
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -180,6 +180,12 @@
#define MCFEPORT_EPPAR		0xfc090000
#define MCFEPORT_EPIER		0xfc090003
#define MCFEPORT_EPFR		0xfc090006
/*
 *  RTC Module.
 */
#define MCFRTC_BASE		0xfc0a8000
#define MCFRTC_SIZE		(0xfc0a8840 - 0xfc0a8000)
#define MCF_IRQ_RTC		(MCFINT2_VECBASE + MCFINT2_RTC)

/*
 *  GPIO Module.
+6 −7
Original line number Diff line number Diff line
@@ -48,13 +48,6 @@ unsigned long clk_get_rate(struct clk *clk)
	return MCF_CLK;
}
EXPORT_SYMBOL(clk_get_rate);

struct clk *devm_clk_get(struct device *dev, const char *id)
{
	return NULL;
}
EXPORT_SYMBOL(devm_clk_get);

#else
static DEFINE_SPINLOCK(clk_lock);

@@ -153,3 +146,9 @@ struct clk_ops clk_ops1 = {
};
#endif /* MCFPM_PPMCR1 */
#endif /* MCFPM_PPMCR0 */

struct clk *devm_clk_get(struct device *dev, const char *id)
{
	return NULL;
}
EXPORT_SYMBOL(devm_clk_get);
+37 −0
Original line number Diff line number Diff line
@@ -222,3 +222,40 @@ void __init config_BSP(char *commandp, int size)
	m5441x_uarts_init();
	m5441x_fec_init();
}


#if IS_ENABLED(CONFIG_RTC_DRV_M5441x)
static struct resource m5441x_rtc_resources[] = {
	{
		.start		= MCFRTC_BASE,
		.end		= MCFRTC_BASE + MCFRTC_SIZE - 1,
		.flags		= IORESOURCE_MEM,
	},
	{
		.start		= MCF_IRQ_RTC,
		.end		= MCF_IRQ_RTC,
		.flags		= IORESOURCE_IRQ,
	},
};

static struct platform_device m5441x_rtc = {
	.name			= "mcfrtc",
	.id			= 0,
	.resource		= m5441x_rtc_resources,
	.num_resources		= ARRAY_SIZE(m5441x_rtc_resources),
};
#endif

static struct platform_device *m5441x_devices[] __initdata = {
#if IS_ENABLED(CONFIG_RTC_DRV_M5441x)
	&m5441x_rtc,
#endif
};

static int __init init_BSP(void)
{
	platform_add_devices(m5441x_devices, ARRAY_SIZE(m5441x_devices));
	return 0;
}

arch_initcall(init_BSP);