From 1f021af60cd0351a309666c2e32b3d1b8b2cbd6f Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Tue, 5 Feb 2008 04:43:19 +0000 Subject: Gigabeat S mixer: Make some progress. Get the tick and core sleep working using the AVIC. Redo the startup code to remap from IRAM and not include the lcd driver frambuffer in the remapping (until it can be moved). Clean up LCD driver. For other misc. changes, see the diffs. Now it progresses to ATA init and fails with -11 but without crashing or hanging. Replace all bootloaders. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16216 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/imx31/gigabeat-s/avic-imx31.h | 124 +++++----------------- 1 file changed, 27 insertions(+), 97 deletions(-) (limited to 'firmware/target/arm/imx31/gigabeat-s/avic-imx31.h') diff --git a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.h b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.h index 53a37b353b..29a3ec8dd0 100644 --- a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.h +++ b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.h @@ -19,107 +19,37 @@ #ifndef AVIC_IMX31_H #define AVIC_IMX31_H - -enum INT_TYPE {IRQ=0,FIQ}; - -struct int_names { - char name[16]; +enum INT_TYPE +{ + IRQ = 0, + FIQ }; -static const struct int_names imx31_int_names[64] = -{ {"RESERVED0"}, - {"RESERVED1"}, - {"RESERVED2"}, - {"I2C3"}, - {"I2C2"}, - {"MPEG4_ENCODER"}, - {"RTIC"}, - {"FIR"}, - {"MMC/SDHC2"}, - {"MMC/SDHC1"}, - {"I2C1"}, - {"SSI2"}, - {"SSI1"}, - {"CSPI2"}, - {"CSPI1"}, - {"ATA"}, - {"MBX"}, - {"CSPI3"}, - {"UART3"}, - {"IIM"}, - {"SIM1"}, - {"SIM2"}, - {"RNGA"}, - {"EVTMON"}, - {"KPP"}, - {"RTC"}, - {"PWN"}, - {"EPIT2"}, - {"EPIT1"}, - {"GPT"}, - {"PWR_FAIL"}, - {"CCM_DVFS"}, - {"UART2"}, - {"NANDFC"}, - {"SDMA"}, - {"USB_HOST1"}, - {"USB_HOST2"}, - {"USB_OTG"}, - {"RESERVED3"}, - {"MSHC1"}, - {"MSHC2"}, - {"IPU_ERR"}, - {"IPU"}, - {"RESERVED4"}, - {"RESERVED5"}, - {"UART1"}, - {"UART4"}, - {"UART5"}, - {"ETC_IRQ"}, - {"SCC_SCM"}, - {"SCC_SMN"}, - {"GPIO2"}, - {"GPIO1"}, - {"CCM_CLK"}, - {"PCMCIA"}, - {"WDOG"}, - {"GPIO3"}, - {"RESERVED6"}, - {"EXT_PWMG"}, - {"EXT_TEMP"}, - {"EXT_SENS1"}, - {"EXT_SENS2"}, - {"EXT_WDOG"}, - {"EXT_TV"} }; - -enum IMX31_INT_LIST { - RESERVED0 = 0,RESERVED1,RESERVED2,I2C3, - I2C2,MPEG4_ENCODER,RTIC,FIR,MMC_SDHC2, - MMC_SDHC1,I2C1,SSI2,SSI1,CSPI2,CSPI1, - ATA,MBX,CSPI3,UART3,IIM,SIM1,SIM2, - RNGA,EVTMON,KPP,RTC,PWN,EPIT2,EPIT1, - GPT,PWR_FAIL,CCM_DVFS,UART2,NANDFC, - SDMA,USB_HOST1,USB_HOST2,USB_OTG, - RESERVED3,MSHC1,MSHC2,IPU_ERR,IPU, - RESERVED4,RESERVED5,UART1,UART4,UART5, - ETC_IRQ,SCC_SCM,SCC_SMN,GPIO2,GPIO1, - CCM_CLK,PCMCIA,WDOG,GPIO3,RESERVED6, - EXT_PWMG,EXT_TEMP,EXT_SENS1,EXT_SENS2, - EXT_WDOG,EXT_TV,ALL }; - -static struct avic_int { - char * name; - enum INT_TYPE int_type; - unsigned int addr; - unsigned int priority; - void (*pInt_Handler) (void); -} imx31_int[64]; +enum IMX31_INT_LIST +{ + __IMX31_INT_FIRST = -1, + RESERVED0, RESERVED1, RESERVED2, I2C3, + I2C2, MPEG4_ENCODER, RTIC, FIR, + MMC_SDHC2, MMC_SDHC1, I2C1, SSI2, + SSI1, CSPI2, CSPI1, ATA, + MBX, CSPI3, UART3, IIM, + SIM1, SIM2, RNGA, EVTMON, + KPP, RTC, PWN, EPIT2, + EPIT1, GPT, PWR_FAIL, CCM_DVFS, + UART2, NANDFC, SDMA, USB_HOST1, + USB_HOST2, USB_OTG, RESERVED3, MSHC1, + MSHC2, IPU_ERR, IPU, RESERVED4, + RESERVED5, UART1, UART4, UART5, + ETC_IRQ, SCC_SCM, SCC_SMN, GPIO2, + GPIO1, CCM_CLK, PCMCIA, WDOG, + GPIO3, RESERVED6, EXT_PWMG, EXT_TEMP, + EXT_SENS1, EXT_SENS2, EXT_WDOG, EXT_TV, + ALL +}; void avic_init(void); void avic_enable_int(enum IMX31_INT_LIST ints, enum INT_TYPE intstype, - void (*pInt_Handler) (void)); -void avic_disable_int(enum IMX31_INT_LIST ints) ; + void (*handler)(void)); +void avic_disable_int(enum IMX31_INT_LIST ints); void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype); -void Unhandled_Int(void); -void vector_init(void) __attribute__ ((section(".avic_int"),naked)); #endif -- cgit v1.2.3