From 43ec944e3c0c31a7b4bedbb371f1ce9c1c24a80d Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Thu, 17 Sep 2009 08:05:19 +0000 Subject: TIMERB is in a different location on the S5L8701 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22716 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/s5l8700.h | 5 +++++ firmware/target/arm/s5l8700/kernel-s5l8700.c | 2 +- firmware/target/arm/s5l8700/system-s5l8700.c | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/firmware/export/s5l8700.h b/firmware/export/s5l8700.h index cfd8e59ad6..f43b9f408c 100644 --- a/firmware/export/s5l8700.h +++ b/firmware/export/s5l8700.h @@ -125,6 +125,11 @@ #define SRCPND (*(REG32_PTR_T)(0x39C00000)) /* Indicates the interrupt request status. */ #define INTMOD (*(REG32_PTR_T)(0x39C00004)) /* Interrupt mode register. */ #define INTMSK (*(REG32_PTR_T)(0x39C00008)) /* Determines which interrupt source is masked. The */ +#if CONFIG_CPU==S5L8701 +#define INTMSK_TIMERB (1<<5) +#else +#define INTMSK_TIMERB (1<<7) +#endif #define PRIORITY (*(REG32_PTR_T)(0x39C0000C)) /* IRQ priority control register */ #define INTPND (*(REG32_PTR_T)(0x39C00010)) /* Indicates the interrupt request status. */ #define INTOFFSET (*(REG32_PTR_T)(0x39C00014)) /* Indicates the IRQ interrupt request source */ diff --git a/firmware/target/arm/s5l8700/kernel-s5l8700.c b/firmware/target/arm/s5l8700/kernel-s5l8700.c index 6f131d93f8..21b73e466d 100644 --- a/firmware/target/arm/s5l8700/kernel-s5l8700.c +++ b/firmware/target/arm/s5l8700/kernel-s5l8700.c @@ -54,6 +54,6 @@ void tick_start(unsigned int interval_in_ms) TBCMD = (1 << 0); /* TB_EN */ /* enable timer interrupt */ - INTMSK |= (1 << 7); + INTMSK |= INTMSK_TIMERB; } diff --git a/firmware/target/arm/s5l8700/system-s5l8700.c b/firmware/target/arm/s5l8700/system-s5l8700.c index 48c50645e9..da1811dc11 100644 --- a/firmware/target/arm/s5l8700/system-s5l8700.c +++ b/firmware/target/arm/s5l8700/system-s5l8700.c @@ -66,7 +66,12 @@ default_interrupt(INT_ADC); static void (* const irqvector[])(void) = { - EXT0,EXT1,EXT2,EINT_VBUS,EINTG,INT_TIMERA,INT_WDT,INT_TIMERB, + EXT0,EXT1,EXT2,EINT_VBUS,EINTG, +#if CONFIG_CPU==S5L8701 + INT_TIMERB,INT_WDT,INT_TIMERA, +#else + INT_TIMERA,INT_WDT,INT_TIMERB, +#endif INT_TIMERC,INT_TIMERD,INT_DMA,INT_ALARM_RTC,INT_PRI_RTC,RESERVED1,INT_UART,INT_USB_HOST, INT_USB_FUNC,INT_LCDC_0,INT_LCDC_1,INT_ECC,INT_CALM,INT_ATA,INT_UART0,INT_SPDIF_OUT, INT_SDCI,INT_LCD,INT_SPI,INT_IIC,RESERVED2,INT_MSTICK,INT_ADC_WAKEUP,INT_ADC @@ -74,7 +79,12 @@ static void (* const irqvector[])(void) = static const char * const irqname[] = { - "EXT0","EXT1","EXT2","EINT_VBUS","EINTG","INT_TIMERA","INT_WDT","INT_TIMERB", + "EXT0","EXT1","EXT2","EINT_VBUS","EINTG", +#if CONFIG_CPU==S5L8701 + "INT_TIMERB","INT_WDT","INT_TIMERA", +#else + "INT_TIMERA","INT_WDT","INT_TIMERB", +#endif "INT_TIMERC","INT_TIMERD","INT_DMA","INT_ALARM_RTC","INT_PRI_RTC","Reserved","INT_UART","INT_USB_HOST", "INT_USB_FUNC","INT_LCDC_0","INT_LCDC_1","INT_ECC","INT_CALM","INT_ATA","INT_UART0","INT_SPDIF_OUT", "INT_SDCI","INT_LCD","INT_SPI","INT_IIC","Reserved","INT_MSTICK","INT_ADC_WAKEUP","INT_ADC" -- cgit v1.2.3