diff --git a/arch/arm/src/tiva/hardware/cc13x0/cc13x0_memorymap.h b/arch/arm/src/tiva/hardware/cc13x0/cc13x0_memorymap.h index db4c783371..e5c41631f7 100644 --- a/arch/arm/src/tiva/hardware/cc13x0/cc13x0_memorymap.h +++ b/arch/arm/src/tiva/hardware/cc13x0/cc13x0_memorymap.h @@ -55,113 +55,113 @@ * ******************************************************************************/ -#define FLASHMEM_BASE 0x00000000 /* FLASHMEM */ -#define BROM_BASE 0x10000000 /* BROM */ -#define GPRAM_BASE 0x11000000 /* GPRAM */ -#define SRAM_BASE 0x20000000 /* SRAM */ -#define RFC_RAM_BASE 0x21000000 /* RFC_RAM */ -#define SSI0_BASE 0x40000000 /* SSI */ -#define UART0_BASE 0x40001000 /* UART */ -#define I2C0_BASE 0x40002000 /* I2C */ -#define SSI1_BASE 0x40008000 /* SSI */ -#define GPT0_BASE 0x40010000 /* GPT */ -#define GPT1_BASE 0x40011000 /* GPT */ -#define GPT2_BASE 0x40012000 /* GPT */ -#define GPT3_BASE 0x40013000 /* GPT */ -#define UDMA0_BASE 0x40020000 /* UDMA */ -#define I2S0_BASE 0x40021000 /* I2S */ -#define GPIO_BASE 0x40022000 /* GPIO */ -#define CRYPTO_BASE 0x40024000 /* CRYPTO */ -#define TRNG_BASE 0x40028000 /* TRNG */ -#define FLASH_BASE 0x40030000 /* FLASH */ -#define VIMS_BASE 0x40034000 /* VIMS */ -#define RFC_PWR_BASE 0x40040000 /* RFC_PWR */ -#define RFC_DBELL_BASE 0x40041000 /* RFC_DBELL */ -#define RFC_RAT_BASE 0x40043000 /* RFC_RAT */ -#define RFC_FSCA_BASE 0x40044000 /* RFC_FSCA */ -#define WDT_BASE 0x40080000 /* WDT */ -#define IOC_BASE 0x40081000 /* IOC */ -#define PRCM_BASE 0x40082000 /* PRCM */ -#define EVENT_BASE 0x40083000 /* EVENT */ -#define SMPH_BASE 0x40084000 /* SMPH */ -#define ADI2_BASE 0x40086000 /* ADI */ -#define ADI3_BASE 0x40086200 /* ADI */ -#define AON_SYSCTL_BASE 0x40090000 /* AON_SYSCTL */ -#define AON_WUC_BASE 0x40091000 /* AON_WUC */ -#define AON_RTC_BASE 0x40092000 /* AON_RTC */ -#define AON_EVENT_BASE 0x40093000 /* AON_EVENT */ -#define AON_IOC_BASE 0x40094000 /* AON_IOC */ -#define AON_BATMON_BASE 0x40095000 /* AON_BATMON */ -#define AUX_AIODIO0_BASE 0x400c1000 /* AUX_AIODIO */ -#define AUX_AIODIO1_BASE 0x400c2000 /* AUX_AIODIO */ -#define AUX_TDC_BASE 0x400c4000 /* AUX_TDC */ -#define AUX_EVCTL_BASE 0x400c5000 /* AUX_EVCTL */ -#define AUX_WUC_BASE 0x400c6000 /* AUX_WUC */ -#define AUX_TIMER_BASE 0x400c7000 /* AUX_TIMER */ -#define AUX_SMPH_BASE 0x400c8000 /* AUX_SMPH */ -#define AUX_ANAIF_BASE 0x400c9000 /* AUX_ANAIF */ -#define AUX_DDI0_OSC_BASE 0x400ca000 /* DDI */ -#define AUX_ADI4_BASE 0x400cb000 /* ADI */ -#define AUX_RAM_BASE 0x400e0000 /* AUX_RAM */ -#define AUX_SCE_BASE 0x400e1000 /* AUX_SCE */ -#define FLASH_CFG_BASE 0x50000000 /* CC26_DUMMY_COMP */ -#define FCFG1_BASE 0x50001000 /* FCFG1 */ -#define FCFG2_BASE 0x50002000 /* FCFG2 */ +#define TIVA_FLASHMEM_BASE 0x00000000 /* FLASHMEM */ +#define TIVA_BROM_BASE 0x10000000 /* BROM */ +#define TIVA_GPRAM_BASE 0x11000000 /* GPRAM */ +#define TIVA_SRAM_BASE 0x20000000 /* SRAM */ +#define TIVA_RFC_RAM_BASE 0x21000000 /* RFC_RAM */ +#define TIVA_SSI0_BASE 0x40000000 /* SSI */ +#define TIVA_UART0_BASE 0x40001000 /* UART */ +#define TIVA_I2C0_BASE 0x40002000 /* I2C */ +#define TIVA_SSI1_BASE 0x40008000 /* SSI */ +#define TIVA_GPT0_BASE 0x40010000 /* GPT */ +#define TIVA_GPT1_BASE 0x40011000 /* GPT */ +#define TIVA_GPT2_BASE 0x40012000 /* GPT */ +#define TIVA_GPT3_BASE 0x40013000 /* GPT */ +#define TIVA_UDMA0_BASE 0x40020000 /* UDMA */ +#define TIVA_I2S0_BASE 0x40021000 /* I2S */ +#define TIVA_GPIO_BASE 0x40022000 /* GPIO */ +#define TIVA_CRYPTO_BASE 0x40024000 /* CRYPTO */ +#define TIVA_TRNG_BASE 0x40028000 /* TRNG */ +#define TIVA_FLASH_BASE 0x40030000 /* FLASH */ +#define TIVA_VIMS_BASE 0x40034000 /* VIMS */ +#define TIVA_RFC_PWR_BASE 0x40040000 /* RFC_PWR */ +#define TIVA_RFC_DBELL_BASE 0x40041000 /* RFC_DBELL */ +#define TIVA_RFC_RAT_BASE 0x40043000 /* RFC_RAT */ +#define TIVA_RFC_FSCA_BASE 0x40044000 /* RFC_FSCA */ +#define TIVA_WDT_BASE 0x40080000 /* WDT */ +#define TIVA_IOC_BASE 0x40081000 /* IOC */ +#define TIVA_PRCM_BASE 0x40082000 /* PRCM */ +#define TIVA_EVENT_BASE 0x40083000 /* EVENT */ +#define TIVA_SMPH_BASE 0x40084000 /* SMPH */ +#define TIVA_ADI2_BASE 0x40086000 /* ADI */ +#define TIVA_ADI3_BASE 0x40086200 /* ADI */ +#define TIVA_AON_SYSCTL_BASE 0x40090000 /* AON_SYSCTL */ +#define TIVA_AON_WUC_BASE 0x40091000 /* AON_WUC */ +#define TIVA_AON_RTC_BASE 0x40092000 /* AON_RTC */ +#define TIVA_AON_EVENT_BASE 0x40093000 /* AON_EVENT */ +#define TIVA_AON_IOC_BASE 0x40094000 /* AON_IOC */ +#define TIVA_AON_BATMON_BASE 0x40095000 /* AON_BATMON */ +#define TIVA_AUX_AIODIO0_BASE 0x400c1000 /* AUX_AIODIO */ +#define TIVA_AUX_AIODIO1_BASE 0x400c2000 /* AUX_AIODIO */ +#define TIVA_AUX_TDC_BASE 0x400c4000 /* AUX_TDC */ +#define TIVA_AUX_EVCTL_BASE 0x400c5000 /* AUX_EVCTL */ +#define TIVA_AUX_WUC_BASE 0x400c6000 /* AUX_WUC */ +#define TIVA_AUX_TIMER_BASE 0x400c7000 /* AUX_TIMER */ +#define TIVA_AUX_SMPH_BASE 0x400c8000 /* AUX_SMPH */ +#define TIVA_AUX_ANAIF_BASE 0x400c9000 /* AUX_ANAIF */ +#define TIVA_AUX_DDI0_OSC_BASE 0x400ca000 /* DDI */ +#define TIVA_AUX_ADI4_BASE 0x400cb000 /* ADI */ +#define TIVA_AUX_RAM_BASE 0x400e0000 /* AUX_RAM */ +#define TIVA_AUX_SCE_BASE 0x400e1000 /* AUX_SCE */ +#define TIVA_FLASH_CFG_BASE 0x50000000 /* CC26_DUMMY_COMP */ +#define TIVA_FCFG1_BASE 0x50001000 /* FCFG1 */ +#define TIVA_FCFG2_BASE 0x50002000 /* FCFG2 */ #ifndef CCFG_BASE -# define CCFG_BASE 0x50003000 /* CCFG */ +# define TIVA_CCFG_BASE 0x50003000 /* CCFG */ #endif -#define CCFG_BASE_DEFAULT 0x50003000 /* CCFG */ -#define SSI0_NONBUF_BASE 0x60000000 /* SSI CPU nonbuf base */ -#define UART0_NONBUF_BASE 0x60001000 /* UART CPU nonbuf base */ -#define I2C0_NONBUF_BASE 0x60002000 /* I2C CPU nonbuf base */ -#define SSI1_NONBUF_BASE 0x60008000 /* SSI CPU nonbuf base */ -#define GPT0_NONBUF_BASE 0x60010000 /* GPT CPU nonbuf base */ -#define GPT1_NONBUF_BASE 0x60011000 /* GPT CPU nonbuf base */ -#define GPT2_NONBUF_BASE 0x60012000 /* GPT CPU nonbuf base */ -#define GPT3_NONBUF_BASE 0x60013000 /* GPT CPU nonbuf base */ -#define UDMA0_NONBUF_BASE 0x60020000 /* UDMA CPU nonbuf base */ -#define I2S0_NONBUF_BASE 0x60021000 /* I2S CPU nonbuf base */ -#define GPIO_NONBUF_BASE 0x60022000 /* GPIO CPU nonbuf base */ -#define CRYPTO_NONBUF_BASE 0x60024000 /* CRYPTO CPU nonbuf base */ -#define TRNG_NONBUF_BASE 0x60028000 /* TRNG CPU nonbuf base */ -#define FLASH_NONBUF_BASE 0x60030000 /* FLASH CPU nonbuf base */ -#define VIMS_NONBUF_BASE 0x60034000 /* VIMS CPU nonbuf base */ -#define RFC_PWR_NONBUF_BASE 0x60040000 /* RFC_PWR CPU nonbuf base */ -#define RFC_DBELL_NONBUF_BASE 0x60041000 /* RFC_DBELL CPU nonbuf base */ -#define RFC_RAT_NONBUF_BASE 0x60043000 /* RFC_RAT CPU nonbuf base */ -#define RFC_FSCA_NONBUF_BASE 0x60044000 /* RFC_FSCA CPU nonbuf base */ -#define WDT_NONBUF_BASE 0x60080000 /* WDT CPU nonbuf base */ -#define IOC_NONBUF_BASE 0x60081000 /* IOC CPU nonbuf base */ -#define PRCM_NONBUF_BASE 0x60082000 /* PRCM CPU nonbuf base */ -#define EVENT_NONBUF_BASE 0x60083000 /* EVENT CPU nonbuf base */ -#define SMPH_NONBUF_BASE 0x60084000 /* SMPH CPU nonbuf base */ -#define ADI2_NONBUF_BASE 0x60086000 /* ADI CPU nonbuf base */ -#define ADI3_NONBUF_BASE 0x60086200 /* ADI CPU nonbuf base */ -#define AON_SYSCTL_NONBUF_BASE 0x60090000 /* AON_SYSCTL CPU nonbuf base */ -#define AON_WUC_NONBUF_BASE 0x60091000 /* AON_WUC CPU nonbuf base */ -#define AON_RTC_NONBUF_BASE 0x60092000 /* AON_RTC CPU nonbuf base */ -#define AON_EVENT_NONBUF_BASE 0x60093000 /* AON_EVENT CPU nonbuf base */ -#define AON_IOC_NONBUF_BASE 0x60094000 /* AON_IOC CPU nonbuf base */ -#define AON_BATMON_NONBUF_BASE 0x60095000 /* AON_BATMON CPU nonbuf base */ -#define AUX_AIODIO0_NONBUF_BASE 0x600c1000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_AIODIO1_NONBUF_BASE 0x600c2000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_TDC_NONBUF_BASE 0x600c4000 /* AUX_TDC CPU nonbuf base */ -#define AUX_EVCTL_NONBUF_BASE 0x600c5000 /* AUX_EVCTL CPU nonbuf base */ -#define AUX_WUC_NONBUF_BASE 0x600c6000 /* AUX_WUC CPU nonbuf base */ -#define AUX_TIMER_NONBUF_BASE 0x600c7000 /* AUX_TIMER CPU nonbuf base */ -#define AUX_SMPH_NONBUF_BASE 0x600c8000 /* AUX_SMPH CPU nonbuf base */ -#define AUX_ANAIF_NONBUF_BASE 0x600c9000 /* AUX_ANAIF CPU nonbuf base */ -#define AUX_DDI0_OSC_NONBUF_BASE 0x600ca000 /* DDI CPU nonbuf base */ -#define AUX_ADI4_NONBUF_BASE 0x600cb000 /* ADI CPU nonbuf base */ -#define AUX_RAM_NONBUF_BASE 0x600e0000 /* AUX_RAM CPU nonbuf base */ -#define AUX_SCE_NONBUF_BASE 0x600e1000 /* AUX_SCE CPU nonbuf base */ -#define FLASHMEM_ALIAS_BASE 0xa0000000 /* FLASHMEM Alias base */ -#define CPU_ITM_BASE 0xe0000000 /* CPU_ITM */ -#define CPU_DWT_BASE 0xe0001000 /* CPU_DWT */ -#define CPU_FPB_BASE 0xe0002000 /* CPU_FPB */ -#define CPU_SCS_BASE 0xe000e000 /* CPU_SCS */ -#define CPU_TPIU_BASE 0xe0040000 /* CPU_TPIU */ -#define CPU_TIPROP_BASE 0xe00fe000 /* CPU_TIPROP */ -#define CPU_ROM_TABLE_BASE 0xe00ff000 /* CPU_ROM_TABLE */ +#define TIVA_CCFG_BASE_DEFAULT 0x50003000 /* CCFG */ +#define TIVA_SSI0_NONBUF_BASE 0x60000000 /* SSI CPU nonbuf base */ +#define TIVA_UART0_NONBUF_BASE 0x60001000 /* UART CPU nonbuf base */ +#define TIVA_I2C0_NONBUF_BASE 0x60002000 /* I2C CPU nonbuf base */ +#define TIVA_SSI1_NONBUF_BASE 0x60008000 /* SSI CPU nonbuf base */ +#define TIVA_GPT0_NONBUF_BASE 0x60010000 /* GPT CPU nonbuf base */ +#define TIVA_GPT1_NONBUF_BASE 0x60011000 /* GPT CPU nonbuf base */ +#define TIVA_GPT2_NONBUF_BASE 0x60012000 /* GPT CPU nonbuf base */ +#define TIVA_GPT3_NONBUF_BASE 0x60013000 /* GPT CPU nonbuf base */ +#define TIVA_UDMA0_NONBUF_BASE 0x60020000 /* UDMA CPU nonbuf base */ +#define TIVA_I2S0_NONBUF_BASE 0x60021000 /* I2S CPU nonbuf base */ +#define TIVA_GPIO_NONBUF_BASE 0x60022000 /* GPIO CPU nonbuf base */ +#define TIVA_CRYPTO_NONBUF_BASE 0x60024000 /* CRYPTO CPU nonbuf base */ +#define TIVA_TRNG_NONBUF_BASE 0x60028000 /* TRNG CPU nonbuf base */ +#define TIVA_FLASH_NONBUF_BASE 0x60030000 /* FLASH CPU nonbuf base */ +#define TIVA_VIMS_NONBUF_BASE 0x60034000 /* VIMS CPU nonbuf base */ +#define TIVA_RFC_PWR_NONBUF_BASE 0x60040000 /* RFC_PWR CPU nonbuf base */ +#define TIVA_RFC_DBELL_NONBUF_BASE 0x60041000 /* RFC_DBELL CPU nonbuf base */ +#define TIVA_RFC_RAT_NONBUF_BASE 0x60043000 /* RFC_RAT CPU nonbuf base */ +#define TIVA_RFC_FSCA_NONBUF_BASE 0x60044000 /* RFC_FSCA CPU nonbuf base */ +#define TIVA_WDT_NONBUF_BASE 0x60080000 /* WDT CPU nonbuf base */ +#define TIVA_IOC_NONBUF_BASE 0x60081000 /* IOC CPU nonbuf base */ +#define TIVA_PRCM_NONBUF_BASE 0x60082000 /* PRCM CPU nonbuf base */ +#define TIVA_EVENT_NONBUF_BASE 0x60083000 /* EVENT CPU nonbuf base */ +#define TIVA_SMPH_NONBUF_BASE 0x60084000 /* SMPH CPU nonbuf base */ +#define TIVA_ADI2_NONBUF_BASE 0x60086000 /* ADI CPU nonbuf base */ +#define TIVA_ADI3_NONBUF_BASE 0x60086200 /* ADI CPU nonbuf base */ +#define TIVA_AON_SYSCTL_NONBUF_BASE 0x60090000 /* AON_SYSCTL CPU nonbuf base */ +#define TIVA_AON_WUC_NONBUF_BASE 0x60091000 /* AON_WUC CPU nonbuf base */ +#define TIVA_AON_RTC_NONBUF_BASE 0x60092000 /* AON_RTC CPU nonbuf base */ +#define TIVA_AON_EVENT_NONBUF_BASE 0x60093000 /* AON_EVENT CPU nonbuf base */ +#define TIVA_AON_IOC_NONBUF_BASE 0x60094000 /* AON_IOC CPU nonbuf base */ +#define TIVA_AON_BATMON_NONBUF_BASE 0x60095000 /* AON_BATMON CPU nonbuf base */ +#define TIVA_AUX_AIODIO0_NONBUF_BASE 0x600c1000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_AIODIO1_NONBUF_BASE 0x600c2000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_TDC_NONBUF_BASE 0x600c4000 /* AUX_TDC CPU nonbuf base */ +#define TIVA_AUX_EVCTL_NONBUF_BASE 0x600c5000 /* AUX_EVCTL CPU nonbuf base */ +#define TIVA_AUX_WUC_NONBUF_BASE 0x600c6000 /* AUX_WUC CPU nonbuf base */ +#define TIVA_AUX_TIMER_NONBUF_BASE 0x600c7000 /* AUX_TIMER CPU nonbuf base */ +#define TIVA_AUX_SMPH_NONBUF_BASE 0x600c8000 /* AUX_SMPH CPU nonbuf base */ +#define TIVA_AUX_ANAIF_NONBUF_BASE 0x600c9000 /* AUX_ANAIF CPU nonbuf base */ +#define TIVA_AUX_DDI0_OSC_NONBUF_BASE 0x600ca000 /* DDI CPU nonbuf base */ +#define TIVA_AUX_ADI4_NONBUF_BASE 0x600cb000 /* ADI CPU nonbuf base */ +#define TIVA_AUX_RAM_NONBUF_BASE 0x600e0000 /* AUX_RAM CPU nonbuf base */ +#define TIVA_AUX_SCE_NONBUF_BASE 0x600e1000 /* AUX_SCE CPU nonbuf base */ +#define TIVA_FLASHMEM_ALIAS_BASE 0xa0000000 /* FLASHMEM Alias base */ +#define TIVA_CPU_ITM_BASE 0xe0000000 /* CPU_ITM */ +#define TIVA_CPU_DWT_BASE 0xe0001000 /* CPU_DWT */ +#define TIVA_CPU_FPB_BASE 0xe0002000 /* CPU_FPB */ +#define TIVA_CPU_SCS_BASE 0xe000e000 /* CPU_SCS */ +#define TIVA_CPU_TPIU_BASE 0xe0040000 /* CPU_TPIU */ +#define TIVA_CPU_TIPROP_BASE 0xe00fe000 /* CPU_TIPROP */ +#define TIVA_CPU_ROM_TABLE_BASE 0xe00ff000 /* CPU_ROM_TABLE */ #endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_C13X0_C13X0_MEMORYMAP_H */ diff --git a/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_memorymap.h b/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_memorymap.h index 92768f73e7..79ee9c2060 100644 --- a/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_memorymap.h +++ b/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_memorymap.h @@ -55,132 +55,132 @@ * ******************************************************************************/ -#define FLASHMEM_BASE 0x00000000 /* FLASHMEM */ -#define BROM_BASE 0x10000000 /* BROM */ -#define GPRAM_BASE 0x11000000 /* GPRAM */ -#define SRAM_BASE 0x20000000 /* SRAM */ -#define RFC_RAM_BASE 0x21000000 /* RFC_RAM */ -#define RFC_ULLRAM_BASE 0x21004000 /* RFC_ULLRAM */ -#define SSI0_BASE 0x40000000 /* SSI */ -#define UART0_BASE 0x40001000 /* UART */ -#define I2C0_BASE 0x40002000 /* I2C */ -#define SSI1_BASE 0x40008000 /* SSI */ -#define UART1_BASE 0x4000b000 /* UART */ -#define GPT0_BASE 0x40010000 /* GPT */ -#define GPT1_BASE 0x40011000 /* GPT */ -#define GPT2_BASE 0x40012000 /* GPT */ -#define GPT3_BASE 0x40013000 /* GPT */ -#define UDMA0_BASE 0x40020000 /* UDMA */ -#define I2S0_BASE 0x40021000 /* I2S */ -#define GPIO_BASE 0x40022000 /* GPIO */ -#define CRYPTO_BASE 0x40024000 /* CRYPTO */ -#define PKA_BASE 0x40025000 /* PKA */ -#define PKA_RAM_BASE 0x40026000 /* PKA_RAM */ -#define PKA_INT_BASE 0x40027000 /* PKA_INT */ -#define TRNG_BASE 0x40028000 /* TRNG */ -#define FLASH_BASE 0x40030000 /* FLASH */ -#define VIMS_BASE 0x40034000 /* VIMS */ -#define SRAM_MMR_BASE 0x40035000 /* SRAM_MMR */ -#define RFC_PWR_BASE 0x40040000 /* RFC_PWR */ -#define RFC_DBELL_BASE 0x40041000 /* RFC_DBELL */ -#define RFC_RAT_BASE 0x40043000 /* RFC_RAT */ -#define RFC_FSCA_BASE 0x40044000 /* RFC_FSCA */ -#define WDT_BASE 0x40080000 /* WDT */ -#define IOC_BASE 0x40081000 /* IOC */ -#define PRCM_BASE 0x40082000 /* PRCM */ -#define EVENT_BASE 0x40083000 /* EVENT */ -#define SMPH_BASE 0x40084000 /* SMPH */ -#define ADI2_BASE 0x40086000 /* ADI */ -#define ADI3_BASE 0x40086200 /* ADI */ -#define AON_PMCTL_BASE 0x40090000 /* AON_PMCTL */ -#define AON_RTC_BASE 0x40092000 /* AON_RTC */ -#define AON_EVENT_BASE 0x40093000 /* AON_EVENT */ -#define AON_IOC_BASE 0x40094000 /* AON_IOC */ -#define AON_BATMON_BASE 0x40095000 /* AON_BATMON */ -#define AUX_SPIM_BASE 0x400c1000 /* AUX_SPIM */ -#define AUX_MAC_BASE 0x400c2000 /* AUX_MAC */ -#define AUX_TIMER2_BASE 0x400c3000 /* AUX_TIMER2 */ -#define AUX_TDC_BASE 0x400c4000 /* AUX_TDC */ -#define AUX_EVCTL_BASE 0x400c5000 /* AUX_EVCTL */ -#define AUX_SYSIF_BASE 0x400c6000 /* AUX_SYSIF */ -#define AUX_TIMER01_BASE 0x400c7000 /* AUX_TIMER01 */ -#define AUX_SMPH_BASE 0x400c8000 /* AUX_SMPH */ -#define AUX_ANAIF_BASE 0x400c9000 /* AUX_ANAIF */ -#define AUX_DDI0_OSC_BASE 0x400ca000 /* DDI */ -#define AUX_ADI4_BASE 0x400cb000 /* ADI */ -#define AUX_AIODIO0_BASE 0x400cc000 /* AUX_AIODIO */ -#define AUX_AIODIO1_BASE 0x400cd000 /* AUX_AIODIO */ -#define AUX_AIODIO2_BASE 0x400ce000 /* AUX_AIODIO */ -#define AUX_AIODIO3_BASE 0x400cf000 /* AUX_AIODIO */ -#define AUX_RAM_BASE 0x400e0000 /* AUX_RAM */ -#define AUX_SCE_BASE 0x400e1000 /* AUX_SCE */ -#define FLASH_CFG_BASE 0x50000000 /* CC26_DUMMY_COMP */ -#define FCFG1_BASE 0x50001000 /* FCFG1 */ -#define FCFG2_BASE 0x50002000 /* FCFG2 */ +#define TIVA_FLASHMEM_BASE 0x00000000 /* FLASHMEM */ +#define TIVA_BROM_BASE 0x10000000 /* BROM */ +#define TIVA_GPRAM_BASE 0x11000000 /* GPRAM */ +#define TIVA_SRAM_BASE 0x20000000 /* SRAM */ +#define TIVA_RFC_RAM_BASE 0x21000000 /* RFC_RAM */ +#define TIVA_RFC_ULLRAM_BASE 0x21004000 /* RFC_ULLRAM */ +#define TIVA_SSI0_BASE 0x40000000 /* SSI */ +#define TIVA_UART0_BASE 0x40001000 /* UART */ +#define TIVA_I2C0_BASE 0x40002000 /* I2C */ +#define TIVA_SSI1_BASE 0x40008000 /* SSI */ +#define TIVA_UART1_BASE 0x4000b000 /* UART */ +#define TIVA_GPT0_BASE 0x40010000 /* GPT */ +#define TIVA_GPT1_BASE 0x40011000 /* GPT */ +#define TIVA_GPT2_BASE 0x40012000 /* GPT */ +#define TIVA_GPT3_BASE 0x40013000 /* GPT */ +#define TIVA_UDMA0_BASE 0x40020000 /* UDMA */ +#define TIVA_I2S0_BASE 0x40021000 /* I2S */ +#define TIVA_GPIO_BASE 0x40022000 /* GPIO */ +#define TIVA_CRYPTO_BASE 0x40024000 /* CRYPTO */ +#define TIVA_PKA_BASE 0x40025000 /* PKA */ +#define TIVA_PKA_RAM_BASE 0x40026000 /* PKA_RAM */ +#define TIVA_PKA_INT_BASE 0x40027000 /* PKA_INT */ +#define TIVA_TRNG_BASE 0x40028000 /* TRNG */ +#define TIVA_FLASH_BASE 0x40030000 /* FLASH */ +#define TIVA_VIMS_BASE 0x40034000 /* VIMS */ +#define TIVA_SRAM_MMR_BASE 0x40035000 /* SRAM_MMR */ +#define TIVA_RFC_PWR_BASE 0x40040000 /* RFC_PWR */ +#define TIVA_RFC_DBELL_BASE 0x40041000 /* RFC_DBELL */ +#define TIVA_RFC_RAT_BASE 0x40043000 /* RFC_RAT */ +#define TIVA_RFC_FSCA_BASE 0x40044000 /* RFC_FSCA */ +#define TIVA_WDT_BASE 0x40080000 /* WDT */ +#define TIVA_IOC_BASE 0x40081000 /* IOC */ +#define TIVA_PRCM_BASE 0x40082000 /* PRCM */ +#define TIVA_EVENT_BASE 0x40083000 /* EVENT */ +#define TIVA_SMPH_BASE 0x40084000 /* SMPH */ +#define TIVA_ADI2_BASE 0x40086000 /* ADI */ +#define TIVA_ADI3_BASE 0x40086200 /* ADI */ +#define TIVA_AON_PMCTL_BASE 0x40090000 /* AON_PMCTL */ +#define TIVA_AON_RTC_BASE 0x40092000 /* AON_RTC */ +#define TIVA_AON_EVENT_BASE 0x40093000 /* AON_EVENT */ +#define TIVA_AON_IOC_BASE 0x40094000 /* AON_IOC */ +#define TIVA_AON_BATMON_BASE 0x40095000 /* AON_BATMON */ +#define TIVA_AUX_SPIM_BASE 0x400c1000 /* AUX_SPIM */ +#define TIVA_AUX_MAC_BASE 0x400c2000 /* AUX_MAC */ +#define TIVA_AUX_TIMER2_BASE 0x400c3000 /* AUX_TIMER2 */ +#define TIVA_AUX_TDC_BASE 0x400c4000 /* AUX_TDC */ +#define TIVA_AUX_EVCTL_BASE 0x400c5000 /* AUX_EVCTL */ +#define TIVA_AUX_SYSIF_BASE 0x400c6000 /* AUX_SYSIF */ +#define TIVA_AUX_TIMER01_BASE 0x400c7000 /* AUX_TIMER01 */ +#define TIVA_AUX_SMPH_BASE 0x400c8000 /* AUX_SMPH */ +#define TIVA_AUX_ANAIF_BASE 0x400c9000 /* AUX_ANAIF */ +#define TIVA_AUX_DDI0_OSC_BASE 0x400ca000 /* DDI */ +#define TIVA_AUX_ADI4_BASE 0x400cb000 /* ADI */ +#define TIVA_AUX_AIODIO0_BASE 0x400cc000 /* AUX_AIODIO */ +#define TIVA_AUX_AIODIO1_BASE 0x400cd000 /* AUX_AIODIO */ +#define TIVA_AUX_AIODIO2_BASE 0x400ce000 /* AUX_AIODIO */ +#define TIVA_AUX_AIODIO3_BASE 0x400cf000 /* AUX_AIODIO */ +#define TIVA_AUX_RAM_BASE 0x400e0000 /* AUX_RAM */ +#define TIVA_AUX_SCE_BASE 0x400e1000 /* AUX_SCE */ +#define TIVA_FLASH_CFG_BASE 0x50000000 /* CC26_DUMMY_COMP */ +#define TIVA_FCFG1_BASE 0x50001000 /* FCFG1 */ +#define TIVA_FCFG2_BASE 0x50002000 /* FCFG2 */ #ifndef CCFG_BASE -# define CCFG_BASE 0x50003000 /* CCFG */ +# define TIVA_CCFG_BASE 0x50003000 /* CCFG */ #endif -#define CCFG_BASE_DEFAULT 0x50003000 /* CCFG */ -#define SSI0_NONBUF_BASE 0x60000000 /* SSI CPU nonbuf base */ -#define UART0_NONBUF_BASE 0x60001000 /* UART CPU nonbuf base */ -#define I2C0_NONBUF_BASE 0x60002000 /* I2C CPU nonbuf base */ -#define SSI1_NONBUF_BASE 0x60008000 /* SSI CPU nonbuf base */ -#define UART1_NONBUF_BASE 0x6000b000 /* UART CPU nonbuf base */ -#define GPT0_NONBUF_BASE 0x60010000 /* GPT CPU nonbuf base */ -#define GPT1_NONBUF_BASE 0x60011000 /* GPT CPU nonbuf base */ -#define GPT2_NONBUF_BASE 0x60012000 /* GPT CPU nonbuf base */ -#define GPT3_NONBUF_BASE 0x60013000 /* GPT CPU nonbuf base */ -#define UDMA0_NONBUF_BASE 0x60020000 /* UDMA CPU nonbuf base */ -#define I2S0_NONBUF_BASE 0x60021000 /* I2S CPU nonbuf base */ -#define GPIO_NONBUF_BASE 0x60022000 /* GPIO CPU nonbuf base */ -#define CRYPTO_NONBUF_BASE 0x60024000 /* CRYPTO CPU nonbuf base */ -#define PKA_NONBUF_BASE 0x60025000 /* PKA CPU nonbuf base */ -#define PKA_RAM_NONBUF_BASE 0x60026000 /* PKA_RAM CPU nonbuf base */ -#define PKA_INT_NONBUF_BASE 0x60027000 /* PKA_INT CPU nonbuf base */ -#define TRNG_NONBUF_BASE 0x60028000 /* TRNG CPU nonbuf base */ -#define FLASH_NONBUF_BASE 0x60030000 /* FLASH CPU nonbuf base */ -#define VIMS_NONBUF_BASE 0x60034000 /* VIMS CPU nonbuf base */ -#define SRAM_MMR_NONBUF_BASE 0x60035000 /* SRAM_MMR CPU nonbuf base */ -#define RFC_PWR_NONBUF_BASE 0x60040000 /* RFC_PWR CPU nonbuf base */ -#define RFC_DBELL_NONBUF_BASE 0x60041000 /* RFC_DBELL CPU nonbuf base */ -#define RFC_RAT_NONBUF_BASE 0x60043000 /* RFC_RAT CPU nonbuf base */ -#define RFC_FSCA_NONBUF_BASE 0x60044000 /* RFC_FSCA CPU nonbuf base */ -#define WDT_NONBUF_BASE 0x60080000 /* WDT CPU nonbuf base */ -#define IOC_NONBUF_BASE 0x60081000 /* IOC CPU nonbuf base */ -#define PRCM_NONBUF_BASE 0x60082000 /* PRCM CPU nonbuf base */ -#define EVENT_NONBUF_BASE 0x60083000 /* EVENT CPU nonbuf base */ -#define SMPH_NONBUF_BASE 0x60084000 /* SMPH CPU nonbuf base */ -#define ADI2_NONBUF_BASE 0x60086000 /* ADI CPU nonbuf base */ -#define ADI3_NONBUF_BASE 0x60086200 /* ADI CPU nonbuf base */ -#define AON_PMCTL_NONBUF_BASE 0x60090000 /* AON_PMCTL CPU nonbuf base */ -#define AON_RTC_NONBUF_BASE 0x60092000 /* AON_RTC CPU nonbuf base */ -#define AON_EVENT_NONBUF_BASE 0x60093000 /* AON_EVENT CPU nonbuf base */ -#define AON_IOC_NONBUF_BASE 0x60094000 /* AON_IOC CPU nonbuf base */ -#define AON_BATMON_NONBUF_BASE 0x60095000 /* AON_BATMON CPU nonbuf base */ -#define AUX_SPIM_NONBUF_BASE 0x600c1000 /* AUX_SPIM CPU nonbuf base */ -#define AUX_MAC_NONBUF_BASE 0x600c2000 /* AUX_MAC CPU nonbuf base */ -#define AUX_TIMER2_NONBUF_BASE 0x600c3000 /* AUX_TIMER2 CPU nonbuf base */ -#define AUX_TDC_NONBUF_BASE 0x600c4000 /* AUX_TDC CPU nonbuf base */ -#define AUX_EVCTL_NONBUF_BASE 0x600c5000 /* AUX_EVCTL CPU nonbuf base */ -#define AUX_SYSIF_NONBUF_BASE 0x600c6000 /* AUX_SYSIF CPU nonbuf base */ -#define AUX_TIMER01_NONBUF_BASE 0x600c7000 /* AUX_TIMER01 CPU nonbuf base */ -#define AUX_SMPH_NONBUF_BASE 0x600c8000 /* AUX_SMPH CPU nonbuf base */ -#define AUX_ANAIF_NONBUF_BASE 0x600c9000 /* AUX_ANAIF CPU nonbuf base */ -#define AUX_DDI0_OSC_NONBUF_BASE 0x600ca000 /* DDI CPU nonbuf base */ -#define AUX_ADI4_NONBUF_BASE 0x600cb000 /* ADI CPU nonbuf base */ -#define AUX_AIODIO0_NONBUF_BASE 0x600cc000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_AIODIO1_NONBUF_BASE 0x600cd000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_AIODIO2_NONBUF_BASE 0x600ce000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_AIODIO3_NONBUF_BASE 0x600cf000 /* AUX_AIODIO CPU nonbuf base */ -#define AUX_RAM_NONBUF_BASE 0x600e0000 /* AUX_RAM CPU nonbuf base */ -#define AUX_SCE_NONBUF_BASE 0x600e1000 /* AUX_SCE CPU nonbuf base */ -#define FLASHMEM_ALIAS_BASE 0xa0000000 /* FLASHMEM Alias base */ -#define CPU_ITM_BASE 0xe0000000 /* CPU_ITM */ -#define CPU_DWT_BASE 0xe0001000 /* CPU_DWT */ -#define CPU_FPB_BASE 0xe0002000 /* CPU_FPB */ -#define CPU_SCS_BASE 0xe000e000 /* CPU_SCS */ -#define CPU_TPIU_BASE 0xe0040000 /* CPU_TPIU */ -#define CPU_TIPROP_BASE 0xe00fe000 /* CPU_TIPROP */ -#define CPU_ROM_TABLE_BASE 0xe00ff000 /* CPU_ROM_TABLE */ +#define TIVA_CCFG_BASE_DEFAULT 0x50003000 /* CCFG */ +#define TIVA_SSI0_NONBUF_BASE 0x60000000 /* SSI CPU nonbuf base */ +#define TIVA_UART0_NONBUF_BASE 0x60001000 /* UART CPU nonbuf base */ +#define TIVA_I2C0_NONBUF_BASE 0x60002000 /* I2C CPU nonbuf base */ +#define TIVA_SSI1_NONBUF_BASE 0x60008000 /* SSI CPU nonbuf base */ +#define TIVA_UART1_NONBUF_BASE 0x6000b000 /* UART CPU nonbuf base */ +#define TIVA_GPT0_NONBUF_BASE 0x60010000 /* GPT CPU nonbuf base */ +#define TIVA_GPT1_NONBUF_BASE 0x60011000 /* GPT CPU nonbuf base */ +#define TIVA_GPT2_NONBUF_BASE 0x60012000 /* GPT CPU nonbuf base */ +#define TIVA_GPT3_NONBUF_BASE 0x60013000 /* GPT CPU nonbuf base */ +#define TIVA_UDMA0_NONBUF_BASE 0x60020000 /* UDMA CPU nonbuf base */ +#define TIVA_I2S0_NONBUF_BASE 0x60021000 /* I2S CPU nonbuf base */ +#define TIVA_GPIO_NONBUF_BASE 0x60022000 /* GPIO CPU nonbuf base */ +#define TIVA_CRYPTO_NONBUF_BASE 0x60024000 /* CRYPTO CPU nonbuf base */ +#define TIVA_PKA_NONBUF_BASE 0x60025000 /* PKA CPU nonbuf base */ +#define TIVA_PKA_RAM_NONBUF_BASE 0x60026000 /* PKA_RAM CPU nonbuf base */ +#define TIVA_PKA_INT_NONBUF_BASE 0x60027000 /* PKA_INT CPU nonbuf base */ +#define TIVA_TRNG_NONBUF_BASE 0x60028000 /* TRNG CPU nonbuf base */ +#define TIVA_FLASH_NONBUF_BASE 0x60030000 /* FLASH CPU nonbuf base */ +#define TIVA_VIMS_NONBUF_BASE 0x60034000 /* VIMS CPU nonbuf base */ +#define TIVA_SRAM_MMR_NONBUF_BASE 0x60035000 /* SRAM_MMR CPU nonbuf base */ +#define TIVA_RFC_PWR_NONBUF_BASE 0x60040000 /* RFC_PWR CPU nonbuf base */ +#define TIVA_RFC_DBELL_NONBUF_BASE 0x60041000 /* RFC_DBELL CPU nonbuf base */ +#define TIVA_RFC_RAT_NONBUF_BASE 0x60043000 /* RFC_RAT CPU nonbuf base */ +#define TIVA_RFC_FSCA_NONBUF_BASE 0x60044000 /* RFC_FSCA CPU nonbuf base */ +#define TIVA_WDT_NONBUF_BASE 0x60080000 /* WDT CPU nonbuf base */ +#define TIVA_IOC_NONBUF_BASE 0x60081000 /* IOC CPU nonbuf base */ +#define TIVA_PRCM_NONBUF_BASE 0x60082000 /* PRCM CPU nonbuf base */ +#define TIVA_EVENT_NONBUF_BASE 0x60083000 /* EVENT CPU nonbuf base */ +#define TIVA_SMPH_NONBUF_BASE 0x60084000 /* SMPH CPU nonbuf base */ +#define TIVA_ADI2_NONBUF_BASE 0x60086000 /* ADI CPU nonbuf base */ +#define TIVA_ADI3_NONBUF_BASE 0x60086200 /* ADI CPU nonbuf base */ +#define TIVA_AON_PMCTL_NONBUF_BASE 0x60090000 /* AON_PMCTL CPU nonbuf base */ +#define TIVA_AON_RTC_NONBUF_BASE 0x60092000 /* AON_RTC CPU nonbuf base */ +#define TIVA_AON_EVENT_NONBUF_BASE 0x60093000 /* AON_EVENT CPU nonbuf base */ +#define TIVA_AON_IOC_NONBUF_BASE 0x60094000 /* AON_IOC CPU nonbuf base */ +#define TIVA_AON_BATMON_NONBUF_BASE 0x60095000 /* AON_BATMON CPU nonbuf base */ +#define TIVA_AUX_SPIM_NONBUF_BASE 0x600c1000 /* AUX_SPIM CPU nonbuf base */ +#define TIVA_AUX_MAC_NONBUF_BASE 0x600c2000 /* AUX_MAC CPU nonbuf base */ +#define TIVA_AUX_TIMER2_NONBUF_BASE 0x600c3000 /* AUX_TIMER2 CPU nonbuf base */ +#define TIVA_AUX_TDC_NONBUF_BASE 0x600c4000 /* AUX_TDC CPU nonbuf base */ +#define TIVA_AUX_EVCTL_NONBUF_BASE 0x600c5000 /* AUX_EVCTL CPU nonbuf base */ +#define TIVA_AUX_SYSIF_NONBUF_BASE 0x600c6000 /* AUX_SYSIF CPU nonbuf base */ +#define TIVA_AUX_TIMER01_NONBUF_BASE 0x600c7000 /* AUX_TIMER01 CPU nonbuf base */ +#define TIVA_AUX_SMPH_NONBUF_BASE 0x600c8000 /* AUX_SMPH CPU nonbuf base */ +#define TIVA_AUX_ANAIF_NONBUF_BASE 0x600c9000 /* AUX_ANAIF CPU nonbuf base */ +#define TIVA_AUX_DDI0_OSC_NONBUF_BASE 0x600ca000 /* DDI CPU nonbuf base */ +#define TIVA_AUX_ADI4_NONBUF_BASE 0x600cb000 /* ADI CPU nonbuf base */ +#define TIVA_AUX_AIODIO0_NONBUF_BASE 0x600cc000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_AIODIO1_NONBUF_BASE 0x600cd000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_AIODIO2_NONBUF_BASE 0x600ce000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_AIODIO3_NONBUF_BASE 0x600cf000 /* AUX_AIODIO CPU nonbuf base */ +#define TIVA_AUX_RAM_NONBUF_BASE 0x600e0000 /* AUX_RAM CPU nonbuf base */ +#define TIVA_AUX_SCE_NONBUF_BASE 0x600e1000 /* AUX_SCE CPU nonbuf base */ +#define TIVA_FLASHMEM_ALIAS_BASE 0xa0000000 /* FLASHMEM Alias base */ +#define TIVA_CPU_ITM_BASE 0xe0000000 /* CPU_ITM */ +#define TIVA_CPU_DWT_BASE 0xe0001000 /* CPU_DWT */ +#define TIVA_CPU_FPB_BASE 0xe0002000 /* CPU_FPB */ +#define TIVA_CPU_SCS_BASE 0xe000e000 /* CPU_SCS */ +#define TIVA_CPU_TPIU_BASE 0xe0040000 /* CPU_TPIU */ +#define TIVA_CPU_TIPROP_BASE 0xe00fe000 /* CPU_TIPROP */ +#define TIVA_CPU_ROM_TABLE_BASE 0xe00ff000 /* CPU_ROM_TABLE */ #endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_CC13X2_CC26X2_CC13X2_CC26X2_MEMORYMAP_H */ diff --git a/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h b/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h new file mode 100644 index 0000000000..a3cea06911 --- /dev/null +++ b/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h @@ -0,0 +1,451 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/lm/lm3s_gpio.h + * + * Copyright (C) 2009-2010, 2013 Gregory Nutt. All rights reserved. + * Authors: Gregory Nutt + * Jose Pablo Carballo + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM3S_GPIO_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM3S_GPIO_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ +/* REVISIT: Why do we not use the AHB aperture for all GPIO accesses? */ + +#define TIVA_GPIOK_BASE TIVA_GPIOKAHB_BASE +#define TIVA_GPIOL_BASE TIVA_GPIOLAHB_BASE +#define TIVA_GPIOM_BASE TIVA_GPIOMAHB_BASE +#define TIVA_GPION_BASE TIVA_GPIONAHB_BASE +#define TIVA_GPIOP_BASE TIVA_GPIOPAHB_BASE +#define TIVA_GPIOQ_BASE TIVA_GPIOQAHB_BASE +#define TIVA_GPIOR_BASE TIVA_GPIORAHB_BASE +#define TIVA_GPIOS_BASE TIVA_GPIOSAHB_BASE +#define TIVA_GPIOT_BASE TIVA_GPIOTAHB_BASE + +/* GPIO Register Offsets ************************************************************/ + +#define TIVA_GPIO_DATA_OFFSET 0x0000 /* GPIO Data */ +#define TIVA_GPIO_DIR_OFFSET 0x0400 /* GPIO Direction */ +#define TIVA_GPIO_IS_OFFSET 0x0404 /* GPIO Interrupt Sense */ +#define TIVA_GPIO_IBE_OFFSET 0x0408 /* GPIO Interrupt Both Edges */ +#define TIVA_GPIO_IEV_OFFSET 0x040c /* GPIO Interrupt Event */ +#define TIVA_GPIO_IM_OFFSET 0x0410 /* GPIO Interrupt Mask */ +#define TIVA_GPIO_RIS_OFFSET 0x0414 /* GPIO Raw Interrupt Status */ +#define TIVA_GPIO_MIS_OFFSET 0x0418 /* GPIO Masked Interrupt Status */ +#define TIVA_GPIO_ICR_OFFSET 0x041c /* GPIO Interrupt Clear */ +#define TIVA_GPIO_AFSEL_OFFSET 0x0420 /* GPIO Alternate Function */ +#define TIVA_GPIO_DR2R_OFFSET 0x0500 /* Select GPIO 2-mA Drive Select */ +#define TIVA_GPIO_DR4R_OFFSET 0x0504 /* GPIO 4-mA Drive Select */ +#define TIVA_GPIO_DR8R_OFFSET 0x0508 /* GPIO 8-mA Drive Select */ +#define TIVA_GPIO_ODR_OFFSET 0x050c /* GPIO Open Drain Select */ +#define TIVA_GPIO_PUR_OFFSET 0x0510 /* GPIO Pull-Up Select */ +#define TIVA_GPIO_PDR_OFFSET 0x0514 /* GPIO Pull-Down Select */ +#define TIVA_GPIO_SLR_OFFSET 0x0518 /* GPIO Slew Rate Control Select */ +#define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ +#define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ +#define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ + +#define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ +#define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ +#define TIVA_GPIO_PERIPHID6_OFFSET 0x0fd8 /* GPIO Peripheral Identification 6 */ +#define TIVA_GPIO_PERIPHID7_OFFSET 0x0fdc /* GPIO Peripheral Identification 7 */ +#define TIVA_GPIO_PERIPHID0_OFFSET 0x0fe0 /* GPIO Peripheral Identification 0 */ +#define TIVA_GPIO_PERIPHID1_OFFSET 0x0fe4 /* GPIO Peripheral Identification 1 */ +#define TIVA_GPIO_PERIPHID2_OFFSET 0x0fe8 /* GPIO Peripheral Identification 2 */ +#define TIVA_GPIO_PERIPHID3_OFFSET 0x0fec /* GPIO Peripheral Identification 3 */ +#define TIVA_GPIO_PCELLID0_OFFSET 0x0ff0 /* GPIO PrimeCell Identification 0 */ +#define TIVA_GPIO_PCELLID1_OFFSET 0x0ff4 /* GPIO PrimeCell Identification 1 */ +#define TIVA_GPIO_PCELLID2_OFFSET 0x0ff8 /* GPIO PrimeCell Identification 2 */ +#define TIVA_GPIO_PCELLID3_OFFSET 0x0ffc /* GPIO PrimeCell Identification 3*/ + +/* GPIO Register Addresses **********************************************************/ + +#if TIVA_NPORTS > 0 + +# define TIVA_GPIOA_DATA (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOA_DIR (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOA_IS (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOA_IBE (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOA_IEV (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOA_IM (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOA_RIS (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOA_MIS (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOA_ICR (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOA_AFSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOA_DR2R (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOA_DR4R (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOA_DR8R (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOA_ODR (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOA_PUR (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOA_PDR (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOA_SLR (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOA_PERIPHID6 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOA_PERIPHID7 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOA_PERIPHID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOA_PERIPHID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOA_PERIPHID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOA_PERIPHID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOA_PCELLID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOA_PCELLID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOA_PCELLID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOA_PCELLID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 1 + +# define TIVA_GPIOB_DATA (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOB_DIR (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOB_IS (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOB_IBE (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOB_IEV (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOB_IM (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOB_RIS (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOB_MIS (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOB_ICR (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOB_AFSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOB_DR2R (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOB_DR4R (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOB_DR8R (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOB_ODR (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOB_PUR (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOB_PDR (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOB_SLR (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOB_PERIPHID6 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOB_PERIPHID7 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOB_PERIPHID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOB_PERIPHID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOB_PERIPHID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOB_PERIPHID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOB_PCELLID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOB_PCELLID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOB_PCELLID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOB_PCELLID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 2 + +# define TIVA_GPIOC_DATA (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOC_DIR (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOC_IS (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOC_IBE (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOC_IEV (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOC_IM (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOC_RIS (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOC_MIS (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOC_ICR (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOC_AFSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOC_DR2R (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOC_DR4R (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOC_DR8R (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOC_ODR (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOC_PUR (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOC_PDR (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOC_SLR (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOC_PERIPHID6 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOC_PERIPHID7 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOC_PERIPHID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOC_PERIPHID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOC_PERIPHID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOC_PERIPHID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOC_PCELLID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOC_PCELLID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOC_PCELLID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOC_PCELLID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 3 + +# define TIVA_GPIOD_DATA (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOD_DIR (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOD_IS (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOD_IBE (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOD_IEV (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOD_IM (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOD_RIS (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOD_MIS (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOD_ICR (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOD_AFSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOD_DR2R (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOD_DR4R (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOD_DR8R (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOD_ODR (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOD_PUR (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOD_PDR (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOD_SLR (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOD_PERIPHID6 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOD_PERIPHID7 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOD_PERIPHID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOD_PERIPHID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOD_PERIPHID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOD_PERIPHID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOD_PCELLID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOD_PCELLID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOD_PCELLID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOD_PCELLID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 4 + +# define TIVA_GPIOE_DATA (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOE_DIR (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOE_IS (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOE_IBE (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOE_IEV (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOE_IM (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOE_RIS (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOE_MIS (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOE_ICR (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOE_AFSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOE_DR2R (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOE_DR4R (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOE_DR8R (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOE_ODR (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOE_PUR (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOE_PDR (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOE_SLR (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOE_PERIPHID6 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOE_PERIPHID7 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOE_PERIPHID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOE_PERIPHID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOE_PERIPHID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOE_PERIPHID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOE_PCELLID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOE_PCELLID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOE_PCELLID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOE_PCELLID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 5 + +# define TIVA_GPIOF_DATA (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOF_DIR (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOF_IS (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOF_IBE (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOF_IEV (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOF_IM (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOF_RIS (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOF_MIS (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOF_ICR (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOF_AFSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOF_DR2R (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOF_DR4R (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOF_DR8R (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOF_ODR (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOF_PUR (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOF_PDR (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOF_SLR (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOF_PERIPHID6 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOF_PERIPHID7 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOF_PERIPHID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOF_PERIPHID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOF_PERIPHID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOF_PERIPHID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOF_PCELLID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOF_PCELLID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOF_PCELLID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOF_PCELLID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 6 + +# define TIVA_GPIOG_DATA (TIVA_GPIOG_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOG_DIR (TIVA_GPIOG_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOG_IS (TIVA_GPIOG_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOG_IBE (TIVA_GPIOG_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOG_IEV (TIVA_GPIOG_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOG_IM (TIVA_GPIOG_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOG_RIS (TIVA_GPIOG_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOG_MIS (TIVA_GPIOG_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOG_ICR (TIVA_GPIOG_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOG_AFSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOG_DR2R (TIVA_GPIOG_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOG_DR4R (TIVA_GPIOG_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOG_DR8R (TIVA_GPIOG_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOG_ODR (TIVA_GPIOG_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOG_PUR (TIVA_GPIOG_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOG_PDR (TIVA_GPIOG_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOG_SLR (TIVA_GPIOG_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOG_DEN (TIVA_GPIOG_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOG_LOCK (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOG_CR (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOG_PERIPHID4 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOG_PERIPHID5 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOG_PERIPHID6 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOG_PERIPHID7 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOG_PERIPHID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOG_PERIPHID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOG_PERIPHID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOG_PERIPHID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOG_PCELLID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOG_PCELLID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOG_PCELLID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOG_PCELLID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 7 + +# define TIVA_GPIOH_DATA (TIVA_GPIOH_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOH_DIR (TIVA_GPIOH_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOH_IS (TIVA_GPIOH_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOH_IBE (TIVA_GPIOH_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOH_IEV (TIVA_GPIOH_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOH_IM (TIVA_GPIOH_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOH_RIS (TIVA_GPIOH_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOH_MIS (TIVA_GPIOH_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOH_ICR (TIVA_GPIOH_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOH_AFSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOH_DR2R (TIVA_GPIOH_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOH_DR4R (TIVA_GPIOH_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOH_DR8R (TIVA_GPIOH_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOH_ODR (TIVA_GPIOH_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOH_PUR (TIVA_GPIOH_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOH_PDR (TIVA_GPIOH_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOH_SLR (TIVA_GPIOH_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOH_DEN (TIVA_GPIOH_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOH_LOCK (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOH_CR (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOH_PERIPHID4 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOH_PERIPHID5 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOH_PERIPHID6 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOH_PERIPHID7 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOH_PERIPHID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOH_PERIPHID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOH_PERIPHID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOH_PERIPHID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOH_PCELLID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOH_PCELLID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOH_PCELLID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOH_PCELLID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 8 + +# define TIVA_GPIOJ_DATA (TIVA_GPIOJ_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOJ_DIR (TIVA_GPIOJ_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOJ_IS (TIVA_GPIOJ_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOJ_IBE (TIVA_GPIOJ_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOJ_IEV (TIVA_GPIOJ_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOJ_IM (TIVA_GPIOJ_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOJ_RIS (TIVA_GPIOJ_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOJ_MIS (TIVA_GPIOJ_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOJ_ICR (TIVA_GPIOJ_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOJ_AFSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOJ_DR2R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOJ_DR4R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOJ_DR8R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOJ_ODR (TIVA_GPIOJ_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOJ_PUR (TIVA_GPIOJ_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOJ_PDR (TIVA_GPIOJ_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOJ_SLR (TIVA_GPIOJ_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOJ_DEN (TIVA_GPIOJ_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOJ_LOCK (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOJ_CR (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET) + +# define TIVA_GPIOJ_PERIPHID4 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOJ_PERIPHID5 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOJ_PERIPHID6 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOJ_PERIPHID7 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOJ_PERIPHID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOJ_PERIPHID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOJ_PERIPHID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOJ_PERIPHID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOJ_PCELLID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOJ_PCELLID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOJ_PCELLID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOJ_PCELLID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +/* GPIO Register Bitfield Definitions ***********************************************/ + +/* GPIO Lock */ + +#define GPIO_LOCK_UNLOCK 0x4c4f434b +#define GPIO_LOCK_LOCKED (1 << 0) /* Bit 0: GPIOCR register is locked */ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM3S_GPIO_H */ diff --git a/arch/arm/src/tiva/hardware/lm/lm4f_gpio.h b/arch/arm/src/tiva/hardware/lm/lm4f_gpio.h new file mode 100644 index 0000000000..aeeba2a435 --- /dev/null +++ b/arch/arm/src/tiva/hardware/lm/lm4f_gpio.h @@ -0,0 +1,390 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/lm/lm4f_gpio.h + * + * Copyright (C) 2009-2010, 2013, 2018 Gregory Nutt. All rights reserved. + * Authors: Gregory Nutt + * Jose Pablo Carballo + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM4F_GPIO_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM4F_GPIO_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ +/* REVISIT: Why do we not use the AHB aperture for all GPIO accesses? */ + +#define TIVA_GPIOK_BASE TIVA_GPIOKAHB_BASE +#define TIVA_GPIOL_BASE TIVA_GPIOLAHB_BASE +#define TIVA_GPIOM_BASE TIVA_GPIOMAHB_BASE +#define TIVA_GPION_BASE TIVA_GPIONAHB_BASE +#define TIVA_GPIOP_BASE TIVA_GPIOPAHB_BASE +#define TIVA_GPIOQ_BASE TIVA_GPIOQAHB_BASE +#define TIVA_GPIOR_BASE TIVA_GPIORAHB_BASE +#define TIVA_GPIOS_BASE TIVA_GPIOSAHB_BASE +#define TIVA_GPIOT_BASE TIVA_GPIOTAHB_BASE + +/* GPIO Register Offsets ************************************************************/ + +#define TIVA_GPIO_DATA_OFFSET 0x0000 /* GPIO Data */ +#define TIVA_GPIO_DIR_OFFSET 0x0400 /* GPIO Direction */ +#define TIVA_GPIO_IS_OFFSET 0x0404 /* GPIO Interrupt Sense */ +#define TIVA_GPIO_IBE_OFFSET 0x0408 /* GPIO Interrupt Both Edges */ +#define TIVA_GPIO_IEV_OFFSET 0x040c /* GPIO Interrupt Event */ +#define TIVA_GPIO_IM_OFFSET 0x0410 /* GPIO Interrupt Mask */ +#define TIVA_GPIO_RIS_OFFSET 0x0414 /* GPIO Raw Interrupt Status */ +#define TIVA_GPIO_MIS_OFFSET 0x0418 /* GPIO Masked Interrupt Status */ +#define TIVA_GPIO_ICR_OFFSET 0x041c /* GPIO Interrupt Clear */ +#define TIVA_GPIO_AFSEL_OFFSET 0x0420 /* GPIO Alternate Function */ +#define TIVA_GPIO_DR2R_OFFSET 0x0500 /* Select GPIO 2-mA Drive Select */ +#define TIVA_GPIO_DR4R_OFFSET 0x0504 /* GPIO 4-mA Drive Select */ +#define TIVA_GPIO_DR8R_OFFSET 0x0508 /* GPIO 8-mA Drive Select */ +#define TIVA_GPIO_ODR_OFFSET 0x050c /* GPIO Open Drain Select */ +#define TIVA_GPIO_PUR_OFFSET 0x0510 /* GPIO Pull-Up Select */ +#define TIVA_GPIO_PDR_OFFSET 0x0514 /* GPIO Pull-Down Select */ +#define TIVA_GPIO_SLR_OFFSET 0x0518 /* GPIO Slew Rate Control Select */ +#define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ +#define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ +#define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ +#define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ +#define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ +#define TIVA_GPIO_ADCCTL_OFFSET 0x0530 /* GPIO ADC Control */ +#define TIVA_GPIO_DMACTL_OFFSET 0x0534 /* GPIO DMA Control */ + +#define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ +#define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ +#define TIVA_GPIO_PERIPHID6_OFFSET 0x0fd8 /* GPIO Peripheral Identification 6 */ +#define TIVA_GPIO_PERIPHID7_OFFSET 0x0fdc /* GPIO Peripheral Identification 7 */ +#define TIVA_GPIO_PERIPHID0_OFFSET 0x0fe0 /* GPIO Peripheral Identification 0 */ +#define TIVA_GPIO_PERIPHID1_OFFSET 0x0fe4 /* GPIO Peripheral Identification 1 */ +#define TIVA_GPIO_PERIPHID2_OFFSET 0x0fe8 /* GPIO Peripheral Identification 2 */ +#define TIVA_GPIO_PERIPHID3_OFFSET 0x0fec /* GPIO Peripheral Identification 3 */ +#define TIVA_GPIO_PCELLID0_OFFSET 0x0ff0 /* GPIO PrimeCell Identification 0 */ +#define TIVA_GPIO_PCELLID1_OFFSET 0x0ff4 /* GPIO PrimeCell Identification 1 */ +#define TIVA_GPIO_PCELLID2_OFFSET 0x0ff8 /* GPIO PrimeCell Identification 2 */ +#define TIVA_GPIO_PCELLID3_OFFSET 0x0ffc /* GPIO PrimeCell Identification 3*/ + +/* GPIO Register Addresses **********************************************************/ + +#if TIVA_NPORTS > 0 + +# define TIVA_GPIOA_DATA (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOA_DIR (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOA_IS (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOA_IBE (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOA_IEV (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOA_IM (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOA_RIS (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOA_MIS (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOA_ICR (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOA_AFSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOA_DR2R (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOA_DR4R (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOA_DR8R (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOA_ODR (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOA_PUR (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOA_PDR (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOA_SLR (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOA_ADCCTL (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOA_DMACTL (TIVA_GPIOA_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOA_PERIPHID6 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOA_PERIPHID7 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOA_PERIPHID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOA_PERIPHID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOA_PERIPHID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOA_PERIPHID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOA_PCELLID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOA_PCELLID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOA_PCELLID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOA_PCELLID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 1 + +# define TIVA_GPIOB_DATA (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOB_DIR (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOB_IS (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOB_IBE (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOB_IEV (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOB_IM (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOB_RIS (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOB_MIS (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOB_ICR (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOB_AFSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOB_DR2R (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOB_DR4R (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOB_DR8R (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOB_ODR (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOB_PUR (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOB_PDR (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOB_SLR (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOB_ADCCTL (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOB_DMACTL (TIVA_GPIOB_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOB_PERIPHID6 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOB_PERIPHID7 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOB_PERIPHID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOB_PERIPHID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOB_PERIPHID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOB_PERIPHID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOB_PCELLID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOB_PCELLID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOB_PCELLID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOB_PCELLID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 2 + +# define TIVA_GPIOC_DATA (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOC_DIR (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOC_IS (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOC_IBE (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOC_IEV (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOC_IM (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOC_RIS (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOC_MIS (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOC_ICR (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOC_AFSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOC_DR2R (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOC_DR4R (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOC_DR8R (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOC_ODR (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOC_PUR (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOC_PDR (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOC_SLR (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOC_ADCCTL (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOC_DMACTL (TIVA_GPIOC_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOC_PERIPHID6 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOC_PERIPHID7 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOC_PERIPHID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOC_PERIPHID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOC_PERIPHID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOC_PERIPHID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOC_PCELLID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOC_PCELLID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOC_PCELLID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOC_PCELLID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 3 + +# define TIVA_GPIOD_DATA (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOD_DIR (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOD_IS (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOD_IBE (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOD_IEV (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOD_IM (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOD_RIS (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOD_MIS (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOD_ICR (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOD_AFSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOD_DR2R (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOD_DR4R (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOD_DR8R (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOD_ODR (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOD_PUR (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOD_PDR (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOD_SLR (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOD_ADCCTL (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOD_DMACTL (TIVA_GPIOD_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOD_PERIPHID6 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOD_PERIPHID7 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOD_PERIPHID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOD_PERIPHID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOD_PERIPHID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOD_PERIPHID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOD_PCELLID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOD_PCELLID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOD_PCELLID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOD_PCELLID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 4 + +# define TIVA_GPIOE_DATA (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOE_DIR (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOE_IS (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOE_IBE (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOE_IEV (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOE_IM (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOE_RIS (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOE_MIS (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOE_ICR (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOE_AFSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOE_DR2R (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOE_DR4R (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOE_DR8R (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOE_ODR (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOE_PUR (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOE_PDR (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOE_SLR (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOE_ADCCTL (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOE_DMACTL (TIVA_GPIOE_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOE_PERIPHID6 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOE_PERIPHID7 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOE_PERIPHID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOE_PERIPHID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOE_PERIPHID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOE_PERIPHID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOE_PCELLID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOE_PCELLID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOE_PCELLID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOE_PCELLID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 5 + +# define TIVA_GPIOF_DATA (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOF_DIR (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOF_IS (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOF_IBE (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOF_IEV (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOF_IM (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOF_RIS (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOF_MIS (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOF_ICR (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOF_AFSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOF_DR2R (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOF_DR4R (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOF_DR8R (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOF_ODR (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOF_PUR (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOF_PDR (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOF_SLR (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOF_ADCCTL (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOF_DMACTL (TIVA_GPIOF_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOF_PERIPHID6 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOF_PERIPHID7 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOF_PERIPHID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOF_PERIPHID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOF_PERIPHID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOF_PERIPHID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOF_PCELLID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOF_PCELLID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOF_PCELLID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOF_PCELLID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +/* GPIO Register Bitfield Definitions ***********************************************/ + +/* GPIO Lock */ + +#define GPIO_LOCK_UNLOCK 0x4c4f434b +#define GPIO_LOCK_LOCKED (1 << 0) /* Bit 0: GPIOCR register is locked */ + +/* GPIO Port Control */ + +#define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) +#define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) + +#define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ +#define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) +#define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ +#define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) +#define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ +#define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) +#define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ +#define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) +#define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ +#define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) +#define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ +#define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) +#define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ +#define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) +#define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ +#define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_LM_LM4F_GPIO_H */ diff --git a/arch/arm/src/tiva/hardware/tiva_adc.h b/arch/arm/src/tiva/hardware/tiva_adc.h index 4793ccda67..7d3863922c 100644 --- a/arch/arm/src/tiva/hardware/tiva_adc.h +++ b/arch/arm/src/tiva/hardware/tiva_adc.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_adc.h + * arch/arm/src/tiva/hardware/tiva_adc.h * * Copyright (C) 2015 Calvin Maguranis. All rights reserved. * Author: Calvin Maguranis diff --git a/arch/arm/src/tiva/hardware/tiva_eeprom.h b/arch/arm/src/tiva/hardware/tiva_eeprom.h index 682d64ae7f..708534e72a 100644 --- a/arch/arm/src/tiva/hardware/tiva_eeprom.h +++ b/arch/arm/src/tiva/hardware/tiva_eeprom.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_eeprom.h + * arch/arm/src/tiva/hardware/tiva_eeprom.h * * Copyright (C) 2018 Gregory Nutt. All rights reserved. * Author: Shirshak Sengupta diff --git a/arch/arm/src/tiva/hardware/tiva_epi.h b/arch/arm/src/tiva/hardware/tiva_epi.h index 1a20663769..958bce9fb7 100644 --- a/arch/arm/src/tiva/hardware/tiva_epi.h +++ b/arch/arm/src/tiva/hardware/tiva_epi.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_epi.h + * arch/arm/src/tiva/hardware/tiva_epi.h * * Copyright (C) 2009-2013 Max Neklyudov. All rights reserved. * Author: Max Neklyudov diff --git a/arch/arm/src/tiva/hardware/tiva_ethernet.h b/arch/arm/src/tiva/hardware/tiva_ethernet.h index 8165e75788..0688bc1c99 100644 --- a/arch/arm/src/tiva/hardware/tiva_ethernet.h +++ b/arch/arm/src/tiva/hardware/tiva_ethernet.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_ethernet.h + * arch/arm/src/tiva/hardware/tiva_ethernet.h * * Copyright (C) 2009-2010, 2012-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_flash.h b/arch/arm/src/tiva/hardware/tiva_flash.h index 003d1be178..6fe97ab85d 100644 --- a/arch/arm/src/tiva/hardware/tiva_flash.h +++ b/arch/arm/src/tiva/hardware/tiva_flash.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_flash.h + * arch/arm/src/tiva/hardware/tiva_flash.h * * Copyright (C) 2009, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_gpio.h b/arch/arm/src/tiva/hardware/tiva_gpio.h index 4b053597cf..5dbbb7a5e0 100644 --- a/arch/arm/src/tiva/hardware/tiva_gpio.h +++ b/arch/arm/src/tiva/hardware/tiva_gpio.h @@ -1,7 +1,7 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_gpio.h + * arch/arm/src/tiva/hardware/tiva_gpio.h * - * Copyright (C) 2009-2010, 2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2009-2010, 2013, 2018 Gregory Nutt. All rights reserved. * Authors: Gregory Nutt * Jose Pablo Carballo * @@ -43,1158 +43,29 @@ #include +/* Include the GPIO header file for the specific Tiva/Stellaris chip */ + +#if defined(CONFIG_ARCH_CHIP_LM3S) +# include "hardware/lm/lm3s_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_LM4F) +# include "hardware/lm/lm4f_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_TM4C123) +# include "hardware/tm4c/tm4c123_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_TM4C129) +# include "hardware/tm4c/tm4c129_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X0) +# include "hardware/cc13x0/cc13x0_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2_V1) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_v1_gpio.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2_V2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_v2_gpio.h" +#else +# error "Unsupported Tiva/Stellaris system control module" +#endif + /************************************************************************************ * Pre-processor Definitions ************************************************************************************/ -/* REVISIT: Why do we not use the AHB aperture for all GPIO accesses? */ - -#define TIVA_GPIOK_BASE TIVA_GPIOKAHB_BASE -#define TIVA_GPIOL_BASE TIVA_GPIOLAHB_BASE -#define TIVA_GPIOM_BASE TIVA_GPIOMAHB_BASE -#define TIVA_GPION_BASE TIVA_GPIONAHB_BASE -#define TIVA_GPIOP_BASE TIVA_GPIOPAHB_BASE -#define TIVA_GPIOQ_BASE TIVA_GPIOQAHB_BASE -#define TIVA_GPIOR_BASE TIVA_GPIORAHB_BASE -#define TIVA_GPIOS_BASE TIVA_GPIOSAHB_BASE -#define TIVA_GPIOT_BASE TIVA_GPIOTAHB_BASE - -/* GPIO Register Offsets ************************************************************/ - -#define TIVA_GPIO_DATA_OFFSET 0x0000 /* GPIO Data */ -#define TIVA_GPIO_DIR_OFFSET 0x0400 /* GPIO Direction */ -#define TIVA_GPIO_IS_OFFSET 0x0404 /* GPIO Interrupt Sense */ -#define TIVA_GPIO_IBE_OFFSET 0x0408 /* GPIO Interrupt Both Edges */ -#define TIVA_GPIO_IEV_OFFSET 0x040c /* GPIO Interrupt Event */ -#define TIVA_GPIO_IM_OFFSET 0x0410 /* GPIO Interrupt Mask */ -#define TIVA_GPIO_RIS_OFFSET 0x0414 /* GPIO Raw Interrupt Status */ -#define TIVA_GPIO_MIS_OFFSET 0x0418 /* GPIO Masked Interrupt Status */ -#define TIVA_GPIO_ICR_OFFSET 0x041c /* GPIO Interrupt Clear */ -#define TIVA_GPIO_AFSEL_OFFSET 0x0420 /* GPIO Alternate Function */ -#define TIVA_GPIO_DR2R_OFFSET 0x0500 /* Select GPIO 2-mA Drive Select */ -#define TIVA_GPIO_DR4R_OFFSET 0x0504 /* GPIO 4-mA Drive Select */ -#define TIVA_GPIO_DR8R_OFFSET 0x0508 /* GPIO 8-mA Drive Select */ -#define TIVA_GPIO_ODR_OFFSET 0x050c /* GPIO Open Drain Select */ -#define TIVA_GPIO_PUR_OFFSET 0x0510 /* GPIO Pull-Up Select */ -#define TIVA_GPIO_PDR_OFFSET 0x0514 /* GPIO Pull-Down Select */ -#define TIVA_GPIO_SLR_OFFSET 0x0518 /* GPIO Slew Rate Control Select */ -#define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ -#define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ -#define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ -# define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ -# define TIVA_GPIO_ADCCTL_OFFSET 0x0530 /* GPIO ADC Control */ -# define TIVA_GPIO_DMACTL_OFFSET 0x0534 /* GPIO DMA Control */ -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIO_SI_OFFSET 0x0538 /* GPIO Select Interrupt */ -# define TIVA_GPIO_DR12R_OFFSET 0x053c /* GPIO 12-mA Drive Select */ -# define TIVA_GPIO_WAKEPEN_OFFSET 0x0540 /* GPIO Wake Pin Enable */ -# define TIVA_GPIO_WAKELVL_OFFSET 0x0544 /* GPIO Wake Level */ -# define TIVA_GPIO_WAKESTAT_OFFSET 0x0548 /* GPIO Wake Status */ - -# define TIVA_GPIO_PP_OFFSET 0x0fc0 /* GPIO Peripheral Property */ -# define TIVA_GPIO_PC_OFFSET 0x0fc4 /* GPIO Peripheral Configuration */ -#endif - -#define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ -#define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ -#define TIVA_GPIO_PERIPHID6_OFFSET 0x0fd8 /* GPIO Peripheral Identification 6 */ -#define TIVA_GPIO_PERIPHID7_OFFSET 0x0fdc /* GPIO Peripheral Identification 7 */ -#define TIVA_GPIO_PERIPHID0_OFFSET 0x0fe0 /* GPIO Peripheral Identification 0 */ -#define TIVA_GPIO_PERIPHID1_OFFSET 0x0fe4 /* GPIO Peripheral Identification 1 */ -#define TIVA_GPIO_PERIPHID2_OFFSET 0x0fe8 /* GPIO Peripheral Identification 2 */ -#define TIVA_GPIO_PERIPHID3_OFFSET 0x0fec /* GPIO Peripheral Identification 3 */ -#define TIVA_GPIO_PCELLID0_OFFSET 0x0ff0 /* GPIO PrimeCell Identification 0 */ -#define TIVA_GPIO_PCELLID1_OFFSET 0x0ff4 /* GPIO PrimeCell Identification 1 */ -#define TIVA_GPIO_PCELLID2_OFFSET 0x0ff8 /* GPIO PrimeCell Identification 2 */ -#define TIVA_GPIO_PCELLID3_OFFSET 0x0ffc /* GPIO PrimeCell Identification 3*/ - -/* GPIO Register Addresses **********************************************************/ - -#if TIVA_NPORTS > 0 - -# define TIVA_GPIOA_DATA (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOA_DIR (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOA_IS (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOA_IBE (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOA_IEV (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOA_IM (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOA_RIS (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOA_MIS (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOA_ICR (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOA_AFSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOA_DR2R (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOA_DR4R (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOA_DR8R (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOA_ODR (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOA_PUR (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOA_PDR (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOA_SLR (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOA_ADCCTL (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOA_DMACTL (TIVA_GPIOA_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOA_SI (TIVA_GPIOA_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOA_DR12R (TIVA_GPIOA_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOA_WAKEPEN (TIVA_GPIOA_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOA_WAKELVL (TIVA_GPIOA_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOA_WAKESTAT (TIVA_GPIOA_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOA_PP (TIVA_GPIOA_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOA_PC (TIVA_GPIOA_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOA_PERIPHID6 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOA_PERIPHID7 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOA_PERIPHID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOA_PERIPHID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOA_PERIPHID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOA_PERIPHID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOA_PCELLID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOA_PCELLID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOA_PCELLID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOA_PCELLID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 1 - -# define TIVA_GPIOB_DATA (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOB_DIR (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOB_IS (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOB_IBE (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOB_IEV (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOB_IM (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOB_RIS (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOB_MIS (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOB_ICR (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOB_AFSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOB_DR2R (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOB_DR4R (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOB_DR8R (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOB_ODR (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOB_PUR (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOB_PDR (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOB_SLR (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOB_ADCCTL (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOB_DMACTL (TIVA_GPIOB_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOB_SI (TIVA_GPIOB_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOB_DR12R (TIVA_GPIOB_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOB_WAKEPEN (TIVA_GPIOB_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOB_WAKELVL (TIVA_GPIOB_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOB_WAKESTAT (TIVA_GPIOB_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOB_PP (TIVA_GPIOB_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOB_PC (TIVA_GPIOB_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOB_PERIPHID6 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOB_PERIPHID7 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOB_PERIPHID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOB_PERIPHID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOB_PERIPHID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOB_PERIPHID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOB_PCELLID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOB_PCELLID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOB_PCELLID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOB_PCELLID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 2 - -# define TIVA_GPIOC_DATA (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOC_DIR (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOC_IS (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOC_IBE (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOC_IEV (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOC_IM (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOC_RIS (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOC_MIS (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOC_ICR (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOC_AFSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOC_DR2R (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOC_DR4R (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOC_DR8R (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOC_ODR (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOC_PUR (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOC_PDR (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOC_SLR (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOC_ADCCTL (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOC_DMACTL (TIVA_GPIOC_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOC_SI (TIVA_GPIOC_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOC_DR12R (TIVA_GPIOC_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOC_WAKEPEN (TIVA_GPIOC_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOC_WAKELVL (TIVA_GPIOC_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOC_WAKESTAT (TIVA_GPIOC_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOC_PP (TIVA_GPIOC_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOC_PC (TIVA_GPIOC_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOC_PERIPHID6 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOC_PERIPHID7 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOC_PERIPHID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOC_PERIPHID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOC_PERIPHID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOC_PERIPHID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOC_PCELLID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOC_PCELLID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOC_PCELLID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOC_PCELLID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 3 - -# define TIVA_GPIOD_DATA (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOD_DIR (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOD_IS (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOD_IBE (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOD_IEV (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOD_IM (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOD_RIS (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOD_MIS (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOD_ICR (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOD_AFSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOD_DR2R (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOD_DR4R (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOD_DR8R (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOD_ODR (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOD_PUR (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOD_PDR (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOD_SLR (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOD_ADCCTL (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOD_DMACTL (TIVA_GPIOD_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOD_SI (TIVA_GPIOD_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOD_DR12R (TIVA_GPIOD_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOD_WAKEPEN (TIVA_GPIOD_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOD_WAKELVL (TIVA_GPIOD_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOD_WAKESTAT (TIVA_GPIOD_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOD_PP (TIVA_GPIOD_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOD_PC (TIVA_GPIOD_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOD_PERIPHID6 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOD_PERIPHID7 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOD_PERIPHID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOD_PERIPHID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOD_PERIPHID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOD_PERIPHID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOD_PCELLID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOD_PCELLID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOD_PCELLID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOD_PCELLID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 4 - -# define TIVA_GPIOE_DATA (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOE_DIR (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOE_IS (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOE_IBE (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOE_IEV (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOE_IM (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOE_RIS (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOE_MIS (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOE_ICR (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOE_AFSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOE_DR2R (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOE_DR4R (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOE_DR8R (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOE_ODR (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOE_PUR (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOE_PDR (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOE_SLR (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOE_ADCCTL (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOE_DMACTL (TIVA_GPIOE_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOE_SI (TIVA_GPIOE_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOE_DR12R (TIVA_GPIOE_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOE_WAKEPEN (TIVA_GPIOE_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOE_WAKELVL (TIVA_GPIOE_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOE_WAKESTAT (TIVA_GPIOE_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOE_PP (TIVA_GPIOE_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOE_PC (TIVA_GPIOE_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOE_PERIPHID6 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOE_PERIPHID7 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOE_PERIPHID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOE_PERIPHID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOE_PERIPHID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOE_PERIPHID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOE_PCELLID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOE_PCELLID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOE_PCELLID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOE_PCELLID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 5 - -# define TIVA_GPIOF_DATA (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOF_DIR (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOF_IS (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOF_IBE (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOF_IEV (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOF_IM (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOF_RIS (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOF_MIS (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOF_ICR (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOF_AFSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOF_DR2R (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOF_DR4R (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOF_DR8R (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOF_ODR (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOF_PUR (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOF_PDR (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOF_SLR (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOF_ADCCTL (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOF_DMACTL (TIVA_GPIOF_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOF_SI (TIVA_GPIOF_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOF_DR12R (TIVA_GPIOF_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOF_WAKEPEN (TIVA_GPIOF_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOF_WAKELVL (TIVA_GPIOF_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOF_WAKESTAT (TIVA_GPIOF_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOF_PP (TIVA_GPIOF_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOF_PC (TIVA_GPIOF_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOF_PERIPHID6 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOF_PERIPHID7 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOF_PERIPHID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOF_PERIPHID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOF_PERIPHID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOF_PERIPHID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOF_PCELLID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOF_PCELLID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOF_PCELLID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOF_PCELLID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 6 - -# define TIVA_GPIOG_DATA (TIVA_GPIOG_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOG_DIR (TIVA_GPIOG_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOG_IS (TIVA_GPIOG_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOG_IBE (TIVA_GPIOG_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOG_IEV (TIVA_GPIOG_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOG_IM (TIVA_GPIOG_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOG_RIS (TIVA_GPIOG_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOG_MIS (TIVA_GPIOG_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOG_ICR (TIVA_GPIOG_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOG_AFSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOG_DR2R (TIVA_GPIOG_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOG_DR4R (TIVA_GPIOG_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOG_DR8R (TIVA_GPIOG_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOG_ODR (TIVA_GPIOG_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOG_PUR (TIVA_GPIOG_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOG_PDR (TIVA_GPIOG_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOG_SLR (TIVA_GPIOG_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOG_DEN (TIVA_GPIOG_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOG_LOCK (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOG_CR (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOG_AMSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOG_PCTL (TIVA_GPIOG_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOG_ADCCTL (TIVA_GPIOG_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOG_DMACTL (TIVA_GPIOG_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOG_SI (TIVA_GPIOG_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOG_DR12R (TIVA_GPIOG_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOG_WAKEPEN (TIVA_GPIOG_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOG_WAKELVL (TIVA_GPIOG_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOG_WAKESTAT (TIVA_GPIOG_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOG_PP (TIVA_GPIOG_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOG_PC (TIVA_GPIOG_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOG_PERIPHID4 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOG_PERIPHID5 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOG_PERIPHID6 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOG_PERIPHID7 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOG_PERIPHID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOG_PERIPHID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOG_PERIPHID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOG_PERIPHID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOG_PCELLID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOG_PCELLID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOG_PCELLID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOG_PCELLID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 7 - -# define TIVA_GPIOH_DATA (TIVA_GPIOH_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOH_DIR (TIVA_GPIOH_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOH_IS (TIVA_GPIOH_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOH_IBE (TIVA_GPIOH_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOH_IEV (TIVA_GPIOH_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOH_IM (TIVA_GPIOH_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOH_RIS (TIVA_GPIOH_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOH_MIS (TIVA_GPIOH_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOH_ICR (TIVA_GPIOH_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOH_AFSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOH_DR2R (TIVA_GPIOH_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOH_DR4R (TIVA_GPIOH_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOH_DR8R (TIVA_GPIOH_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOH_ODR (TIVA_GPIOH_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOH_PUR (TIVA_GPIOH_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOH_PDR (TIVA_GPIOH_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOH_SLR (TIVA_GPIOH_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOH_DEN (TIVA_GPIOH_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOH_LOCK (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOH_CR (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOH_AMSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOH_PCTL (TIVA_GPIOH_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOH_ADCCTL (TIVA_GPIOH_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOH_DMACTL (TIVA_GPIOH_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOH_SI (TIVA_GPIOH_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOH_DR12R (TIVA_GPIOH_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOH_WAKEPEN (TIVA_GPIOH_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOH_WAKELVL (TIVA_GPIOH_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOH_WAKESTAT (TIVA_GPIOH_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOH_PP (TIVA_GPIOH_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOH_PC (TIVA_GPIOH_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOH_PERIPHID4 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOH_PERIPHID5 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOH_PERIPHID6 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOH_PERIPHID7 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOH_PERIPHID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOH_PERIPHID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOH_PERIPHID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOH_PERIPHID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOH_PCELLID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOH_PCELLID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOH_PCELLID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOH_PCELLID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 8 - -# define TIVA_GPIOJ_DATA (TIVA_GPIOJ_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOJ_DIR (TIVA_GPIOJ_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOJ_IS (TIVA_GPIOJ_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOJ_IBE (TIVA_GPIOJ_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOJ_IEV (TIVA_GPIOJ_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOJ_IM (TIVA_GPIOJ_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOJ_RIS (TIVA_GPIOJ_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOJ_MIS (TIVA_GPIOJ_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOJ_ICR (TIVA_GPIOJ_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOJ_AFSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOJ_DR2R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOJ_DR4R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOJ_DR8R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOJ_ODR (TIVA_GPIOJ_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOJ_PUR (TIVA_GPIOJ_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOJ_PDR (TIVA_GPIOJ_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOJ_SLR (TIVA_GPIOJ_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOJ_DEN (TIVA_GPIOJ_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOJ_LOCK (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOJ_CR (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOJ_AMSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOJ_PCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOJ_ADCCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOJ_DMACTL (TIVA_GPIOJ_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOJ_SI (TIVA_GPIOJ_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOJ_DR12R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOJ_WAKEPEN (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOJ_WAKELVL (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOJ_WAKESTAT (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOJ_PP (TIVA_GPIOJ_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOJ_PC (TIVA_GPIOJ_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOJ_PERIPHID4 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOJ_PERIPHID5 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOJ_PERIPHID6 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOJ_PERIPHID7 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOJ_PERIPHID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOJ_PERIPHID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOJ_PERIPHID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOJ_PERIPHID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOJ_PCELLID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOJ_PCELLID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOJ_PCELLID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOJ_PCELLID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 9 - -# define TIVA_GPIOK_DATA (TIVA_GPIOK_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOK_DIR (TIVA_GPIOK_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOK_IS (TIVA_GPIOK_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOK_IBE (TIVA_GPIOK_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOK_IEV (TIVA_GPIOK_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOK_IM (TIVA_GPIOK_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOK_RIS (TIVA_GPIOK_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOK_MIS (TIVA_GPIOK_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOK_ICR (TIVA_GPIOK_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOK_AFSEL (TIVA_GPIOK_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOK_DR2R (TIVA_GPIOK_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOK_DR4R (TIVA_GPIOK_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOK_DR8R (TIVA_GPIOK_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOK_ODR (TIVA_GPIOK_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOK_PUR (TIVA_GPIOK_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOK_PDR (TIVA_GPIOK_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOK_SLR (TIVA_GPIOK_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOK_DEN (TIVA_GPIOK_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOK_LOCK (TIVA_GPIOK_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOK_CR (TIVA_GPIOK_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOK_AMSEL (TIVA_GPIOK_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOK_PCTL (TIVA_GPIOK_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOK_ADCCTL (TIVA_GPIOK_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOK_DMACTL (TIVA_GPIOK_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOK_SI (TIVA_GPIOK_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOK_DR12R (TIVA_GPIOK_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOK_WAKEPEN (TIVA_GPIOK_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOK_WAKELVL (TIVA_GPIOK_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOK_WAKESTAT (TIVA_GPIOK_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOK_PP (TIVA_GPIOK_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOK_PC (TIVA_GPIOK_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOK_PERIPHID4 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOK_PERIPHID5 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOK_PERIPHID6 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOK_PERIPHID7 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOK_PERIPHID0 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOK_PERIPHID1 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOK_PERIPHID2 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOK_PERIPHID3 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOK_PCELLID0 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOK_PCELLID1 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOK_PCELLID2 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOK_PCELLID3 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 10 - -# define TIVA_GPIOL_DATA (TIVA_GPIOL_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOL_DIR (TIVA_GPIOL_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOL_IS (TIVA_GPIOL_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOL_IBE (TIVA_GPIOL_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOL_IEV (TIVA_GPIOL_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOL_IM (TIVA_GPIOL_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOL_RIS (TIVA_GPIOL_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOL_MIS (TIVA_GPIOL_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOL_ICR (TIVA_GPIOL_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOL_AFSEL (TIVA_GPIOL_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOL_DR2R (TIVA_GPIOL_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOL_DR4R (TIVA_GPIOL_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOL_DR8R (TIVA_GPIOL_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOL_ODR (TIVA_GPIOL_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOL_PUR (TIVA_GPIOL_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOL_PDR (TIVA_GPIOL_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOL_SLR (TIVA_GPIOL_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOL_DEN (TIVA_GPIOL_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOL_LOCK (TIVA_GPIOL_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOL_CR (TIVA_GPIOL_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOL_AMSEL (TIVA_GPIOL_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOL_PCTL (TIVA_GPIOL_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOL_ADCCTL (TIVA_GPIOL_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOL_DMACTL (TIVA_GPIOL_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOL_SI (TIVA_GPIOL_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOL_DR12R (TIVA_GPIOL_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOL_WAKEPEN (TIVA_GPIOL_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOL_WAKELVL (TIVA_GPIOL_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOL_WAKESTAT (TIVA_GPIOL_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOL_PP (TIVA_GPIOL_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOL_PC (TIVA_GPIOL_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOL_PERIPHID4 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOL_PERIPHID5 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOL_PERIPHID6 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOL_PERIPHID7 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOL_PERIPHID0 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOL_PERIPHID1 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOL_PERIPHID2 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOL_PERIPHID3 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOL_PCELLID0 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOL_PCELLID1 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOL_PCELLID2 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOL_PCELLID3 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 11 - -# define TIVA_GPIOM_DATA (TIVA_GPIOM_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOM_DIR (TIVA_GPIOM_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOM_IS (TIVA_GPIOM_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOM_IBE (TIVA_GPIOM_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOM_IEV (TIVA_GPIOM_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOM_IM (TIVA_GPIOM_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOM_RIS (TIVA_GPIOM_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOM_MIS (TIVA_GPIOM_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOM_ICR (TIVA_GPIOM_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOM_AFSEL (TIVA_GPIOM_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOM_DR2R (TIVA_GPIOM_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOM_DR4R (TIVA_GPIOM_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOM_DR8R (TIVA_GPIOM_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOM_ODR (TIVA_GPIOM_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOM_PUR (TIVA_GPIOM_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOM_PDR (TIVA_GPIOM_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOM_SLR (TIVA_GPIOM_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOM_DEN (TIVA_GPIOM_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOM_LOCK (TIVA_GPIOM_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOM_CR (TIVA_GPIOM_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOM_AMSEL (TIVA_GPIOM_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOM_PCTL (TIVA_GPIOM_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOM_ADCCTL (TIVA_GPIOM_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOM_DMACTL (TIVA_GPIOM_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOM_SI (TIVA_GPIOM_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOM_DR12R (TIVA_GPIOM_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOM_WAKEPEN (TIVA_GPIOM_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOM_WAKELVL (TIVA_GPIOM_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOM_WAKESTAT (TIVA_GPIOM_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOM_PP (TIVA_GPIOM_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOM_PC (TIVA_GPIOM_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOM_PERIPHID4 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOM_PERIPHID5 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOM_PERIPHID6 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOM_PERIPHID7 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOM_PERIPHID0 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOM_PERIPHID1 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOM_PERIPHID2 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOM_PERIPHID3 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOM_PCELLID0 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOM_PCELLID1 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOM_PCELLID2 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOM_PCELLID3 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 12 - -# define TIVA_GPION_DATA (TIVA_GPION_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPION_DIR (TIVA_GPION_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPION_IS (TIVA_GPION_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPION_IBE (TIVA_GPION_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPION_IEV (TIVA_GPION_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPION_IM (TIVA_GPION_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPION_RIS (TIVA_GPION_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPION_MIS (TIVA_GPION_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPION_ICR (TIVA_GPION_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPION_AFSEL (TIVA_GPION_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPION_DR2R (TIVA_GPION_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPION_DR4R (TIVA_GPION_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPION_DR8R (TIVA_GPION_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPION_ODR (TIVA_GPION_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPION_PUR (TIVA_GPION_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPION_PDR (TIVA_GPION_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPION_SLR (TIVA_GPION_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPION_DEN (TIVA_GPION_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPION_LOCK (TIVA_GPION_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPION_CR (TIVA_GPION_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPION_AMSEL (TIVA_GPION_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPION_PCTL (TIVA_GPION_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPION_ADCCTL (TIVA_GPION_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPION_DMACTL (TIVA_GPION_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPION_SI (TIVA_GPION_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPION_DR12R (TIVA_GPION_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPION_WAKEPEN (TIVA_GPION_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPION_WAKELVL (TIVA_GPION_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPION_WAKESTAT (TIVA_GPION_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPION_PP (TIVA_GPION_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPION_PC (TIVA_GPION_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPION_PERIPHID4 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPION_PERIPHID5 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPION_PERIPHID6 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPION_PERIPHID7 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPION_PERIPHID0 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPION_PERIPHID1 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPION_PERIPHID2 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPION_PERIPHID3 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPION_PCELLID0 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPION_PCELLID1 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPION_PCELLID2 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPION_PCELLID3 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 13 - -# define TIVA_GPIOP_DATA (TIVA_GPIOP_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOP_DIR (TIVA_GPIOP_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOP_IS (TIVA_GPIOP_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOP_IBE (TIVA_GPIOP_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOP_IEV (TIVA_GPIOP_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOP_IM (TIVA_GPIOP_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOP_RIS (TIVA_GPIOP_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOP_MIS (TIVA_GPIOP_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOP_ICR (TIVA_GPIOP_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOP_AFSEL (TIVA_GPIOP_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOP_DR2R (TIVA_GPIOP_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOP_DR4R (TIVA_GPIOP_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOP_DR8R (TIVA_GPIOP_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOP_ODR (TIVA_GPIOP_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOP_PUR (TIVA_GPIOP_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOP_PDR (TIVA_GPIOP_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOP_SLR (TIVA_GPIOP_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOP_DEN (TIVA_GPIOP_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOP_LOCK (TIVA_GPIOP_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOP_CR (TIVA_GPIOP_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOP_AMSEL (TIVA_GPIOP_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOP_PCTL (TIVA_GPIOP_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOP_ADCCTL (TIVA_GPIOP_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOP_DMACTL (TIVA_GPIOP_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOP_SI (TIVA_GPIOP_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOP_DR12R (TIVA_GPIOP_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOP_WAKEPEN (TIVA_GPIOP_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOP_WAKELVL (TIVA_GPIOP_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOP_WAKESTAT (TIVA_GPIOP_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOP_PP (TIVA_GPIOP_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOP_PC (TIVA_GPIOP_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOP_PERIPHID4 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOP_PERIPHID5 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOP_PERIPHID6 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOP_PERIPHID7 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOP_PERIPHID0 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOP_PERIPHID1 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOP_PERIPHID2 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOP_PERIPHID3 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOP_PCELLID0 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOP_PCELLID1 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOP_PCELLID2 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOP_PCELLID3 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 14 - -# define TIVA_GPIOQ_DATA (TIVA_GPIOQ_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOQ_DIR (TIVA_GPIOQ_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOQ_IS (TIVA_GPIOQ_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOQ_IBE (TIVA_GPIOQ_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOQ_IEV (TIVA_GPIOQ_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOQ_IM (TIVA_GPIOQ_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOQ_RIS (TIVA_GPIOQ_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOQ_MIS (TIVA_GPIOQ_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOQ_ICR (TIVA_GPIOQ_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOQ_AFSEL (TIVA_GPIOQ_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOQ_DR2R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOQ_DR4R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOQ_DR8R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOQ_ODR (TIVA_GPIOQ_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOQ_PUR (TIVA_GPIOQ_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOQ_PDR (TIVA_GPIOQ_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOQ_SLR (TIVA_GPIOQ_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOQ_DEN (TIVA_GPIOQ_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOQ_LOCK (TIVA_GPIOQ_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOQ_CR (TIVA_GPIOQ_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOQ_AMSEL (TIVA_GPIOQ_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOQ_PCTL (TIVA_GPIOQ_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOQ_ADCCTL (TIVA_GPIOQ_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOQ_DMACTL (TIVA_GPIOQ_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOQ_SI (TIVA_GPIOQ_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOQ_DR12R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOQ_WAKEPEN (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOQ_WAKELVL (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOQ_WAKESTAT (TIVA_GPIOQ_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOQ_PP (TIVA_GPIOQ_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOQ_PC (TIVA_GPIOQ_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOQ_PERIPHID4 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOQ_PERIPHID5 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOQ_PERIPHID6 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOQ_PERIPHID7 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOQ_PERIPHID0 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOQ_PERIPHID1 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOQ_PERIPHID2 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOQ_PERIPHID3 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOQ_PCELLID0 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOQ_PCELLID1 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOQ_PCELLID2 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOQ_PCELLID3 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 15 - -# define TIVA_GPIOR_DATA (TIVA_GPIOR_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOR_DIR (TIVA_GPIOR_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOR_IS (TIVA_GPIOR_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOR_IBE (TIVA_GPIOR_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOR_IEV (TIVA_GPIOR_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOR_IM (TIVA_GPIOR_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOR_RIS (TIVA_GPIOR_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOR_MIS (TIVA_GPIOR_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOR_ICR (TIVA_GPIOR_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOR_AFSEL (TIVA_GPIOR_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOR_DR2R (TIVA_GPIOR_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOR_DR4R (TIVA_GPIOR_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOR_DR8R (TIVA_GPIOR_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOR_ODR (TIVA_GPIOR_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOR_PUR (TIVA_GPIOR_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOR_PDR (TIVA_GPIOR_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOR_SLR (TIVA_GPIOR_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOR_DEN (TIVA_GPIOR_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOR_LOCK (TIVA_GPIOR_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOR_CR (TIVA_GPIOR_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOR_AMSEL (TIVA_GPIOR_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOR_PCTL (TIVA_GPIOR_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOR_ADCCTL (TIVA_GPIOR_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOR_DMACTL (TIVA_GPIOR_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOR_SI (TIVA_GPIOR_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOR_DR12R (TIVA_GPIOR_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOR_WAKEPEN (TIVA_GPIOR_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOR_WAKELVL (TIVA_GPIOR_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOR_WAKESTAT (TIVA_GPIOR_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOR_PP (TIVA_GPIOR_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOR_PC (TIVA_GPIOR_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOR_PERIPHID4 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOR_PERIPHID5 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOR_PERIPHID6 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOR_PERIPHID7 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOR_PERIPHID0 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOR_PERIPHID1 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOR_PERIPHID2 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOR_PERIPHID3 (TIVA_GPIOR_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOR_PCELLID0 (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOR_PCELLID1 (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOR_PCELLID2 (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOR_PCELLID3 (TIVA_GPIOR_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 16 - -# define TIVA_GPIOS_DATA (TIVA_GPIOS_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOS_DIR (TIVA_GPIOS_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOS_IS (TIVA_GPIOS_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOS_IBE (TIVA_GPIOS_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOS_IEV (TIVA_GPIOS_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOS_IM (TIVA_GPIOS_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOS_RIS (TIVA_GPIOS_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOS_MIS (TIVA_GPIOS_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOS_ICR (TIVA_GPIOS_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOS_AFSEL (TIVA_GPIOS_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOS_DR2R (TIVA_GPIOS_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOS_DR4R (TIVA_GPIOS_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOS_DR8R (TIVA_GPIOS_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOS_ODR (TIVA_GPIOS_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOS_PUR (TIVA_GPIOS_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOS_PDR (TIVA_GPIOS_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOS_SLR (TIVA_GPIOS_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOS_DEN (TIVA_GPIOS_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOS_LOCK (TIVA_GPIOS_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOS_CR (TIVA_GPIOS_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOS_AMSEL (TIVA_GPIOS_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOS_PCTL (TIVA_GPIOS_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOS_ADCCTL (TIVA_GPIOS_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOS_DMACTL (TIVA_GPIOS_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOS_SI (TIVA_GPIOS_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOS_DR12R (TIVA_GPIOS_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOS_WAKEPEN (TIVA_GPIOS_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOS_WAKELVL (TIVA_GPIOS_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOS_WAKESTAT (TIVA_GPIOS_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOS_PP (TIVA_GPIOS_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOS_PC (TIVA_GPIOS_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOS_PERIPHID4 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOS_PERIPHID5 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOS_PERIPHID6 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOS_PERIPHID7 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOS_PERIPHID0 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOS_PERIPHID1 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOS_PERIPHID2 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOS_PERIPHID3 (TIVA_GPIOS_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOS_PCELLID0 (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOS_PCELLID1 (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOS_PCELLID2 (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOS_PCELLID3 (TIVA_GPIOS_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -#if TIVA_NPORTS > 17 - -# define TIVA_GPIOT_DATA (TIVA_GPIOT_BASE + TIVA_GPIO_DATA_OFFSET) -# define TIVA_GPIOT_DIR (TIVA_GPIOT_BASE + TIVA_GPIO_DIR_OFFSET) -# define TIVA_GPIOT_IS (TIVA_GPIOT_BASE + TIVA_GPIO_IS_OFFSET) -# define TIVA_GPIOT_IBE (TIVA_GPIOT_BASE + TIVA_GPIO_IBE_OFFSET) -# define TIVA_GPIOT_IEV (TIVA_GPIOT_BASE + TIVA_GPIO_IEV_OFFSET) -# define TIVA_GPIOT_IM (TIVA_GPIOT_BASE + TIVA_GPIO_IM_OFFSET) -# define TIVA_GPIOT_RIS (TIVA_GPIOT_BASE + TIVA_GPIO_RIS_OFFSET) -# define TIVA_GPIOT_MIS (TIVA_GPIOT_BASE + TIVA_GPIO_MIS_OFFSET) -# define TIVA_GPIOT_ICR (TIVA_GPIOT_BASE + TIVA_GPIO_ICR_OFFSET) -# define TIVA_GPIOT_AFSEL (TIVA_GPIOT_BASE + TIVA_GPIO_AFSEL_OFFSET) -# define TIVA_GPIOT_DR2R (TIVA_GPIOT_BASE + TIVA_GPIO_DR2R_OFFSET) -# define TIVA_GPIOT_DR4R (TIVA_GPIOT_BASE + TIVA_GPIO_DR4R_OFFSET) -# define TIVA_GPIOT_DR8R (TIVA_GPIOT_BASE + TIVA_GPIO_DR8R_OFFSET) -# define TIVA_GPIOT_ODR (TIVA_GPIOT_BASE + TIVA_GPIO_ODR_OFFSET) -# define TIVA_GPIOT_PUR (TIVA_GPIOT_BASE + TIVA_GPIO_PUR_OFFSET) -# define TIVA_GPIOT_PDR (TIVA_GPIOT_BASE + TIVA_GPIO_PDR_OFFSET) -# define TIVA_GPIOT_SLR (TIVA_GPIOT_BASE + TIVA_GPIO_SLR_OFFSET) -# define TIVA_GPIOT_DEN (TIVA_GPIOT_BASE + TIVA_GPIO_DEN_OFFSET) -# define TIVA_GPIOT_LOCK (TIVA_GPIOT_BASE + TIVA_GPIO_LOCK_OFFSET) -# define TIVA_GPIOT_CR (TIVA_GPIOT_BASE + TIVA_GPIO_CR_OFFSET) - -#if defined(LM4F) || defined(TM4C) -# define TIVA_GPIOT_AMSEL (TIVA_GPIOT_BASE + TIVA_GPIO_AMSEL_OFFSET) -# define TIVA_GPIOT_PCTL (TIVA_GPIOT_BASE + TIVA_GPIO_PCTL_OFFSET) -# define TIVA_GPIOT_ADCCTL (TIVA_GPIOT_BASE + TIVA_GPIO_ADCCTL_OFFSET) -# define TIVA_GPIOT_DMACTL (TIVA_GPIOT_BASE + TIVA_GPIO_DMACTL_OFFSET) -#endif - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define TIVA_GPIOT_SI (TIVA_GPIOT_BASE + TIVA_GPIO_SI_OFFSET) -# define TIVA_GPIOT_DR12R (TIVA_GPIOT_BASE + TIVA_GPIO_DR12R_OFFSET) -# define TIVA_GPIOT_WAKEPEN (TIVA_GPIOT_BASE + TIVA_GPIO_WAKEPEN_OFFSET) -# define TIVA_GPIOT_WAKELVL (TIVA_GPIOT_BASE + TIVA_GPIO_WAKELVL_OFFSET) -# define TIVA_GPIOT_WAKESTAT (TIVA_GPIOT_BASE + TIVA_GPIO_WAKESTAT_OFFSET) - -# define TIVA_GPIOT_PP (TIVA_GPIOT_BASE + TIVA_GPIO_PP_OFFSET) -# define TIVA_GPIOT_PC (TIVA_GPIOT_BASE + TIVA_GPIO_PC_OFFSET) -#endif - -# define TIVA_GPIOT_PERIPHID4 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID4_OFFSET) -# define TIVA_GPIOT_PERIPHID5 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID5_OFFSET) -# define TIVA_GPIOT_PERIPHID6 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID6_OFFSET) -# define TIVA_GPIOT_PERIPHID7 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID7_OFFSET) -# define TIVA_GPIOT_PERIPHID0 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID0_OFFSET) -# define TIVA_GPIOT_PERIPHID1 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID1_OFFSET) -# define TIVA_GPIOT_PERIPHID2 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID2_OFFSET) -# define TIVA_GPIOT_PERIPHID3 (TIVA_GPIOT_BASE + TIVA_GPIO_PERIPHID3_OFFSET) -# define TIVA_GPIOT_PCELLID0 (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID0_OFFSET) -# define TIVA_GPIOT_PCELLID1 (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID1_OFFSET) -# define TIVA_GPIOT_PCELLID2 (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID2_OFFSET) -# define TIVA_GPIOT_PCELLID3 (TIVA_GPIOT_BASE + TIVA_GPIO_PCELLID3_OFFSET) -#endif - -/* GPIO Register Bitfield Definitions ***********************************************/ - -/* GPIO Interrupt Mask */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_IM_DMAIME (1 << 8) /* Bit 8: GPIO μDMA Done Interrupt Mask Enable */ -#endif - -/* GPIO Raw Interrupt Status */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_RIS_DMARIS (1 << 8) /* Bit 8: GPIO μDMA Done Interrupt Raw Status */ -#endif - -/* GPIO Masked Interrupt Status */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_MIS_DMAMIS (1 << 8) /* Bit 8: GPIO μDMA Done Masked Interrupt Status */ -#endif - -/* GPIO Interrupt Clear */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_ICR_DMAIC (1 << 8) /* Bit 8: GPIO μDMA Interrupt Clear */ -#endif - -/* GPIO Lock */ - -#define GPIO_LOCK_UNLOCK 0x4c4f434b -#define GPIO_LOCK_LOCKED (1 << 0) /* Bit 0: GPIOCR register is locked */ - -/* GPIO Port Control */ - -#if defined(LM4F) || defined(TM4C) -# define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) -# define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) - -# define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ -# define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) -# define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ -# define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) -# define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ -# define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) -# define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ -# define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) -# define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ -# define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) -# define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ -# define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) -# define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ -# define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) -# define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ -# define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) -#endif - -/* GPIO Select Interrupt */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_SI_SUM (1 << 0) /* Bit 0: Summary Interrupt */ -#endif - -/* GPIO Peripheral Property */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_PP_EDE (1 << 0) /* Bit 0: Extended Drive Enable */ -#endif - -/* GPIO Peripheral Configuration */ - -#if defined(CONFIG_ARCH_CHIP_TM4C129) -# define GPIO_PC_ -# define GPIO_PC_EDM_SHIFT(n) ((n) << 1) -# define GPIO_PC_EDM_MASK(n) (3 << GPIO_PC_EDM_SHIFT(n)) - -# define GPIO_PC_EDM0_SHIFT (0) /* Bits 0-1: Extended Drive Mode Bit 0 */ -# define GPIO_PC_EDM0_MASK (3 << GPIO_PC_EDM0_SHIFT) -# define GPIO_PC_EDM1_SHIFT (2) /* Bits 2-3: Extended Drive Mode Bit 1 */ -# define GPIO_PC_EDM1_MASK (3 << GPIO_PC_EDM1_SHIFT) -# define GPIO_PC_EDM2_SHIFT (4) /* Bits 4-5: Extended Drive Mode Bit 2 */ -# define GPIO_PC_EDM2_MASK (3 << GPIO_PC_EDM2_SHIFT) -# define GPIO_PC_EDM3_SHIFT (6) /* Bits 6-7: Extended Drive Mode Bit 3 */ -# define GPIO_PC_EDM3_MASK (3 << GPIO_PC_EDM3_SHIFT) -# define GPIO_PC_EDM4_SHIFT (8) /* Bits 8-9: Extended Drive Mode Bit 4 */ -# define GPIO_PC_EDM4_MASK (3 << GPIO_PC_EDM4_SHIFT) -# define GPIO_PC_EDM5_SHIFT (10) /* Bits 10-11: Extended Drive Mode Bit 5 */ -# define GPIO_PC_EDM5_MASK (3 << GPIO_PC_EDM5_SHIFT) -# define GPIO_PC_EDM6_SHIFT (12) /* Bits 12-13: Extended Drive Mode Bit 6 */ -# define GPIO_PC_EDM6_MASK (3 << GPIO_PC_EDM6_SHIFT) -# define GPIO_PC_EDM7_SHIFT (14) /* Bits 14-15: Extended Drive Mode Bit 7 */ -# define GPIO_PC_EDM7_MASK (3 << GPIO_PC_EDM7_SHIFT) -#endif /************************************************************************************ * Public Types diff --git a/arch/arm/src/tiva/hardware/tiva_i2c.h b/arch/arm/src/tiva/hardware/tiva_i2c.h index c6c813d65a..e0aa9a2df4 100644 --- a/arch/arm/src/tiva/hardware/tiva_i2c.h +++ b/arch/arm/src/tiva/hardware/tiva_i2c.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_i2c.h + * arch/arm/src/tiva/hardware/tiva_i2c.h * * Copyright (C) 2009, 2013-2015 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_memorymap.h b/arch/arm/src/tiva/hardware/tiva_memorymap.h index 43ba682f84..17e7c25a59 100644 --- a/arch/arm/src/tiva/hardware/tiva_memorymap.h +++ b/arch/arm/src/tiva/hardware/tiva_memorymap.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_memorymap.h + * arch/arm/src/tiva/hardware/tiva_memorymap.h * * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_pinmap.h b/arch/arm/src/tiva/hardware/tiva_pinmap.h index 4b79abdefd..a7bba4da86 100644 --- a/arch/arm/src/tiva/hardware/tiva_pinmap.h +++ b/arch/arm/src/tiva/hardware/tiva_pinmap.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_pinmap.h + * arch/arm/src/tiva/hardware/tiva_pinmap.h * * Copyright (C) 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_pwm.h b/arch/arm/src/tiva/hardware/tiva_pwm.h index 66a50c46d0..4faee6ebad 100644 --- a/arch/arm/src/tiva/hardware/tiva_pwm.h +++ b/arch/arm/src/tiva/hardware/tiva_pwm.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_pwm.h + * arch/arm/src/tiva/hardware/tiva_pwm.h * * Copyright (C) 2016 Young Mu. All rights reserved. * Author: Young Mu diff --git a/arch/arm/src/tiva/hardware/tiva_qencoder.h b/arch/arm/src/tiva/hardware/tiva_qencoder.h index 44ee6bd812..030fe1c7a9 100644 --- a/arch/arm/src/tiva/hardware/tiva_qencoder.h +++ b/arch/arm/src/tiva/hardware/tiva_qencoder.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_qencoder.h + * arch/arm/src/tiva/hardware/tiva_qencoder.h * * Copyright (C) 2016 Young Mu. All rights reserved. * Author: Young Mu diff --git a/arch/arm/src/tiva/hardware/tiva_ssi.h b/arch/arm/src/tiva/hardware/tiva_ssi.h index 412833215d..33bb72baed 100644 --- a/arch/arm/src/tiva/hardware/tiva_ssi.h +++ b/arch/arm/src/tiva/hardware/tiva_ssi.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_ssi.h + * arch/arm/src/tiva/hardware/tiva_ssi.h * * Copyright (C) 2009, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tiva_sysctrl.h b/arch/arm/src/tiva/hardware/tiva_sysctrl.h index 798ecdcf7c..d0a70823e8 100644 --- a/arch/arm/src/tiva/hardware/tiva_sysctrl.h +++ b/arch/arm/src/tiva/hardware/tiva_sysctrl.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_sysctrl.h + * arch/arm/src/tiva/hardware/tiva_sysctrl.h * * Copyright (C) 2009-2010, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -41,7 +41,6 @@ ************************************************************************************/ #include -#include /* Include the system control header file for the specific Tiva/Stellaris chip */ @@ -55,10 +54,8 @@ # include "hardware/tm4c/tm4c129_sysctrl.h" #elif defined(CONFIG_ARCH_CHIP_CC13X0) # include "hardware/cc13x0/cc13x0_sysctrl.h" -#elif defined(CONFIG_ARCH_CHIP_CC13X2_V1) -# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_v1_sysctrl.h" -#elif defined(CONFIG_ARCH_CHIP_CC13X2_V2) -# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_v2_sysctrl.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_sysctrl.h" #else # error "Unsupported Tiva/Stellaris system control module" #endif diff --git a/arch/arm/src/tiva/hardware/tiva_timer.h b/arch/arm/src/tiva/hardware/tiva_timer.h index 7d11238f4e..478d8b3ec1 100644 --- a/arch/arm/src/tiva/hardware/tiva_timer.h +++ b/arch/arm/src/tiva/hardware/tiva_timer.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_timer.h + * arch/arm/src/tiva/hardware/tiva_timer.h * * Originally: * diff --git a/arch/arm/src/tiva/hardware/tiva_uart.h b/arch/arm/src/tiva/hardware/tiva_uart.h index 1161c0888f..afd45580c2 100644 --- a/arch/arm/src/tiva/hardware/tiva_uart.h +++ b/arch/arm/src/tiva/hardware/tiva_uart.h @@ -1,5 +1,5 @@ /************************************************************************************ - * arch/arm/src/tiva/hardwaretiva_uart.h + * arch/arm/src/tiva/hardware/tiva_uart.h * * Copyright (C) 2009, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt diff --git a/arch/arm/src/tiva/hardware/tm4c/tm4c123_gpio.h b/arch/arm/src/tiva/hardware/tm4c/tm4c123_gpio.h new file mode 100644 index 0000000000..bde8b4769a --- /dev/null +++ b/arch/arm/src/tiva/hardware/tm4c/tm4c123_gpio.h @@ -0,0 +1,513 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tm4c/tm4c123_gpio.h + * + * Copyright (C) 2009-2010, 2013, 2018 Gregory Nutt. All rights reserved. + * Authors: Gregory Nutt + * Jose Pablo Carballo + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C123_GPIO_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C123_GPIO_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ +/* REVISIT: Why do we not use the AHB aperture for all GPIO accesses? */ + +#define TIVA_GPIOK_BASE TIVA_GPIOKAHB_BASE +#define TIVA_GPIOL_BASE TIVA_GPIOLAHB_BASE +#define TIVA_GPIOM_BASE TIVA_GPIOMAHB_BASE +#define TIVA_GPION_BASE TIVA_GPIONAHB_BASE +#define TIVA_GPIOP_BASE TIVA_GPIOPAHB_BASE +#define TIVA_GPIOQ_BASE TIVA_GPIOQAHB_BASE +#define TIVA_GPIOR_BASE TIVA_GPIORAHB_BASE +#define TIVA_GPIOS_BASE TIVA_GPIOSAHB_BASE +#define TIVA_GPIOT_BASE TIVA_GPIOTAHB_BASE + +/* GPIO Register Offsets ************************************************************/ + +#define TIVA_GPIO_DATA_OFFSET 0x0000 /* GPIO Data */ +#define TIVA_GPIO_DIR_OFFSET 0x0400 /* GPIO Direction */ +#define TIVA_GPIO_IS_OFFSET 0x0404 /* GPIO Interrupt Sense */ +#define TIVA_GPIO_IBE_OFFSET 0x0408 /* GPIO Interrupt Both Edges */ +#define TIVA_GPIO_IEV_OFFSET 0x040c /* GPIO Interrupt Event */ +#define TIVA_GPIO_IM_OFFSET 0x0410 /* GPIO Interrupt Mask */ +#define TIVA_GPIO_RIS_OFFSET 0x0414 /* GPIO Raw Interrupt Status */ +#define TIVA_GPIO_MIS_OFFSET 0x0418 /* GPIO Masked Interrupt Status */ +#define TIVA_GPIO_ICR_OFFSET 0x041c /* GPIO Interrupt Clear */ +#define TIVA_GPIO_AFSEL_OFFSET 0x0420 /* GPIO Alternate Function */ +#define TIVA_GPIO_DR2R_OFFSET 0x0500 /* Select GPIO 2-mA Drive Select */ +#define TIVA_GPIO_DR4R_OFFSET 0x0504 /* GPIO 4-mA Drive Select */ +#define TIVA_GPIO_DR8R_OFFSET 0x0508 /* GPIO 8-mA Drive Select */ +#define TIVA_GPIO_ODR_OFFSET 0x050c /* GPIO Open Drain Select */ +#define TIVA_GPIO_PUR_OFFSET 0x0510 /* GPIO Pull-Up Select */ +#define TIVA_GPIO_PDR_OFFSET 0x0514 /* GPIO Pull-Down Select */ +#define TIVA_GPIO_SLR_OFFSET 0x0518 /* GPIO Slew Rate Control Select */ +#define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ +#define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ +#define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ +#define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ +#define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ +#define TIVA_GPIO_ADCCTL_OFFSET 0x0530 /* GPIO ADC Control */ +#define TIVA_GPIO_DMACTL_OFFSET 0x0534 /* GPIO DMA Control */ + +#define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ +#define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ +#define TIVA_GPIO_PERIPHID6_OFFSET 0x0fd8 /* GPIO Peripheral Identification 6 */ +#define TIVA_GPIO_PERIPHID7_OFFSET 0x0fdc /* GPIO Peripheral Identification 7 */ +#define TIVA_GPIO_PERIPHID0_OFFSET 0x0fe0 /* GPIO Peripheral Identification 0 */ +#define TIVA_GPIO_PERIPHID1_OFFSET 0x0fe4 /* GPIO Peripheral Identification 1 */ +#define TIVA_GPIO_PERIPHID2_OFFSET 0x0fe8 /* GPIO Peripheral Identification 2 */ +#define TIVA_GPIO_PERIPHID3_OFFSET 0x0fec /* GPIO Peripheral Identification 3 */ +#define TIVA_GPIO_PCELLID0_OFFSET 0x0ff0 /* GPIO PrimeCell Identification 0 */ +#define TIVA_GPIO_PCELLID1_OFFSET 0x0ff4 /* GPIO PrimeCell Identification 1 */ +#define TIVA_GPIO_PCELLID2_OFFSET 0x0ff8 /* GPIO PrimeCell Identification 2 */ +#define TIVA_GPIO_PCELLID3_OFFSET 0x0ffc /* GPIO PrimeCell Identification 3*/ + +/* GPIO Register Addresses **********************************************************/ + +#if TIVA_NPORTS > 0 + +# define TIVA_GPIOA_DATA (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOA_DIR (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOA_IS (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOA_IBE (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOA_IEV (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOA_IM (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOA_RIS (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOA_MIS (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOA_ICR (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOA_AFSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOA_DR2R (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOA_DR4R (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOA_DR8R (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOA_ODR (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOA_PUR (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOA_PDR (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOA_SLR (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOA_ADCCTL (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOA_DMACTL (TIVA_GPIOA_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOA_PERIPHID6 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOA_PERIPHID7 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOA_PERIPHID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOA_PERIPHID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOA_PERIPHID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOA_PERIPHID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOA_PCELLID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOA_PCELLID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOA_PCELLID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOA_PCELLID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 1 + +# define TIVA_GPIOB_DATA (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOB_DIR (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOB_IS (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOB_IBE (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOB_IEV (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOB_IM (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOB_RIS (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOB_MIS (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOB_ICR (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOB_AFSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOB_DR2R (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOB_DR4R (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOB_DR8R (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOB_ODR (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOB_PUR (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOB_PDR (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOB_SLR (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOB_ADCCTL (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOB_DMACTL (TIVA_GPIOB_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOB_PERIPHID6 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOB_PERIPHID7 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOB_PERIPHID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOB_PERIPHID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOB_PERIPHID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOB_PERIPHID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOB_PCELLID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOB_PCELLID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOB_PCELLID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOB_PCELLID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 2 + +# define TIVA_GPIOC_DATA (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOC_DIR (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOC_IS (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOC_IBE (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOC_IEV (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOC_IM (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOC_RIS (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOC_MIS (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOC_ICR (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOC_AFSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOC_DR2R (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOC_DR4R (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOC_DR8R (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOC_ODR (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOC_PUR (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOC_PDR (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOC_SLR (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOC_ADCCTL (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOC_DMACTL (TIVA_GPIOC_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOC_PERIPHID6 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOC_PERIPHID7 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOC_PERIPHID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOC_PERIPHID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOC_PERIPHID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOC_PERIPHID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOC_PCELLID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOC_PCELLID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOC_PCELLID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOC_PCELLID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 3 + +# define TIVA_GPIOD_DATA (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOD_DIR (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOD_IS (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOD_IBE (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOD_IEV (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOD_IM (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOD_RIS (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOD_MIS (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOD_ICR (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOD_AFSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOD_DR2R (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOD_DR4R (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOD_DR8R (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOD_ODR (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOD_PUR (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOD_PDR (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOD_SLR (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOD_ADCCTL (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOD_DMACTL (TIVA_GPIOD_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOD_PERIPHID6 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOD_PERIPHID7 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOD_PERIPHID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOD_PERIPHID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOD_PERIPHID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOD_PERIPHID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOD_PCELLID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOD_PCELLID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOD_PCELLID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOD_PCELLID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 4 + +# define TIVA_GPIOE_DATA (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOE_DIR (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOE_IS (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOE_IBE (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOE_IEV (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOE_IM (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOE_RIS (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOE_MIS (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOE_ICR (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOE_AFSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOE_DR2R (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOE_DR4R (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOE_DR8R (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOE_ODR (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOE_PUR (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOE_PDR (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOE_SLR (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOE_ADCCTL (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOE_DMACTL (TIVA_GPIOE_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOE_PERIPHID6 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOE_PERIPHID7 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOE_PERIPHID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOE_PERIPHID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOE_PERIPHID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOE_PERIPHID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOE_PCELLID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOE_PCELLID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOE_PCELLID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOE_PCELLID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 5 + +# define TIVA_GPIOF_DATA (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOF_DIR (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOF_IS (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOF_IBE (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOF_IEV (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOF_IM (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOF_RIS (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOF_MIS (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOF_ICR (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOF_AFSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOF_DR2R (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOF_DR4R (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOF_DR8R (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOF_ODR (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOF_PUR (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOF_PDR (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOF_SLR (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOF_ADCCTL (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOF_DMACTL (TIVA_GPIOF_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOF_PERIPHID6 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOF_PERIPHID7 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOF_PERIPHID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOF_PERIPHID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOF_PERIPHID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOF_PERIPHID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOF_PCELLID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOF_PCELLID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOF_PCELLID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOF_PCELLID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 6 + +# define TIVA_GPIOG_DATA (TIVA_GPIOG_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOG_DIR (TIVA_GPIOG_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOG_IS (TIVA_GPIOG_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOG_IBE (TIVA_GPIOG_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOG_IEV (TIVA_GPIOG_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOG_IM (TIVA_GPIOG_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOG_RIS (TIVA_GPIOG_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOG_MIS (TIVA_GPIOG_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOG_ICR (TIVA_GPIOG_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOG_AFSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOG_DR2R (TIVA_GPIOG_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOG_DR4R (TIVA_GPIOG_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOG_DR8R (TIVA_GPIOG_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOG_ODR (TIVA_GPIOG_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOG_PUR (TIVA_GPIOG_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOG_PDR (TIVA_GPIOG_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOG_SLR (TIVA_GPIOG_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOG_DEN (TIVA_GPIOG_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOG_LOCK (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOG_CR (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOG_AMSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOG_PCTL (TIVA_GPIOG_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOG_ADCCTL (TIVA_GPIOG_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOG_DMACTL (TIVA_GPIOG_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOG_PERIPHID4 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOG_PERIPHID5 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOG_PERIPHID6 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOG_PERIPHID7 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOG_PERIPHID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOG_PERIPHID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOG_PERIPHID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOG_PERIPHID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOG_PCELLID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOG_PCELLID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOG_PCELLID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOG_PCELLID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 7 + +# define TIVA_GPIOH_DATA (TIVA_GPIOH_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOH_DIR (TIVA_GPIOH_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOH_IS (TIVA_GPIOH_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOH_IBE (TIVA_GPIOH_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOH_IEV (TIVA_GPIOH_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOH_IM (TIVA_GPIOH_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOH_RIS (TIVA_GPIOH_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOH_MIS (TIVA_GPIOH_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOH_ICR (TIVA_GPIOH_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOH_AFSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOH_DR2R (TIVA_GPIOH_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOH_DR4R (TIVA_GPIOH_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOH_DR8R (TIVA_GPIOH_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOH_ODR (TIVA_GPIOH_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOH_PUR (TIVA_GPIOH_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOH_PDR (TIVA_GPIOH_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOH_SLR (TIVA_GPIOH_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOH_DEN (TIVA_GPIOH_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOH_LOCK (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOH_CR (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOH_AMSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOH_PCTL (TIVA_GPIOH_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOH_ADCCTL (TIVA_GPIOH_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOH_DMACTL (TIVA_GPIOH_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOH_PERIPHID4 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOH_PERIPHID5 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOH_PERIPHID6 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOH_PERIPHID7 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOH_PERIPHID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOH_PERIPHID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOH_PERIPHID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOH_PERIPHID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOH_PCELLID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOH_PCELLID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOH_PCELLID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOH_PCELLID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 8 + +# define TIVA_GPIOJ_DATA (TIVA_GPIOJ_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOJ_DIR (TIVA_GPIOJ_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOJ_IS (TIVA_GPIOJ_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOJ_IBE (TIVA_GPIOJ_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOJ_IEV (TIVA_GPIOJ_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOJ_IM (TIVA_GPIOJ_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOJ_RIS (TIVA_GPIOJ_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOJ_MIS (TIVA_GPIOJ_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOJ_ICR (TIVA_GPIOJ_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOJ_AFSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOJ_DR2R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOJ_DR4R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOJ_DR8R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOJ_ODR (TIVA_GPIOJ_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOJ_PUR (TIVA_GPIOJ_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOJ_PDR (TIVA_GPIOJ_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOJ_SLR (TIVA_GPIOJ_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOJ_DEN (TIVA_GPIOJ_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOJ_LOCK (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOJ_CR (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOJ_AMSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOJ_PCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOJ_ADCCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOJ_DMACTL (TIVA_GPIOJ_BASE + TIVA_GPIO_DMACTL_OFFSET) + +# define TIVA_GPIOJ_PERIPHID4 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOJ_PERIPHID5 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOJ_PERIPHID6 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOJ_PERIPHID7 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOJ_PERIPHID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOJ_PERIPHID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOJ_PERIPHID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOJ_PERIPHID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOJ_PCELLID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOJ_PCELLID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOJ_PCELLID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOJ_PCELLID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +/* GPIO Register Bitfield Definitions ***********************************************/ + +/* GPIO Lock */ + +#define GPIO_LOCK_UNLOCK 0x4c4f434b +#define GPIO_LOCK_LOCKED (1 << 0) /* Bit 0: GPIOCR register is locked */ + +/* GPIO Port Control */ + +#define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) +#define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) + +#define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ +#define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) +#define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ +#define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) +#define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ +#define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) +#define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ +#define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) +#define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ +#define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) +#define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ +#define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) +#define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ +#define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) +#define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ +#define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C123_GPIO_H */ diff --git a/arch/arm/src/tiva/hardware/tm4c/tm4c129_gpio.h b/arch/arm/src/tiva/hardware/tm4c/tm4c129_gpio.h new file mode 100644 index 0000000000..4ce77e3e79 --- /dev/null +++ b/arch/arm/src/tiva/hardware/tm4c/tm4c129_gpio.h @@ -0,0 +1,630 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tm4c/tm4c129_gpio.h + * + * Copyright (C) 2009-2010, 2013, 2018 Gregory Nutt. All rights reserved. + * Authors: Gregory Nutt + * Jose Pablo Carballo + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C129_GPIO_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C129_GPIO_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ +/* REVISIT: Why do we not use the AHB aperture for all GPIO accesses? */ + +#define TIVA_GPIOK_BASE TIVA_GPIOKAHB_BASE +#define TIVA_GPIOL_BASE TIVA_GPIOLAHB_BASE +#define TIVA_GPIOM_BASE TIVA_GPIOMAHB_BASE +#define TIVA_GPION_BASE TIVA_GPIONAHB_BASE +#define TIVA_GPIOP_BASE TIVA_GPIOPAHB_BASE +#define TIVA_GPIOQ_BASE TIVA_GPIOQAHB_BASE +#define TIVA_GPIOR_BASE TIVA_GPIORAHB_BASE +#define TIVA_GPIOS_BASE TIVA_GPIOSAHB_BASE +#define TIVA_GPIOT_BASE TIVA_GPIOTAHB_BASE + +/* GPIO Register Offsets ************************************************************/ + +#define TIVA_GPIO_DATA_OFFSET 0x0000 /* GPIO Data */ +#define TIVA_GPIO_DIR_OFFSET 0x0400 /* GPIO Direction */ +#define TIVA_GPIO_IS_OFFSET 0x0404 /* GPIO Interrupt Sense */ +#define TIVA_GPIO_IBE_OFFSET 0x0408 /* GPIO Interrupt Both Edges */ +#define TIVA_GPIO_IEV_OFFSET 0x040c /* GPIO Interrupt Event */ +#define TIVA_GPIO_IM_OFFSET 0x0410 /* GPIO Interrupt Mask */ +#define TIVA_GPIO_RIS_OFFSET 0x0414 /* GPIO Raw Interrupt Status */ +#define TIVA_GPIO_MIS_OFFSET 0x0418 /* GPIO Masked Interrupt Status */ +#define TIVA_GPIO_ICR_OFFSET 0x041c /* GPIO Interrupt Clear */ +#define TIVA_GPIO_AFSEL_OFFSET 0x0420 /* GPIO Alternate Function */ +#define TIVA_GPIO_DR2R_OFFSET 0x0500 /* Select GPIO 2-mA Drive Select */ +#define TIVA_GPIO_DR4R_OFFSET 0x0504 /* GPIO 4-mA Drive Select */ +#define TIVA_GPIO_DR8R_OFFSET 0x0508 /* GPIO 8-mA Drive Select */ +#define TIVA_GPIO_ODR_OFFSET 0x050c /* GPIO Open Drain Select */ +#define TIVA_GPIO_PUR_OFFSET 0x0510 /* GPIO Pull-Up Select */ +#define TIVA_GPIO_PDR_OFFSET 0x0514 /* GPIO Pull-Down Select */ +#define TIVA_GPIO_SLR_OFFSET 0x0518 /* GPIO Slew Rate Control Select */ +#define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ +#define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ +#define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ +#define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ +#define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ +#define TIVA_GPIO_ADCCTL_OFFSET 0x0530 /* GPIO ADC Control */ +#define TIVA_GPIO_DMACTL_OFFSET 0x0534 /* GPIO DMA Control */ +#define TIVA_GPIO_SI_OFFSET 0x0538 /* GPIO Select Interrupt */ +#define TIVA_GPIO_DR12R_OFFSET 0x053c /* GPIO 12-mA Drive Select */ +#define TIVA_GPIO_WAKEPEN_OFFSET 0x0540 /* GPIO Wake Pin Enable */ +#define TIVA_GPIO_WAKELVL_OFFSET 0x0544 /* GPIO Wake Level */ +#define TIVA_GPIO_WAKESTAT_OFFSET 0x0548 /* GPIO Wake Status */ +#define TIVA_GPIO_PP_OFFSET 0x0fc0 /* GPIO Peripheral Property */ +#define TIVA_GPIO_PC_OFFSET 0x0fc4 /* GPIO Peripheral Configuration */ + +#define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ +#define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ +#define TIVA_GPIO_PERIPHID6_OFFSET 0x0fd8 /* GPIO Peripheral Identification 6 */ +#define TIVA_GPIO_PERIPHID7_OFFSET 0x0fdc /* GPIO Peripheral Identification 7 */ +#define TIVA_GPIO_PERIPHID0_OFFSET 0x0fe0 /* GPIO Peripheral Identification 0 */ +#define TIVA_GPIO_PERIPHID1_OFFSET 0x0fe4 /* GPIO Peripheral Identification 1 */ +#define TIVA_GPIO_PERIPHID2_OFFSET 0x0fe8 /* GPIO Peripheral Identification 2 */ +#define TIVA_GPIO_PERIPHID3_OFFSET 0x0fec /* GPIO Peripheral Identification 3 */ +#define TIVA_GPIO_PCELLID0_OFFSET 0x0ff0 /* GPIO PrimeCell Identification 0 */ +#define TIVA_GPIO_PCELLID1_OFFSET 0x0ff4 /* GPIO PrimeCell Identification 1 */ +#define TIVA_GPIO_PCELLID2_OFFSET 0x0ff8 /* GPIO PrimeCell Identification 2 */ +#define TIVA_GPIO_PCELLID3_OFFSET 0x0ffc /* GPIO PrimeCell Identification 3*/ + +/* GPIO Register Addresses **********************************************************/ + +#if TIVA_NPORTS > 0 + +# define TIVA_GPIOA_DATA (TIVA_GPIOA_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOA_DIR (TIVA_GPIOA_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOA_IS (TIVA_GPIOA_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOA_IBE (TIVA_GPIOA_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOA_IEV (TIVA_GPIOA_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOA_IM (TIVA_GPIOA_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOA_RIS (TIVA_GPIOA_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOA_MIS (TIVA_GPIOA_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOA_ICR (TIVA_GPIOA_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOA_AFSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOA_DR2R (TIVA_GPIOA_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOA_DR4R (TIVA_GPIOA_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOA_DR8R (TIVA_GPIOA_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOA_ODR (TIVA_GPIOA_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOA_PUR (TIVA_GPIOA_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOA_PDR (TIVA_GPIOA_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOA_SLR (TIVA_GPIOA_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOA_ADCCTL (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOA_DMACTL (TIVA_GPIOA_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOA_SI (TIVA_GPIOA_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOA_DR12R (TIVA_GPIOA_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOA_WAKEPEN (TIVA_GPIOA_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOA_WAKELVL (TIVA_GPIOA_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOA_WAKESTAT (TIVA_GPIOA_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOA_PP (TIVA_GPIOA_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOA_PC (TIVA_GPIOA_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOA_PERIPHID6 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOA_PERIPHID7 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOA_PERIPHID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOA_PERIPHID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOA_PERIPHID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOA_PERIPHID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOA_PCELLID0 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOA_PCELLID1 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOA_PCELLID2 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOA_PCELLID3 (TIVA_GPIOA_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 1 + +# define TIVA_GPIOB_DATA (TIVA_GPIOB_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOB_DIR (TIVA_GPIOB_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOB_IS (TIVA_GPIOB_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOB_IBE (TIVA_GPIOB_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOB_IEV (TIVA_GPIOB_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOB_IM (TIVA_GPIOB_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOB_RIS (TIVA_GPIOB_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOB_MIS (TIVA_GPIOB_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOB_ICR (TIVA_GPIOB_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOB_AFSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOB_DR2R (TIVA_GPIOB_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOB_DR4R (TIVA_GPIOB_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOB_DR8R (TIVA_GPIOB_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOB_ODR (TIVA_GPIOB_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOB_PUR (TIVA_GPIOB_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOB_PDR (TIVA_GPIOB_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOB_SLR (TIVA_GPIOB_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOB_ADCCTL (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOB_DMACTL (TIVA_GPIOB_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOB_SI (TIVA_GPIOB_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOB_DR12R (TIVA_GPIOB_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOB_WAKEPEN (TIVA_GPIOB_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOB_WAKELVL (TIVA_GPIOB_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOB_WAKESTAT (TIVA_GPIOB_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOB_PP (TIVA_GPIOB_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOB_PC (TIVA_GPIOB_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOB_PERIPHID6 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOB_PERIPHID7 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOB_PERIPHID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOB_PERIPHID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOB_PERIPHID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOB_PERIPHID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOB_PCELLID0 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOB_PCELLID1 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOB_PCELLID2 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOB_PCELLID3 (TIVA_GPIOB_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 2 + +# define TIVA_GPIOC_DATA (TIVA_GPIOC_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOC_DIR (TIVA_GPIOC_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOC_IS (TIVA_GPIOC_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOC_IBE (TIVA_GPIOC_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOC_IEV (TIVA_GPIOC_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOC_IM (TIVA_GPIOC_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOC_RIS (TIVA_GPIOC_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOC_MIS (TIVA_GPIOC_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOC_ICR (TIVA_GPIOC_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOC_AFSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOC_DR2R (TIVA_GPIOC_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOC_DR4R (TIVA_GPIOC_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOC_DR8R (TIVA_GPIOC_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOC_ODR (TIVA_GPIOC_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOC_PUR (TIVA_GPIOC_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOC_PDR (TIVA_GPIOC_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOC_SLR (TIVA_GPIOC_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOC_ADCCTL (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOC_DMACTL (TIVA_GPIOC_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOC_SI (TIVA_GPIOC_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOC_DR12R (TIVA_GPIOC_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOC_WAKEPEN (TIVA_GPIOC_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOC_WAKELVL (TIVA_GPIOC_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOC_WAKESTAT (TIVA_GPIOC_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOC_PP (TIVA_GPIOC_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOC_PC (TIVA_GPIOC_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOC_PERIPHID6 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOC_PERIPHID7 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOC_PERIPHID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOC_PERIPHID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOC_PERIPHID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOC_PERIPHID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOC_PCELLID0 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOC_PCELLID1 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOC_PCELLID2 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOC_PCELLID3 (TIVA_GPIOC_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 3 + +# define TIVA_GPIOD_DATA (TIVA_GPIOD_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOD_DIR (TIVA_GPIOD_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOD_IS (TIVA_GPIOD_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOD_IBE (TIVA_GPIOD_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOD_IEV (TIVA_GPIOD_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOD_IM (TIVA_GPIOD_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOD_RIS (TIVA_GPIOD_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOD_MIS (TIVA_GPIOD_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOD_ICR (TIVA_GPIOD_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOD_AFSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOD_DR2R (TIVA_GPIOD_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOD_DR4R (TIVA_GPIOD_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOD_DR8R (TIVA_GPIOD_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOD_ODR (TIVA_GPIOD_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOD_PUR (TIVA_GPIOD_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOD_PDR (TIVA_GPIOD_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOD_SLR (TIVA_GPIOD_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOD_ADCCTL (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOD_DMACTL (TIVA_GPIOD_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOD_SI (TIVA_GPIOD_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOD_DR12R (TIVA_GPIOD_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOD_WAKEPEN (TIVA_GPIOD_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOD_WAKELVL (TIVA_GPIOD_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOD_WAKESTAT (TIVA_GPIOD_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOD_PP (TIVA_GPIOD_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOD_PC (TIVA_GPIOD_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOD_PERIPHID6 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOD_PERIPHID7 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOD_PERIPHID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOD_PERIPHID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOD_PERIPHID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOD_PERIPHID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOD_PCELLID0 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOD_PCELLID1 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOD_PCELLID2 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOD_PCELLID3 (TIVA_GPIOD_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 4 + +# define TIVA_GPIOE_DATA (TIVA_GPIOE_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOE_DIR (TIVA_GPIOE_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOE_IS (TIVA_GPIOE_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOE_IBE (TIVA_GPIOE_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOE_IEV (TIVA_GPIOE_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOE_IM (TIVA_GPIOE_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOE_RIS (TIVA_GPIOE_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOE_MIS (TIVA_GPIOE_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOE_ICR (TIVA_GPIOE_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOE_AFSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOE_DR2R (TIVA_GPIOE_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOE_DR4R (TIVA_GPIOE_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOE_DR8R (TIVA_GPIOE_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOE_ODR (TIVA_GPIOE_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOE_PUR (TIVA_GPIOE_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOE_PDR (TIVA_GPIOE_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOE_SLR (TIVA_GPIOE_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOE_ADCCTL (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOE_DMACTL (TIVA_GPIOE_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOE_SI (TIVA_GPIOE_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOE_DR12R (TIVA_GPIOE_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOE_WAKEPEN (TIVA_GPIOE_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOE_WAKELVL (TIVA_GPIOE_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOE_WAKESTAT (TIVA_GPIOE_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOE_PP (TIVA_GPIOE_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOE_PC (TIVA_GPIOE_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOE_PERIPHID6 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOE_PERIPHID7 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOE_PERIPHID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOE_PERIPHID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOE_PERIPHID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOE_PERIPHID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOE_PCELLID0 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOE_PCELLID1 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOE_PCELLID2 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOE_PCELLID3 (TIVA_GPIOE_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 5 + +# define TIVA_GPIOF_DATA (TIVA_GPIOF_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOF_DIR (TIVA_GPIOF_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOF_IS (TIVA_GPIOF_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOF_IBE (TIVA_GPIOF_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOF_IEV (TIVA_GPIOF_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOF_IM (TIVA_GPIOF_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOF_RIS (TIVA_GPIOF_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOF_MIS (TIVA_GPIOF_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOF_ICR (TIVA_GPIOF_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOF_AFSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOF_DR2R (TIVA_GPIOF_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOF_DR4R (TIVA_GPIOF_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOF_DR8R (TIVA_GPIOF_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOF_ODR (TIVA_GPIOF_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOF_PUR (TIVA_GPIOF_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOF_PDR (TIVA_GPIOF_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOF_SLR (TIVA_GPIOF_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOF_ADCCTL (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOF_DMACTL (TIVA_GPIOF_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOF_SI (TIVA_GPIOF_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOF_DR12R (TIVA_GPIOF_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOF_WAKEPEN (TIVA_GPIOF_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOF_WAKELVL (TIVA_GPIOF_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOF_WAKESTAT (TIVA_GPIOF_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOF_PP (TIVA_GPIOF_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOF_PC (TIVA_GPIOF_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOF_PERIPHID6 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOF_PERIPHID7 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOF_PERIPHID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOF_PERIPHID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOF_PERIPHID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOF_PERIPHID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOF_PCELLID0 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOF_PCELLID1 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOF_PCELLID2 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOF_PCELLID3 (TIVA_GPIOF_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 6 + +# define TIVA_GPIOG_DATA (TIVA_GPIOG_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOG_DIR (TIVA_GPIOG_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOG_IS (TIVA_GPIOG_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOG_IBE (TIVA_GPIOG_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOG_IEV (TIVA_GPIOG_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOG_IM (TIVA_GPIOG_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOG_RIS (TIVA_GPIOG_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOG_MIS (TIVA_GPIOG_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOG_ICR (TIVA_GPIOG_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOG_AFSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOG_DR2R (TIVA_GPIOG_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOG_DR4R (TIVA_GPIOG_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOG_DR8R (TIVA_GPIOG_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOG_ODR (TIVA_GPIOG_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOG_PUR (TIVA_GPIOG_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOG_PDR (TIVA_GPIOG_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOG_SLR (TIVA_GPIOG_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOG_DEN (TIVA_GPIOG_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOG_LOCK (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOG_CR (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOG_AMSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOG_PCTL (TIVA_GPIOG_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOG_ADCCTL (TIVA_GPIOG_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOG_DMACTL (TIVA_GPIOG_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOG_SI (TIVA_GPIOG_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOG_DR12R (TIVA_GPIOG_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOG_WAKEPEN (TIVA_GPIOG_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOG_WAKELVL (TIVA_GPIOG_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOG_WAKESTAT (TIVA_GPIOG_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOG_PP (TIVA_GPIOG_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOG_PC (TIVA_GPIOG_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOG_PERIPHID4 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOG_PERIPHID5 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOG_PERIPHID6 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOG_PERIPHID7 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOG_PERIPHID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOG_PERIPHID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOG_PERIPHID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOG_PERIPHID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOG_PCELLID0 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOG_PCELLID1 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOG_PCELLID2 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOG_PCELLID3 (TIVA_GPIOG_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 7 + +# define TIVA_GPIOH_DATA (TIVA_GPIOH_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOH_DIR (TIVA_GPIOH_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOH_IS (TIVA_GPIOH_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOH_IBE (TIVA_GPIOH_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOH_IEV (TIVA_GPIOH_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOH_IM (TIVA_GPIOH_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOH_RIS (TIVA_GPIOH_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOH_MIS (TIVA_GPIOH_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOH_ICR (TIVA_GPIOH_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOH_AFSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOH_DR2R (TIVA_GPIOH_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOH_DR4R (TIVA_GPIOH_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOH_DR8R (TIVA_GPIOH_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOH_ODR (TIVA_GPIOH_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOH_PUR (TIVA_GPIOH_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOH_PDR (TIVA_GPIOH_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOH_SLR (TIVA_GPIOH_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOH_DEN (TIVA_GPIOH_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOH_LOCK (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOH_CR (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOH_AMSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOH_PCTL (TIVA_GPIOH_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOH_ADCCTL (TIVA_GPIOH_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOH_DMACTL (TIVA_GPIOH_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOH_SI (TIVA_GPIOH_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOH_DR12R (TIVA_GPIOH_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOH_WAKEPEN (TIVA_GPIOH_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOH_WAKELVL (TIVA_GPIOH_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOH_WAKESTAT (TIVA_GPIOH_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOH_PP (TIVA_GPIOH_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOH_PC (TIVA_GPIOH_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOH_PERIPHID4 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOH_PERIPHID5 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOH_PERIPHID6 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOH_PERIPHID7 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOH_PERIPHID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOH_PERIPHID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOH_PERIPHID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOH_PERIPHID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOH_PCELLID0 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOH_PCELLID1 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOH_PCELLID2 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOH_PCELLID3 (TIVA_GPIOH_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + +#if TIVA_NPORTS > 8 + +# define TIVA_GPIOJ_DATA (TIVA_GPIOJ_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOJ_DIR (TIVA_GPIOJ_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOJ_IS (TIVA_GPIOJ_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOJ_IBE (TIVA_GPIOJ_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOJ_IEV (TIVA_GPIOJ_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOJ_IM (TIVA_GPIOJ_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOJ_RIS (TIVA_GPIOJ_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOJ_MIS (TIVA_GPIOJ_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOJ_ICR (TIVA_GPIOJ_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOJ_AFSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOJ_DR2R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOJ_DR4R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOJ_DR8R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOJ_ODR (TIVA_GPIOJ_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOJ_PUR (TIVA_GPIOJ_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOJ_PDR (TIVA_GPIOJ_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOJ_SLR (TIVA_GPIOJ_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOJ_DEN (TIVA_GPIOJ_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOJ_LOCK (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOJ_CR (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET) +# define TIVA_GPIOJ_AMSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOJ_PCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOJ_ADCCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOJ_DMACTL (TIVA_GPIOJ_BASE + TIVA_GPIO_DMACTL_OFFSET) +# define TIVA_GPIOJ_SI (TIVA_GPIOJ_BASE + TIVA_GPIO_SI_OFFSET) +# define TIVA_GPIOJ_DR12R (TIVA_GPIOJ_BASE + TIVA_GPIO_DR12R_OFFSET) +# define TIVA_GPIOJ_WAKEPEN (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKEPEN_OFFSET) +# define TIVA_GPIOJ_WAKELVL (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKELVL_OFFSET) +# define TIVA_GPIOJ_WAKESTAT (TIVA_GPIOJ_BASE + TIVA_GPIO_WAKESTAT_OFFSET) +# define TIVA_GPIOJ_PP (TIVA_GPIOJ_BASE + TIVA_GPIO_PP_OFFSET) +# define TIVA_GPIOJ_PC (TIVA_GPIOJ_BASE + TIVA_GPIO_PC_OFFSET) + +# define TIVA_GPIOJ_PERIPHID4 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOJ_PERIPHID5 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOJ_PERIPHID6 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOJ_PERIPHID7 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOJ_PERIPHID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOJ_PERIPHID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOJ_PERIPHID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOJ_PERIPHID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOJ_PCELLID0 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOJ_PCELLID1 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOJ_PCELLID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOJ_PCELLID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#endif + + +/* GPIO Register Bitfield Definitions ***********************************************/ + +/* GPIO Interrupt Mask */ + +#define GPIO_IM_DMAIME (1 << 8) /* Bit 8: GPIO μDMA Done Interrupt Mask Enable */ + +/* GPIO Raw Interrupt Status */ + +#define GPIO_RIS_DMARIS (1 << 8) /* Bit 8: GPIO μDMA Done Interrupt Raw Status */ + +/* GPIO Masked Interrupt Status */ + +#define GPIO_MIS_DMAMIS (1 << 8) /* Bit 8: GPIO μDMA Done Masked Interrupt Status */ + +/* GPIO Interrupt Clear */ + +#define GPIO_ICR_DMAIC (1 << 8) /* Bit 8: GPIO μDMA Interrupt Clear */ + +/* GPIO Lock */ + +#define GPIO_LOCK_UNLOCK 0x4c4f434b +#define GPIO_LOCK_LOCKED (1 << 0) /* Bit 0: GPIOCR register is locked */ + +/* GPIO Port Control */ + +#define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) +#define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) + +#define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ +#define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) +#define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ +#define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) +#define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ +#define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) +#define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ +#define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) +#define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ +#define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) +#define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ +#define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) +#define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ +#define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) +#define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ +#define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) + +/* GPIO Select Interrupt */ + +#define GPIO_SI_SUM (1 << 0) /* Bit 0: Summary Interrupt */ + +/* GPIO Peripheral Property */ + +#define GPIO_PP_EDE (1 << 0) /* Bit 0: Extended Drive Enable */ + +/* GPIO Peripheral Configuration */ + +#define GPIO_PC_EDM_SHIFT(n) ((n) << 1) +#define GPIO_PC_EDM_MASK(n) (3 << GPIO_PC_EDM_SHIFT(n)) + +#define GPIO_PC_EDM0_SHIFT (0) /* Bits 0-1: Extended Drive Mode Bit 0 */ +#define GPIO_PC_EDM0_MASK (3 << GPIO_PC_EDM0_SHIFT) +#define GPIO_PC_EDM1_SHIFT (2) /* Bits 2-3: Extended Drive Mode Bit 1 */ +#define GPIO_PC_EDM1_MASK (3 << GPIO_PC_EDM1_SHIFT) +#define GPIO_PC_EDM2_SHIFT (4) /* Bits 4-5: Extended Drive Mode Bit 2 */ +#define GPIO_PC_EDM2_MASK (3 << GPIO_PC_EDM2_SHIFT) +#define GPIO_PC_EDM3_SHIFT (6) /* Bits 6-7: Extended Drive Mode Bit 3 */ +#define GPIO_PC_EDM3_MASK (3 << GPIO_PC_EDM3_SHIFT) +#define GPIO_PC_EDM4_SHIFT (8) /* Bits 8-9: Extended Drive Mode Bit 4 */ +#define GPIO_PC_EDM4_MASK (3 << GPIO_PC_EDM4_SHIFT) +#define GPIO_PC_EDM5_SHIFT (10) /* Bits 10-11: Extended Drive Mode Bit 5 */ +#define GPIO_PC_EDM5_MASK (3 << GPIO_PC_EDM5_SHIFT) +#define GPIO_PC_EDM6_SHIFT (12) /* Bits 12-13: Extended Drive Mode Bit 6 */ +#define GPIO_PC_EDM6_MASK (3 << GPIO_PC_EDM6_SHIFT) +#define GPIO_PC_EDM7_SHIFT (14) /* Bits 14-15: Extended Drive Mode Bit 7 */ +#define GPIO_PC_EDM7_MASK (3 << GPIO_PC_EDM7_SHIFT) + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TM4C_TM4C129_GPIO_H */