In order to use the CTI interrupts inconjunction with the DEBUGSS we need to re-map the CTI IRQs to the DEBUGSS HWMOD. The purpose for doing this is so we can create a PMU device based upon the DEBUGSS HWMOD and use the CTI interrupts for routing ARM PMU events for OMAP4430 devices.
This is based upon Benoit Cousson's patch [1]. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/073319.html Cc: Ming Lei <ming....@canonical.com> Cc: Will Deacon <will.dea...@arm.com> Cc: Benoit Cousson <b-cous...@ti.com> Cc: Paul Walmsley <p...@pwsan.com> Cc: Kevin Hilman <khil...@ti.com> Reviewed-by: Santosh Shilimkar <santosh.shilim...@ti.com> Signed-off-by: Jon Hunter <jon-hun...@ti.com> --- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 242aee4..7de8fbe 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c @@ -480,10 +480,17 @@ static struct omap_hwmod_class omap44xx_debugss_hwmod_class = { }; /* debugss */ +static struct omap_hwmod_irq_info omap44xx_debugss_irqs[] = { + { .name = "cti0", .irq = 1 + OMAP44XX_IRQ_GIC_START }, + { .name = "cti1", .irq = 2 + OMAP44XX_IRQ_GIC_START }, + { .irq = -1 } +}; + static struct omap_hwmod omap44xx_debugss_hwmod = { .name = "debugss", .class = &omap44xx_debugss_hwmod_class, .clkdm_name = "emu_sys_clkdm", + .mpu_irqs = omap44xx_debugss_irqs, .main_clk = "trace_clk_div_ck", .prcm = { .omap4 = { @@ -2450,8 +2457,6 @@ static struct omap_hwmod_class omap44xx_mpu_hwmod_class = { /* mpu */ static struct omap_hwmod_irq_info omap44xx_mpu_irqs[] = { { .name = "pl310", .irq = 0 + OMAP44XX_IRQ_GIC_START }, - { .name = "cti0", .irq = 1 + OMAP44XX_IRQ_GIC_START }, - { .name = "cti1", .irq = 2 + OMAP44XX_IRQ_GIC_START }, { .irq = -1 } }; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html