Skip to content

Commit

Permalink
DaVinci: DM365: Enable DaVinci RTC support for DM365 EVM
Browse files Browse the repository at this point in the history
The general structures are defined at DM365 SoC file and the specific
platform data structure for the EVM is defined at board file.

Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
  • Loading branch information
Miguel Aguilar authored and Kevin Hilman committed Nov 25, 2009
1 parent 0046d0b commit 99381b4
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/mach-davinci/board-dm365-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,7 @@ static __init void dm365_evm_init(void)
evm_init_cpld();

dm365_init_asp(&dm365_evm_snd_data);
dm365_init_rtc();

#ifdef CONFIG_KEYBOARD_DAVINCI
dm365_init_ks(&dm365evm_ks_data);
Expand Down
26 changes: 26 additions & 0 deletions arch/arm/mach-davinci/dm365.c
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,7 @@ static u8 dm365_default_priorities[DAVINCI_N_AINTC_IRQ] = {
[IRQ_I2C] = 3,
[IRQ_UARTINT0] = 3,
[IRQ_UARTINT1] = 3,
[IRQ_DM365_RTCINT] = 3,
[IRQ_DM365_SPIINT0_0] = 3,
[IRQ_DM365_SPIINT3_0] = 3,
[IRQ_DM365_GPIO0] = 3,
Expand Down Expand Up @@ -834,6 +835,25 @@ static struct platform_device dm365_asp_device = {
.resource = dm365_asp_resources,
};

static struct resource dm365_rtc_resources[] = {
{
.start = DM365_RTC_BASE,
.end = DM365_RTC_BASE + SZ_1K - 1,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_DM365_RTCINT,
.flags = IORESOURCE_IRQ,
},
};

static struct platform_device dm365_rtc_device = {
.name = "rtc_davinci",
.id = 0,
.num_resources = ARRAY_SIZE(dm365_rtc_resources),
.resource = dm365_rtc_resources,
};

static struct map_desc dm365_io_desc[] = {
{
.virtual = IO_VIRT,
Expand Down Expand Up @@ -978,6 +998,12 @@ void __init dm365_init_ks(struct davinci_ks_platform_data *pdata)
platform_device_register(&dm365_ks_device);
}

void __init dm365_init_rtc(void)
{
davinci_cfg_reg(DM365_INT_PRTCSS);
platform_device_register(&dm365_rtc_device);
}

void __init dm365_init(void)
{
davinci_common_init(&davinci_soc_info_dm365);
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-davinci/include/mach/dm365.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,11 @@
/* Base of key scan register bank */
#define DM365_KEYSCAN_BASE (0x01C69400)

#define DM365_RTC_BASE (0x01C69000)

void __init dm365_init(void);
void __init dm365_init_asp(struct snd_platform_data *pdata);
void __init dm365_init_ks(struct davinci_ks_platform_data *pdata);
void __init dm365_init_rtc(void);

#endif /* __ASM_ARCH_DM365_H */
1 change: 1 addition & 0 deletions arch/arm/mach-davinci/include/mach/irqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@
#define IRQ_DM365_SDIOINT0 23
#define IRQ_DM365_MMCINT1 27
#define IRQ_DM365_PWMINT3 28
#define IRQ_DM365_RTCINT 29
#define IRQ_DM365_SDIOINT1 31
#define IRQ_DM365_SPIINT0_0 42
#define IRQ_DM365_SPIINT3_0 43
Expand Down

0 comments on commit 99381b4

Please sign in to comment.