1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero */ 9*10465441SEvalZero #ifndef __AM33XX_H__ 10*10465441SEvalZero #define __AM33XX_H__ 11*10465441SEvalZero 12*10465441SEvalZero #define REG32(x) (*((volatile unsigned int *)(x))) 13*10465441SEvalZero #define REG16(x) (*((volatile unsigned short *)(x))) 14*10465441SEvalZero 15*10465441SEvalZero /** Cache Line size in ARM Cortex-A8. */ 16*10465441SEvalZero #define AM33XX_CACHELINE_SIZE (64) 17*10465441SEvalZero 18*10465441SEvalZero /** @brief Base address of AINTC memory mapped registers */ 19*10465441SEvalZero #define AM33XX_AINTC_REGS (0x48200000) 20*10465441SEvalZero 21*10465441SEvalZero 22*10465441SEvalZero /** @brief Base addresses of control module registers */ 23*10465441SEvalZero #define AM33XX_CTLM_REGS (0x44e10000) 24*10465441SEvalZero 25*10465441SEvalZero /** @brief Base addresses of USB memory mapped registers */ 26*10465441SEvalZero #define AM33XX_USB_0_BASE (0x47401400) 27*10465441SEvalZero #define AM33XX_USB_1_BASE (0x47401C00) 28*10465441SEvalZero /** @brief Base addresses of SPI memory mapped registers */ 29*10465441SEvalZero #define AM33XX_SPI_0_REGS (0x48030000) 30*10465441SEvalZero #define AM33XX_SPI_1_REGS (0x481A0000) 31*10465441SEvalZero 32*10465441SEvalZero /** @brief Base addresses of GPIO memory mapped registers */ 33*10465441SEvalZero #define AM33XX_GPIO_0_REGS (0x44E07000) 34*10465441SEvalZero #define AM33XX_GPIO_1_REGS (0x4804C000) 35*10465441SEvalZero #define AM33XX_GPIO_2_REGS (0x481AC000) 36*10465441SEvalZero #define AM33XX_GPIO_3_REGS (0x481AE000) 37*10465441SEvalZero 38*10465441SEvalZero /** @brief Base addresses of DMTIMER memory mapped registers */ 39*10465441SEvalZero #define AM33XX_DMTIMER_0_REGS (0x44E05000) 40*10465441SEvalZero #define AM33XX_DMTIMER_1_REGS (0x44E31000) 41*10465441SEvalZero #define AM33XX_DMTIMER_2_REGS (0x48040000) 42*10465441SEvalZero #define AM33XX_DMTIMER_3_REGS (0x48042000) 43*10465441SEvalZero #define AM33XX_DMTIMER_4_REGS (0x48044000) 44*10465441SEvalZero #define AM33XX_DMTIMER_5_REGS (0x48046000) 45*10465441SEvalZero #define AM33XX_DMTIMER_6_REGS (0x48048000) 46*10465441SEvalZero #define AM33XX_DMTIMER_7_REGS (0x4804A000) 47*10465441SEvalZero 48*10465441SEvalZero /** @brief Base address of MMC memory mapped registers */ 49*10465441SEvalZero #define AM33XX_MMCHS_0_REGS (0x48060000) 50*10465441SEvalZero #define AM33XX_MMCHS_1_REGS (0x481D8000) 51*10465441SEvalZero #define AM33XX_MMCHS_2_REGS (0x47810000) 52*10465441SEvalZero 53*10465441SEvalZero /** @brief Base address of GPMC memory mapped registers */ 54*10465441SEvalZero #define AM33XX_GPMC_0_REGS (0x50000000) 55*10465441SEvalZero 56*10465441SEvalZero /** @brief Base address of GPMC memory mapped registers */ 57*10465441SEvalZero #define AM33XX_ELM_0_REGS (0x48080000) 58*10465441SEvalZero 59*10465441SEvalZero /** @brief Base address of I2C memory mapped registers */ 60*10465441SEvalZero #define AM33XX_I2C_0_REGS (0x44E0B000) 61*10465441SEvalZero #define AM33XX_I2C_1_REGS (0x4802A000) 62*10465441SEvalZero #define AM33XX_I2C_2_REGS (0x4819C000) 63*10465441SEvalZero 64*10465441SEvalZero /** @brief Base address of WDT memory mapped registers */ 65*10465441SEvalZero #define AM33XX_WDT_0_REGS (0x44E33000) 66*10465441SEvalZero #define AM33XX_WDT_1_REGS (0x44E35000) 67*10465441SEvalZero 68*10465441SEvalZero /** @brief Base address of WDT memory mapped registers */ 69*10465441SEvalZero #define AM33XX_CPSW_SS_REGS (0x4A100000) 70*10465441SEvalZero #define AM33XX_CPSW_MDIO_REGS (0x4A101000) 71*10465441SEvalZero #define AM33XX_CPSW_WR_REGS (0x4A101200) 72*10465441SEvalZero #define AM33XX_CPSW_CPDMA_REGS (0x4A100800) 73*10465441SEvalZero #define AM33XX_CPSW_ALE_REGS (0x4A100D00) 74*10465441SEvalZero #define AM33XX_CPSW_STAT_REGS (0x4A100900) 75*10465441SEvalZero #define AM33XX_CPSW_PORT_0_REGS (0x4A100100) 76*10465441SEvalZero #define AM33XX_CPSW_PORT_1_REGS (0x4A100200) 77*10465441SEvalZero #define AM33XX_CPSW_SLIVER_1_REGS (0x4A100D80) 78*10465441SEvalZero #define AM33XX_CPSW_PORT_2_REGS (0x4A100300) 79*10465441SEvalZero #define AM33XX_CPSW_SLIVER_2_REGS (0x4A100DC0) 80*10465441SEvalZero #define AM33XX_CPSW_CPPI_RAM_REGS (0x4A102000) 81*10465441SEvalZero 82*10465441SEvalZero /** @brief Base address of McASP memory mapped registers */ 83*10465441SEvalZero #define AM33XX_MCASP_1_CTRL_REGS (0x4803C000) 84*10465441SEvalZero #define AM33XX_MCASP_1_FIFO_REGS (AM33XX_MCASP_1_CTRL_REGS + 0x1000) 85*10465441SEvalZero #define AM33XX_MCASP_1_DATA_REGS (0x46400000) 86*10465441SEvalZero 87*10465441SEvalZero /** @brief Base address of EMIF memory mapped registers */ 88*10465441SEvalZero #define AM33XX_EMIF_0_REGS (0x4C000000) 89*10465441SEvalZero 90*10465441SEvalZero /** @brief Base addresses of RTC memory mapped registers */ 91*10465441SEvalZero #define AM33XX_RTC_0_REGS (0x44E3E000) 92*10465441SEvalZero 93*10465441SEvalZero #define CM_PER(base) ((base) + 0) 94*10465441SEvalZero #define CM_PER_L4LS_CLKSTCTRL(base) (CM_PER(base) + 0) 95*10465441SEvalZero #define CM_PER_UART1_CLKCTRL(base) (CM_PER(base) + 0x6C) 96*10465441SEvalZero #define CM_PER_UART2_CLKCTRL(base) (CM_PER(base) + 0x70) 97*10465441SEvalZero #define CM_PER_UART3_CLKCTRL(base) (CM_PER(base) + 0x74) 98*10465441SEvalZero #define CM_PER_UART4_CLKCTRL(base) (CM_PER(base) + 0x78) 99*10465441SEvalZero #define CM_PER_UART5_CLKCTRL(base) (CM_PER(base) + 0x38) 100*10465441SEvalZero #define CM_WKUP(base) ((base) + 0x400) 101*10465441SEvalZero #define CM_DPLL(base) ((base) + 0x500) 102*10465441SEvalZero #define CM_MPU(base) ((base) + 0x600) 103*10465441SEvalZero #define CM_DEVICE(base) ((base) + 0x700) 104*10465441SEvalZero #define CM_RTC(base) ((base) + 0x800) 105*10465441SEvalZero #define CM_GFX(base) ((base) + 0x900) 106*10465441SEvalZero #define CM_CEFUSE(base) ((base) + 0xA00) 107*10465441SEvalZero #define OCP_AM33XXKET_RAM(base) ((base) + 0xB00) 108*10465441SEvalZero #define PRM_PER(base) ((base) + 0xC00) 109*10465441SEvalZero #define PRM_PER_PWRSTST(base) (PRM_PER(base) + 0x008) 110*10465441SEvalZero #define PRM_PER_PWRSTCTRL(base) (PRM_PER(base) + 0x00C) 111*10465441SEvalZero #define PRM_WKUP(base) ((base) + 0xD00) 112*10465441SEvalZero #define PRM_MPU(base) ((base) + 0xE00) 113*10465441SEvalZero #define PRM_DEVICE(base) ((base) + 0xF00) 114*10465441SEvalZero #define PRM_RTC(base) ((base) + 0x1000) 115*10465441SEvalZero #define PRM_GFX(base) ((base) + 0x1100) 116*10465441SEvalZero #define PRM_CEFUSE(base) ((base) + 0x1200) 117*10465441SEvalZero 118*10465441SEvalZero /** @brief Base addresses of PRCM memory mapped registers */ 119*10465441SEvalZero #define AM33XX_PRCM_REGS (0x44E00000) 120*10465441SEvalZero #define AM33XX_CM_PER_REGS CM_PER(AM33XX_PRCM_REGS) 121*10465441SEvalZero #define AM33XX_CM_WKUP_REGS CM_WKUP(AM33XX_PRCM_REGS) 122*10465441SEvalZero #define AM33XX_CM_DPLL_REGS CM_DPLL(AM33XX_PRCM_REGS) 123*10465441SEvalZero #define AM33XX_CM_MPU_REGS CM_MPU(AM33XX_PRCM_REGS) 124*10465441SEvalZero #define AM33XX_CM_DEVICE_REGS CM_DEVICE(AM33XX_PRCM_REGS) 125*10465441SEvalZero #define AM33XX_CM_RTC_REGS CM_RTC(AM33XX_PRCM_REGS) 126*10465441SEvalZero #define AM33XX_CM_GFX_REGS CM_GFX(AM33XX_PRCM_REGS) 127*10465441SEvalZero #define AM33XX_CM_CEFUSE_REGS CM_CEFUSE(AM33XX_PRCM_REGS) 128*10465441SEvalZero #define AM33XX_OCP_AM33XXKET_RAM_REGS OCP_AM33XXKET_RAM(AM33XX_PRCM_REGS) 129*10465441SEvalZero #define AM33XX_PRM_PER_REGS PRM_PER(AM33XX_PRCM_REGS) 130*10465441SEvalZero #define AM33XX_PRM_WKUP_REGS PRM_WKUP(AM33XX_PRCM_REGS) 131*10465441SEvalZero #define AM33XX_PRM_MPU_REGS PRM_MPU(AM33XX_PRCM_REGS) 132*10465441SEvalZero #define AM33XX_PRM_DEVICE_REGS PRM_DEVICE(AM33XX_PRCM_REGS) 133*10465441SEvalZero #define AM33XX_PRM_RTC_REGS PRM_RTC(AM33XX_PRCM_REGS) 134*10465441SEvalZero #define AM33XX_PRM_GFX_REGS PRM_GFX(AM33XX_PRCM_REGS) 135*10465441SEvalZero #define AM33XX_PRM_CEFUSE_REGS PRM_CEFUSE(AM33XX_PRCM_REGS) 136*10465441SEvalZero 137*10465441SEvalZero /** @brief Base address of control module memory mapped registers */ 138*10465441SEvalZero #define AM33XX_CONTROL_REGS (0x44E10000) 139*10465441SEvalZero 140*10465441SEvalZero 141*10465441SEvalZero /** @brief Base address of Channel controller memory mapped registers */ 142*10465441SEvalZero #define AM33XX_EDMA30CC_0_REGS (0x49000000) 143*10465441SEvalZero 144*10465441SEvalZero /** @brief Base address of DCAN module memory mapped registers */ 145*10465441SEvalZero #define AM33XX_DCAN_0_REGS (0x481CC000) 146*10465441SEvalZero #define AM33XX_DCAN_1_REGS (0x481D0000) 147*10465441SEvalZero 148*10465441SEvalZero /******************************************************************************\ 149*10465441SEvalZero * Parameterizable Configuration:- These are fed directly from the RTL 150*10465441SEvalZero * parameters for the given AM33XX 151*10465441SEvalZero \******************************************************************************/ 152*10465441SEvalZero #define TPCC_MUX(n) 0xF90 + ((n) * 4) 153*10465441SEvalZero 154*10465441SEvalZero 155*10465441SEvalZero #define AM33XX_LCDC_0_REGS 0x4830E000 156*10465441SEvalZero 157*10465441SEvalZero #define AM33XX_ADC_TSC_0_REGS 0x44E0D000 158*10465441SEvalZero 159*10465441SEvalZero /** @brief Base addresses of PWMSS memory mapped registers. */ 160*10465441SEvalZero 161*10465441SEvalZero #define AM33XX_PWMSS0_REGS (0x48300000) 162*10465441SEvalZero #define AM33XX_PWMSS1_REGS (0x48302000) 163*10465441SEvalZero #define AM33XX_PWMSS2_REGS (0x48304000) 164*10465441SEvalZero 165*10465441SEvalZero #define AM33XX_ECAP_REGS (0x00000100) 166*10465441SEvalZero #define AM33XX_EQEP_REGS (0x00000180) 167*10465441SEvalZero #define AM33XX_EPWM_REGS (0x00000200) 168*10465441SEvalZero 169*10465441SEvalZero #define AM33XX_ECAP_0_REGS (AM33XX_PWMSS0_REGS + AM33XX_ECAP_REGS) 170*10465441SEvalZero #define AM33XX_ECAP_1_REGS (AM33XX_PWMSS1_REGS + AM33XX_ECAP_REGS) 171*10465441SEvalZero #define AM33XX_ECAP_2_REGS (AM33XX_PWMSS2_REGS + AM33XX_ECAP_REGS) 172*10465441SEvalZero 173*10465441SEvalZero #define AM33XX_EQEP_0_REGS (AM33XX_PWMSS0_REGS + AM33XX_EQEP_REGS) 174*10465441SEvalZero #define AM33XX_EQEP_1_REGS (AM33XX_PWMSS1_REGS + AM33XX_EQEP_REGS) 175*10465441SEvalZero #define AM33XX_EQEP_2_REGS (AM33XX_PWMSS2_REGS + AM33XX_EQEP_REGS) 176*10465441SEvalZero 177*10465441SEvalZero #define AM33XX_EPWM_0_REGS (AM33XX_PWMSS0_REGS + AM33XX_EPWM_REGS) 178*10465441SEvalZero #define AM33XX_EPWM_1_REGS (AM33XX_PWMSS1_REGS + AM33XX_EPWM_REGS) 179*10465441SEvalZero #define AM33XX_EPWM_2_REGS (AM33XX_PWMSS2_REGS + AM33XX_EPWM_REGS) 180*10465441SEvalZero 181*10465441SEvalZero #define AM33XX_EPWM_MODULE_FREQ 100 182*10465441SEvalZero 183*10465441SEvalZero /* PRCM registers */ 184*10465441SEvalZero #define CM_PER_L4LS_CLKSTCTRL_REG(base) REG32((base) + 0x0) 185*10465441SEvalZero #define CM_PER_UART1_CLKCTRL_REG(base) REG32(CM_PER_UART1_CLKCTRL(base)) 186*10465441SEvalZero #define CM_PER_UART2_CLKCTRL_REG(base) REG32(CM_PER_UART2_CLKCTRL(base)) 187*10465441SEvalZero #define CM_PER_UART3_CLKCTRL_REG(base) REG32(CM_PER_UART3_CLKCTRL(base)) 188*10465441SEvalZero #define CM_PER_UART4_CLKCTRL_REG(base) REG32(CM_PER_UART4_CLKCTRL(base)) 189*10465441SEvalZero #define CM_PER_UART5_CLKCTRL_REG(base) REG32(CM_PER_UART5_CLKCTRL(base)) 190*10465441SEvalZero 191*10465441SEvalZero #define CM_PER_TIMER7_CLKCTRL(base) REG32((base) + 0x7C) 192*10465441SEvalZero #define CM_PER_TIMER2_CLKCTRL(base) REG32((base) + 0x80) 193*10465441SEvalZero 194*10465441SEvalZero #define PRM_PER_PWRSTST_REG(base) REG32(PRM_PER_PWRSTST(base)) 195*10465441SEvalZero #define PRM_PER_PWRSTCTRL_REG(base) REG32(PRM_PER_PWRSTCTRL(base)) 196*10465441SEvalZero 197*10465441SEvalZero #define CM_DPLL_CLKSEL_TIMER7_CLK(base) REG32(CM_DPLL(base) + 0x4) 198*10465441SEvalZero #define CM_DPLL_CLKSEL_TIMER2_CLK(base) REG32(CM_DPLL(base) + 0x8) 199*10465441SEvalZero 200*10465441SEvalZero /* timer registers */ 201*10465441SEvalZero #define DMTIMER_TIDR(base) REG32(base + 0x0) 202*10465441SEvalZero #define DMTIMER_TIOCP_CFG(base) REG32(base + 0x10) 203*10465441SEvalZero #define DMTIMER_IRQ_EOI(base) REG32(base + 0x20) 204*10465441SEvalZero #define DMTIMER_IRQSTATUS_RAW(base) REG32(base + 0x24) 205*10465441SEvalZero #define DMTIMER_IRQSTATUS(base) REG32(base + 0x28) 206*10465441SEvalZero #define DMTIMER_IRQENABLE_SET(base) REG32(base + 0x2C) 207*10465441SEvalZero #define DMTIMER_IRQENABLE_CLR(base) REG32(base + 0x30) 208*10465441SEvalZero #define DMTIMER_IRQWAKEEN(base) REG32(base + 0x34) 209*10465441SEvalZero #define DMTIMER_TCLR(base) REG32(base + 0x38) 210*10465441SEvalZero #define DMTIMER_TCRR(base) REG32(base + 0x3C) 211*10465441SEvalZero #define DMTIMER_TLDR(base) REG32(base + 0x40) 212*10465441SEvalZero #define DMTIMER_TTGR(base) REG32(base + 0x44) 213*10465441SEvalZero #define DMTIMER_TWPS(base) REG32(base + 0x48) 214*10465441SEvalZero #define DMTIMER_TMAR(base) REG32(base + 0x4C) 215*10465441SEvalZero #define DMTIMER_TCAR(base, n) REG32(base + 0x50 + (((n) - 1) * 8)) 216*10465441SEvalZero #define DMTIMER_TSICR(base) REG32(base + 0x54) 217*10465441SEvalZero 218*10465441SEvalZero #define EMU_INT 0 219*10465441SEvalZero #define COMMTX_INT 1 220*10465441SEvalZero #define COMMRX_INT 2 221*10465441SEvalZero #define BENCH_INT 3 222*10465441SEvalZero #define ELM_IRQ_INT 4 223*10465441SEvalZero #define NMI_INT 7 224*10465441SEvalZero #define L3DEBUG_INT 9 225*10465441SEvalZero #define L3APP_INT 10 226*10465441SEvalZero #define PRCM_INT 11 227*10465441SEvalZero #define EDMACOMP_INT 12 228*10465441SEvalZero #define EDMAMPERR_INT 13 229*10465441SEvalZero #define EDMAERR_INT 14 230*10465441SEvalZero #define ADC_TSC_GEN_INT 16 231*10465441SEvalZero #define USBSS_INT 17 232*10465441SEvalZero #define USB_INT0 18 233*10465441SEvalZero #define USB_INT1 19 234*10465441SEvalZero #define PRU_ICSS_EVTOUT0_INT 20 235*10465441SEvalZero #define PRU_ICSS_EVTOUT1_INT 21 236*10465441SEvalZero #define PRU_ICSS_EVTOUT2_INT 22 237*10465441SEvalZero #define PRU_ICSS_EVTOUT3_INT 23 238*10465441SEvalZero #define PRU_ICSS_EVTOUT4_INT 24 239*10465441SEvalZero #define PRU_ICSS_EVTOUT5_INT 25 240*10465441SEvalZero #define PRU_ICSS_EVTOUT6_INT 26 241*10465441SEvalZero #define PRU_ICSS_EVTOUT7_INT 27 242*10465441SEvalZero #define MMCSD1_INT 28 243*10465441SEvalZero #define MMCSD2_INT 29 244*10465441SEvalZero #define I2C2_INT 30 245*10465441SEvalZero #define ECAP0_INT 31 246*10465441SEvalZero #define GPIO_INT2A 32 247*10465441SEvalZero #define GPIO_INT2B 33 248*10465441SEvalZero #define USBWAKEUP_INT 34 249*10465441SEvalZero #define LCDC_INT 36 250*10465441SEvalZero #define GFX_INT 37 251*10465441SEvalZero #define EPWM2_INT 39 252*10465441SEvalZero #define CPSW_RXTHR0_INT 40 253*10465441SEvalZero #define CPSW_RX_INT0 41 254*10465441SEvalZero #define CPSW_TX_INT0 42 255*10465441SEvalZero #define CPSW_MISC0_INT 43 256*10465441SEvalZero #define UART3_INT 44 257*10465441SEvalZero #define UART4_INT 45 258*10465441SEvalZero #define UART5_INT 46 259*10465441SEvalZero #define ECAP1_INT 47 260*10465441SEvalZero #define DCAN0_INT0 52 261*10465441SEvalZero #define DCAN0_INT1 53 262*10465441SEvalZero #define DCAN0_PARITY 54 263*10465441SEvalZero #define DCAN1_INT0 55 264*10465441SEvalZero #define DCAN1_INT1 56 265*10465441SEvalZero #define DCAN1_PARITY 57 266*10465441SEvalZero #define EPWM0_TZINT 58 267*10465441SEvalZero #define EPWM1_TZINT 59 268*10465441SEvalZero #define EPWM2_TZINT 60 269*10465441SEvalZero #define ECAP2_INT 61 270*10465441SEvalZero #define GPIO_INT3A 62 271*10465441SEvalZero #define GPIO_INT3B 63 272*10465441SEvalZero #define MMCSD0_INT 64 273*10465441SEvalZero #define MCSPI0_INT 65 274*10465441SEvalZero #define TINT0 66 275*10465441SEvalZero #define TINT1_1MS 67 276*10465441SEvalZero #define TINT2 68 277*10465441SEvalZero #define TINT3 69 278*10465441SEvalZero #define I2C0_INT 70 279*10465441SEvalZero #define I2C1_INT 71 280*10465441SEvalZero #define UART0_INT 72 281*10465441SEvalZero #define UART1_INT 73 282*10465441SEvalZero #define UART2_INT 74 283*10465441SEvalZero #define RTC_INT 75 284*10465441SEvalZero #define RTC_ALARM_INT 76 285*10465441SEvalZero #define MB_INT0 77 286*10465441SEvalZero #define M3_TXEV 78 287*10465441SEvalZero #define EQEP0_INT 79 288*10465441SEvalZero #define MACTX_INT0 80 289*10465441SEvalZero #define MCARX_INT0 81 290*10465441SEvalZero #define MCATX_INT1 82 291*10465441SEvalZero #define MCARX_INT1 83 292*10465441SEvalZero #define EPWM0_INT 86 293*10465441SEvalZero #define EPWM1_INT 87 294*10465441SEvalZero #define EQEP1_INT 88 295*10465441SEvalZero #define EQEP2_INT 89 296*10465441SEvalZero #define DMA_INTR_PIN2 90 297*10465441SEvalZero #define WDT1_INT 91 298*10465441SEvalZero #define TINT4 92 299*10465441SEvalZero #define TINT5 93 300*10465441SEvalZero #define TINT6 94 301*10465441SEvalZero #define TINT7 95 302*10465441SEvalZero #define GPIO_INT0A 96 303*10465441SEvalZero #define GPIO_INT0B 97 304*10465441SEvalZero #define GPIO_INT1A 98 305*10465441SEvalZero #define GPIO_INT1B 99 306*10465441SEvalZero #define GPMC_INT 100 307*10465441SEvalZero #define DDRERR0 101 308*10465441SEvalZero #define TCERR_INT0 112 309*10465441SEvalZero #define TCERR_INT1 113 310*10465441SEvalZero #define TCERR_INT2 114 311*10465441SEvalZero #define ADC_TSC_PEN_INT 115 312*10465441SEvalZero #define SMRFLX_MPU 120 313*10465441SEvalZero #define SMRFLX_CORE 121 314*10465441SEvalZero #define DMA_INTR_PIN0 123 315*10465441SEvalZero #define DMA_INTR_PIN1 124 316*10465441SEvalZero #define MCSPI1_INT 125 317*10465441SEvalZero 318*10465441SEvalZero struct rt_hw_register 319*10465441SEvalZero { 320*10465441SEvalZero unsigned long r0; 321*10465441SEvalZero unsigned long r1; 322*10465441SEvalZero unsigned long r2; 323*10465441SEvalZero unsigned long r3; 324*10465441SEvalZero unsigned long r4; 325*10465441SEvalZero unsigned long r5; 326*10465441SEvalZero unsigned long r6; 327*10465441SEvalZero unsigned long r7; 328*10465441SEvalZero unsigned long r8; 329*10465441SEvalZero unsigned long r9; 330*10465441SEvalZero unsigned long r10; 331*10465441SEvalZero unsigned long fp; 332*10465441SEvalZero unsigned long ip; 333*10465441SEvalZero unsigned long sp; 334*10465441SEvalZero unsigned long lr; 335*10465441SEvalZero unsigned long pc; 336*10465441SEvalZero unsigned long cpsr; 337*10465441SEvalZero unsigned long ORIG_r0; 338*10465441SEvalZero }; 339*10465441SEvalZero 340*10465441SEvalZero #define USERMODE 0x10 341*10465441SEvalZero #define FIQMODE 0x11 342*10465441SEvalZero #define IRQMODE 0x12 343*10465441SEvalZero #define SVCMODE 0x13 344*10465441SEvalZero #define ABORTMODE 0x17 345*10465441SEvalZero #define UNDEFMODE 0x1b 346*10465441SEvalZero #define MODEMASK 0x1f 347*10465441SEvalZero #define NOINT 0xc0 348*10465441SEvalZero 349*10465441SEvalZero #endif 350