1*10465441SEvalZero /* 2*10465441SEvalZero * File : sep6200.h 3*10465441SEvalZero * This file is part of RT-Thread RTOS 4*10465441SEvalZero * COPYRIGHT (C) 2006 - 2013, RT-Thread Development Team 5*10465441SEvalZero * 6*10465441SEvalZero * This program is free software; you can redistribute it and/or modify 7*10465441SEvalZero * it under the terms of the GNU General Public License as published by 8*10465441SEvalZero * the Free Software Foundation; either version 2 of the License, or 9*10465441SEvalZero * (at your option) any later version. 10*10465441SEvalZero * 11*10465441SEvalZero * This program is distributed in the hope that it will be useful, 12*10465441SEvalZero * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*10465441SEvalZero * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*10465441SEvalZero * GNU General Public License for more details. 15*10465441SEvalZero * 16*10465441SEvalZero * You should have received a copy of the GNU General Public License along 17*10465441SEvalZero * with this program; if not, write to the Free Software Foundation, Inc., 18*10465441SEvalZero * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19*10465441SEvalZero * 20*10465441SEvalZero * Change Logs: 21*10465441SEvalZero * Date Author Notes 22*10465441SEvalZero * 2013-7-17 Peng Fan sep6200 implementation 23*10465441SEvalZero */ 24*10465441SEvalZero 25*10465441SEvalZero #ifndef __SEP6200_H 26*10465441SEvalZero #define __SEP6200_H 27*10465441SEvalZero 28*10465441SEvalZero #include <rtthread.h> 29*10465441SEvalZero 30*10465441SEvalZero /*Core definations*/ 31*10465441SEvalZero #define PRIVMODE 0x13 32*10465441SEvalZero #define Mode_USR 0x10 33*10465441SEvalZero #define Mode_REAL 0x11 34*10465441SEvalZero #define Mode_IRQ 0x12 35*10465441SEvalZero #define Mode_PRIV 0x13 36*10465441SEvalZero #define Mode_TRAP 0x17 37*10465441SEvalZero #define Mode_EXT 0x1B 38*10465441SEvalZero #define Mode_SUSR 0x1F 39*10465441SEvalZero 40*10465441SEvalZero /* 41*10465441SEvalZero * Address 42*10465441SEvalZero */ 43*10465441SEvalZero 44*10465441SEvalZero #define SEP6200_VIC_BASE 0xb0000000 45*10465441SEvalZero #define SEP6200_PMU_BASE 0xb0001000 46*10465441SEvalZero #define SEP6200_RTC_BASE 0xb0002000 47*10465441SEvalZero #define SEP6200_TIMER_BASE 0xb0003000 48*10465441SEvalZero #define SEP6200_PWM_BASE 0xb0004000 49*10465441SEvalZero #define SEP6200_GPIO_BASE 0xb0006000 50*10465441SEvalZero #define SEP6200_TOUCH_ADC 0xb0007000 51*10465441SEvalZero #define SEP6200_SYSCTL_BASE 0xb0008000 52*10465441SEvalZero #define SEP6200_UART0_BASE 0xb1000000 53*10465441SEvalZero #define SEP6200_UART1_BASE 0xb1001000 54*10465441SEvalZero #define SEP6200_UART2_BASE 0xb1002000 55*10465441SEvalZero #define SEP6200_UART3_BASE 0xb1003000 56*10465441SEvalZero #define SEP6200_SSI1_BASE 0xb1004000 57*10465441SEvalZero #define SEP6200_SSI2_BASE 0xb1005000 58*10465441SEvalZero #define SEP6200_SSI3_BASE 0xb1006000 59*10465441SEvalZero #define SEP6200_I2C_BASE 0xb1007000 60*10465441SEvalZero #define SEP6200_I2S_BASE 0xb1008000 61*10465441SEvalZero #define SEP6200_USB_BASE 0xb1010000 62*10465441SEvalZero #define SEP6200_DMAC2_BASE 0xb1011000 63*10465441SEvalZero #define SEP6200_ESRAM_BASE 0xb2000000 64*10465441SEvalZero #define SEP6200_NORREG_BASE0xb2020000 65*10465441SEvalZero #define SEP6200_SDIO1_BASE 0xb2022000 66*10465441SEvalZero #define SEP6200_SDIO2_BASE 0xb2023000 67*10465441SEvalZero #define SEP6200_LCDC_BASE 0xb2025000 68*10465441SEvalZero #define SEP6200_VPU_BASE 0xb2026000 69*10465441SEvalZero #define SEP6200_DMAC1_BASE 0xb2027000 70*10465441SEvalZero #define SEP6200_DDR2_REG 0xb3000000 71*10465441SEvalZero #define SEP6200_DDR_MEM 0x40000000 72*10465441SEvalZero 73*10465441SEvalZero #define SEP6200_UART0_DLBL (SEP6200_UART0_BASE+0x00) 74*10465441SEvalZero #define SEP6200_UART0_RXFIFO (SEP6200_UART0_BASE+0x00) 75*10465441SEvalZero #define SEP6200_UART0_TXFIFO (SEP6200_UART0_BASE+0x00) 76*10465441SEvalZero #define SEP6200_UART0_DLBH (SEP6200_UART0_BASE+0x04) 77*10465441SEvalZero #define SEP6200_UART0_IER (SEP6200_UART0_BASE+0x04) 78*10465441SEvalZero #define SEP6200_UART0_IIR (SEP6200_UART0_BASE+0x08) 79*10465441SEvalZero #define SEP6200_UART0_FCR (SEP6200_UART0_BASE+0x08) 80*10465441SEvalZero #define SEP6200_UART0_LCR (SEP6200_UART0_BASE+0x0c) 81*10465441SEvalZero #define SEP6200_UART0_MCR (SEP6200_UART0_BASE+0x10) 82*10465441SEvalZero #define SEP6200_UART0_LSR (SEP6200_UART0_BASE+0x14) 83*10465441SEvalZero #define SEP6200_UART0_MSR (SEP6200_UART0_BASE+0x18) 84*10465441SEvalZero 85*10465441SEvalZero 86*10465441SEvalZero #define SEP6200_TIMER_T1LCR (SEP6200_TIMER_BASE + 0X000) 87*10465441SEvalZero #define SEP6200_TIMER_T1CCR (SEP6200_TIMER_BASE + 0X004) 88*10465441SEvalZero #define SEP6200_TIMER_T1CR (SEP6200_TIMER_BASE + 0X008) 89*10465441SEvalZero #define SEP6200_TIMER_T1ISCR (SEP6200_TIMER_BASE + 0X00C) 90*10465441SEvalZero #define SEP6200_TIMER_T1IMSR (SEP6200_TIMER_BASE + 0X010) 91*10465441SEvalZero #define SEP6200_TIMER_T2LCR (SEP6200_TIMER_BASE + 0X020) 92*10465441SEvalZero #define SEP6200_TIMER_T2CCR (SEP6200_TIMER_BASE + 0X024) 93*10465441SEvalZero #define SEP6200_TIMER_T2CR (SEP6200_TIMER_BASE + 0X028) 94*10465441SEvalZero #define SEP6200_TIMER_T2ISCR (SEP6200_TIMER_BASE + 0X02C) 95*10465441SEvalZero #define SEP6200_TIMER_T2IMSR (SEP6200_TIMER_BASE + 0X030) 96*10465441SEvalZero #define SEP6200_TIMER_T3LCR (SEP6200_TIMER_BASE + 0X040) 97*10465441SEvalZero #define SEP6200_TIMER_T3CCR (SEP6200_TIMER_BASE + 0X044) 98*10465441SEvalZero #define SEP6200_TIMER_T3CR (SEP6200_TIMER_BASE + 0X048) 99*10465441SEvalZero #define SEP6200_TIMER_T3ISCR (SEP6200_TIMER_BASE + 0X04C) 100*10465441SEvalZero #define SEP6200_TIMER_T3IMSR (SEP6200_TIMER_BASE + 0X050) 101*10465441SEvalZero #define SEP6200_TIMER_T3CAPR (SEP6200_TIMER_BASE + 0X054) 102*10465441SEvalZero #define SEP6200_TIMER_T4LCR (SEP6200_TIMER_BASE + 0X060) 103*10465441SEvalZero #define SEP6200_TIMER_T4CCR (SEP6200_TIMER_BASE + 0X064) 104*10465441SEvalZero #define SEP6200_TIMER_T4CR (SEP6200_TIMER_BASE + 0X068) 105*10465441SEvalZero #define SEP6200_TIMER_T4ISCR (SEP6200_TIMER_BASE + 0X06C) 106*10465441SEvalZero #define SEP6200_TIMER_T4IMSR (SEP6200_TIMER_BASE + 0X070) 107*10465441SEvalZero #define SEP6200_TIMER_T4CAPR (SEP6200_TIMER_BASE + 0X074) 108*10465441SEvalZero #define SEP6200_TIMER_T5LCR (SEP6200_TIMER_BASE + 0X080) 109*10465441SEvalZero #define SEP6200_TIMER_T5CCR (SEP6200_TIMER_BASE + 0X084) 110*10465441SEvalZero #define SEP6200_TIMER_T5CR (SEP6200_TIMER_BASE + 0X088) 111*10465441SEvalZero #define SEP6200_TIMER_T5ISCR (SEP6200_TIMER_BASE + 0X08C) 112*10465441SEvalZero #define SEP6200_TIMER_T5IMSR (SEP6200_TIMER_BASE + 0X090) 113*10465441SEvalZero #define SEP6200_TIMER_T5CAPR (SEP6200_TIMER_BASE + 0X094) 114*10465441SEvalZero #define SEP6200_TIMER_T6LCR (SEP6200_TIMER_BASE + 0X0A0) 115*10465441SEvalZero #define SEP6200_TIMER_T6CCR (SEP6200_TIMER_BASE + 0X0A4) 116*10465441SEvalZero #define SEP6200_TIMER_T6CR (SEP6200_TIMER_BASE + 0X0A8) 117*10465441SEvalZero #define SEP6200_TIMER_T6ISCR (SEP6200_TIMER_BASE + 0X0AC) 118*10465441SEvalZero #define SEP6200_TIMER_T6IMSR (SEP6200_TIMER_BASE + 0X0B0) 119*10465441SEvalZero #define SEP6200_TIMER_T6CAPR (SEP6200_TIMER_BASE + 0X0B4) 120*10465441SEvalZero #define SEP6200_TIMER_T7LCR (SEP6200_TIMER_BASE + 0X0C0) 121*10465441SEvalZero #define SEP6200_TIMER_T7CCR (SEP6200_TIMER_BASE + 0X0C4) 122*10465441SEvalZero #define SEP6200_TIMER_T7CR (SEP6200_TIMER_BASE + 0X0C8) 123*10465441SEvalZero #define SEP6200_TIMER_T7ISCR (SEP6200_TIMER_BASE + 0X0CC) 124*10465441SEvalZero #define SEP6200_TIMER_T7IMSR (SEP6200_TIMER_BASE + 0X0D0) 125*10465441SEvalZero #define SEP6200_TIMER_T8LCR (SEP6200_TIMER_BASE + 0X0E0) 126*10465441SEvalZero #define SEP6200_TIMER_T8CCR (SEP6200_TIMER_BASE + 0X0E4) 127*10465441SEvalZero #define SEP6200_TIMER_T8CR (SEP6200_TIMER_BASE + 0X0E8) 128*10465441SEvalZero #define SEP6200_TIMER_T8ISCR (SEP6200_TIMER_BASE + 0X0EC) 129*10465441SEvalZero #define SEP6200_TIMER_T8IMSR (SEP6200_TIMER_BASE + 0X0F0) 130*10465441SEvalZero #define SEP6200_TIMER_T9LCR (SEP6200_TIMER_BASE + 0X100) 131*10465441SEvalZero #define SEP6200_TIMER_T9CCR (SEP6200_TIMER_BASE + 0X104) 132*10465441SEvalZero #define SEP6200_TIMER_T9CR (SEP6200_TIMER_BASE + 0X108) 133*10465441SEvalZero #define SEP6200_TIMER_T9ISCR (SEP6200_TIMER_BASE + 0X10C) 134*10465441SEvalZero #define SEP6200_TIMER_T9IMSR (SEP6200_TIMER_BASE + 0X110) 135*10465441SEvalZero #define SEP6200_TIMER_T10LCR (SEP6200_TIMER_BASE + 0X120) 136*10465441SEvalZero #define SEP6200_TIMER_T10CCR (SEP6200_TIMER_BASE + 0X124) 137*10465441SEvalZero #define SEP6200_TIMER_T10CR (SEP6200_TIMER_BASE + 0X128) 138*10465441SEvalZero #define SEP6200_TIMER_T10ISCR (SEP6200_TIMER_BASE + 0X12C) 139*10465441SEvalZero #define SEP6200_TIMER_T10IMSR (SEP6200_TIMER_BASE + 0X130) 140*10465441SEvalZero #define SEP6200_TIMER_TIMSR (SEP6200_TIMER_BASE + 0X140) 141*10465441SEvalZero #define SEP6200_TIMER_TISCR (SEP6200_TIMER_BASE + 0X144) 142*10465441SEvalZero #define SEP6200_TIMER_TISR (SEP6200_TIMER_BASE + 0X148) 143*10465441SEvalZero 144*10465441SEvalZero #define SEP6200_VIC_INT_SLT_L (SEP6200_VIC_BASE + 0x000) 145*10465441SEvalZero #define SEP6200_VIC_INT_SLT_H (SEP6200_VIC_BASE + 0x004) 146*10465441SEvalZero #define SEP6200_VIC_INT_EN_L (SEP6200_VIC_BASE + 0x008) 147*10465441SEvalZero #define SEP6200_VIC_INT_EN_H (SEP6200_VIC_BASE + 0x00C) 148*10465441SEvalZero #define SEP6200_VIC_INT_EN_CLR_L (SEP6200_VIC_BASE + 0x010) 149*10465441SEvalZero #define SEP6200_VIC_INT_EN_CLR_H (SEP6200_VIC_BASE + 0x014) 150*10465441SEvalZero #define SEP6200_VIC_SFT_INT_L (SEP6200_VIC_BASE + 0x018) 151*10465441SEvalZero #define SEP6200_VIC_SFT_INT_H (SEP6200_VIC_BASE + 0x01C) 152*10465441SEvalZero #define SEP6200_VIC_SFT_INT_CLR_L (SEP6200_VIC_BASE + 0x020) 153*10465441SEvalZero #define SEP6200_VIC_SFT_INT_CLR_H (SEP6200_VIC_BASE + 0x024) 154*10465441SEvalZero #define SEP6200_VIC_INT_MSK_ALL (SEP6200_VIC_BASE + 0x028) 155*10465441SEvalZero #define SEP6200_VIC_RAW_INT_SRC_L (SEP6200_VIC_BASE + 0x030) 156*10465441SEvalZero #define SEP6200_VIC_RAW_INT_SRC_H (SEP6200_VIC_BASE + 0x034) 157*10465441SEvalZero #define SEP6200_VIC_RAW_IRQ_STS_L (SEP6200_VIC_BASE + 0x038) 158*10465441SEvalZero #define SEP6200_VIC_RAW_IRQ_STS_H (SEP6200_VIC_BASE + 0x03C) 159*10465441SEvalZero #define SEP6200_VIC_RAW_FIQ_STS_L (SEP6200_VIC_BASE + 0x040) 160*10465441SEvalZero #define SEP6200_VIC_RAW_FIQ_STS_H (SEP6200_VIC_BASE + 0x044) 161*10465441SEvalZero #define SEP6200_VIC_MSK_IRQ_STS_L (SEP6200_VIC_BASE + 0x048) 162*10465441SEvalZero #define SEP6200_VIC_MSK_IRQ_STS_H (SEP6200_VIC_BASE + 0x04C) 163*10465441SEvalZero #define SEP6200_VIC_MSK_FIQ_STS_L (SEP6200_VIC_BASE + 0x050) 164*10465441SEvalZero #define SEP6200_VIC_MSK_FIQ_STS_H (SEP6200_VIC_BASE + 0x054) 165*10465441SEvalZero #define SEP6200_VIC_IRQ_PENDING_L (SEP6200_VIC_BASE + 0x058) 166*10465441SEvalZero #define SEP6200_VIC_IRQ_PENDING_H (SEP6200_VIC_BASE + 0x05C) 167*10465441SEvalZero #define SEP6200_VIC_FIQ_PENDING_L (SEP6200_VIC_BASE + 0x060) 168*10465441SEvalZero #define SEP6200_VIC_FIQ_PENDING_H (SEP6200_VIC_BASE + 0x064) 169*10465441SEvalZero #define SEP6200_VIC_IRQ_VECTOR_BASE (SEP6200_VIC_BASE + 0x070) 170*10465441SEvalZero #define SEP6200_VIC_FIQ_VECTOR_BASE (SEP6200_VIC_BASE + 0x074) 171*10465441SEvalZero #define SEP6200_VIC_IRQ_VECTOR_NUM (SEP6200_VIC_BASE + 0x078) 172*10465441SEvalZero #define SEP6200_VIC_FIQ_VECTOR_NUM (SEP6200_VIC_BASE + 0x07C) 173*10465441SEvalZero #define SEP6200_VIC_IRQ_VECTOR_ADDR (SEP6200_VIC_BASE + 0x080) 174*10465441SEvalZero #define SEP6200_VIC_FIQ_VECTOR_ADDR (SEP6200_VIC_BASE + 0x084) 175*10465441SEvalZero #define SEP6200_VIC_PROIRTY_MASK (SEP6200_VIC_BASE + 0x090) 176*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY00 (SEP6200_VIC_BASE + 0x100) 177*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY01 (SEP6200_VIC_BASE + 0x104) 178*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY02 (SEP6200_VIC_BASE + 0x108) 179*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY03 (SEP6200_VIC_BASE + 0x10C) 180*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY04 (SEP6200_VIC_BASE + 0x110) 181*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY05 (SEP6200_VIC_BASE + 0x114) 182*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY06 (SEP6200_VIC_BASE + 0x118) 183*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY07 (SEP6200_VIC_BASE + 0x11C) 184*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY08 (SEP6200_VIC_BASE + 0x120) 185*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY09 (SEP6200_VIC_BASE + 0x124) 186*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY10 (SEP6200_VIC_BASE + 0x128) 187*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY11 (SEP6200_VIC_BASE + 0x12C) 188*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY12 (SEP6200_VIC_BASE + 0x130) 189*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY13 (SEP6200_VIC_BASE + 0x134) 190*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY14 (SEP6200_VIC_BASE + 0x138) 191*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY15 (SEP6200_VIC_BASE + 0x13C) 192*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY16 (SEP6200_VIC_BASE + 0x140) 193*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY17 (SEP6200_VIC_BASE + 0x144) 194*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY18 (SEP6200_VIC_BASE + 0x148) 195*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY19 (SEP6200_VIC_BASE + 0x14C) 196*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY20 (SEP6200_VIC_BASE + 0x150) 197*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY21 (SEP6200_VIC_BASE + 0x154) 198*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY22 (SEP6200_VIC_BASE + 0x158) 199*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY23 (SEP6200_VIC_BASE + 0x15C) 200*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY24 (SEP6200_VIC_BASE + 0x160) 201*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY25 (SEP6200_VIC_BASE + 0x164) 202*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY26 (SEP6200_VIC_BASE + 0x168) 203*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY27 (SEP6200_VIC_BASE + 0x16C) 204*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY28 (SEP6200_VIC_BASE + 0x170) 205*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY29 (SEP6200_VIC_BASE + 0x174) 206*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY30 (SEP6200_VIC_BASE + 0x178) 207*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY31 (SEP6200_VIC_BASE + 0x17C) 208*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY32 (SEP6200_VIC_BASE + 0x180) 209*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY33 (SEP6200_VIC_BASE + 0x184) 210*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY34 (SEP6200_VIC_BASE + 0x188) 211*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY35 (SEP6200_VIC_BASE + 0x18C) 212*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY36 (SEP6200_VIC_BASE + 0x190) 213*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY37 (SEP6200_VIC_BASE + 0x194) 214*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY38 (SEP6200_VIC_BASE + 0x198) 215*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY39 (SEP6200_VIC_BASE + 0x19C) 216*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY40 (SEP6200_VIC_BASE + 0x1A0) 217*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY41 (SEP6200_VIC_BASE + 0x1A4) 218*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY42 (SEP6200_VIC_BASE + 0x1A8) 219*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY43 (SEP6200_VIC_BASE + 0x1AC) 220*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY44 (SEP6200_VIC_BASE + 0x1B0) 221*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY45 (SEP6200_VIC_BASE + 0x1B4) 222*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY46 (SEP6200_VIC_BASE + 0x1B8) 223*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY47 (SEP6200_VIC_BASE + 0x1BC) 224*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY48 (SEP6200_VIC_BASE + 0x1C0) 225*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY49 (SEP6200_VIC_BASE + 0x1C4) 226*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY50 (SEP6200_VIC_BASE + 0x1C8) 227*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY51 (SEP6200_VIC_BASE + 0x1CC) 228*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY52 (SEP6200_VIC_BASE + 0x1D0) 229*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY53 (SEP6200_VIC_BASE + 0x1D4) 230*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY54 (SEP6200_VIC_BASE + 0x1D8) 231*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY55 (SEP6200_VIC_BASE + 0x1DC) 232*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY56 (SEP6200_VIC_BASE + 0x1E0) 233*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY57 (SEP6200_VIC_BASE + 0x1E4) 234*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY58 (SEP6200_VIC_BASE + 0x1E8) 235*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY59 (SEP6200_VIC_BASE + 0x1EC) 236*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY60 (SEP6200_VIC_BASE + 0x1F0) 237*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY61 (SEP6200_VIC_BASE + 0x1F4) 238*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY62 (SEP6200_VIC_BASE + 0x1F8) 239*10465441SEvalZero #define SEP6200_VIC_VECTOR_PROIRTY63 (SEP6200_VIC_BASE + 0x1FC) 240*10465441SEvalZero 241*10465441SEvalZero #define SEP6200_PMU_PLL_SET (SEP6200_PMU_BASE + 0x000) 242*10465441SEvalZero #define SEP6200_PMU_APLL_CFG (SEP6200_PMU_BASE + 0x004) 243*10465441SEvalZero #define SEP6200_PMU_MPLL_GFG (SEP6200_PMU_BASE + 0x008) 244*10465441SEvalZero #define SEP6200_PMU_DPLL_CFG (SEP6200_PMU_BASE + 0x00C) 245*10465441SEvalZero #define SEP6200_PMU_PMDR (SEP6200_PMU_BASE + 0x010) 246*10465441SEvalZero #define SEP6200_PMU_CLK_GT_CFG1 (SEP6200_PMU_BASE + 0x014) 247*10465441SEvalZero #define SEP6200_PMU_CLK_GT_CFG2 (SEP6200_PMU_BASE + 0x018) 248*10465441SEvalZero #define SEP6200_PMU_PWR_GT_CFG (SEP6200_PMU_BASE + 0x01C) 249*10465441SEvalZero #define SEP6200_PMU_AHB_CLK_CFG (SEP6200_PMU_BASE + 0x020) 250*10465441SEvalZero #define SEP6200_PMU_ARM_CLK_CFG (SEP6200_PMU_BASE + 0x024) 251*10465441SEvalZero #define SEP6200_PMU_DDR_CLK_CFG (SEP6200_PMU_BASE + 0x028) 252*10465441SEvalZero #define SEP6200_PMU_PIX_CLK_CFG (SEP6200_PMU_BASE + 0x02C) 253*10465441SEvalZero #define SEP6200_PMU_GPU_CLK2X_CFG (SEP6200_PMU_BASE + 0x030) 254*10465441SEvalZero #define SEP6200_PMU_DIV_SET (SEP6200_PMU_BASE + 0x034) 255*10465441SEvalZero #define SEP6200_PMU_CRYSTAL_CFG (SEP6200_PMU_BASE + 0x038) 256*10465441SEvalZero #define SEP6200_PMU_MSK_WAKEUP (SEP6200_PMU_BASE + 0x03C) 257*10465441SEvalZero #define SEP6200_PMU_RTCR (SEP6200_PMU_BASE + 0x040) 258*10465441SEvalZero #define SEP6200_PMU_CLR_WAKEUP (SEP6200_PMU_BASE + 0x044) 259*10465441SEvalZero #define SEP6200_PMU_WAKEUP_TIME (SEP6200_PMU_BASE + 0x048) 260*10465441SEvalZero #define SEP6200_PMU_SLEEP_FLAG (SEP6200_PMU_BASE + 0x04C) 261*10465441SEvalZero #define SEP6200_PMU_WAIT_PWR_SWITCH (SEP6200_PMU_BASE + 0x050) 262*10465441SEvalZero #define SEP6200_PMU_PWR_STATE (SEP6200_PMU_BASE + 0x054) 263*10465441SEvalZero #define SEP6200_PMU_INT_POL_SEL (SEP6200_PMU_BASE + 0x058) 264*10465441SEvalZero #define SEP6200_PMU_PLLLD (SEP6200_PMU_BASE + 0x05C) 265*10465441SEvalZero #define SEP6200_PMU_IC_ENABLE (SEP6200_PMU_BASE + 0x060) 266*10465441SEvalZero #define SEP6200_PMU_IC_TAR (SEP6200_PMU_BASE + 0x064) 267*10465441SEvalZero #define SEP6200_PMU_IC_SCL_LCNT (SEP6200_PMU_BASE + 0x068) 268*10465441SEvalZero #define SEP6200_PMU_IC_SCL_HCNT (SEP6200_PMU_BASE + 0x06C) 269*10465441SEvalZero #define SEP6200_PMU_IC_DATA_CMD (SEP6200_PMU_BASE + 0x070) 270*10465441SEvalZero #define SEP6200_PMU_IC_STATE (SEP6200_PMU_BASE + 0x074) 271*10465441SEvalZero #define SEP6200_PMU_IC_SET (SEP6200_PMU_BASE + 0x078) 272*10465441SEvalZero #define SEP6200_PMU_HA_PWR_OFF_DAT (SEP6200_PMU_BASE + 0x07C) 273*10465441SEvalZero #define SEP6200_PMU_HA_PWR_ON_DAT (SEP6200_PMU_BASE + 0x080) 274*10465441SEvalZero #define SEP6200_PMU_HA_PWR_OFF_DAT_CNT (SEP6200_PMU_BASE + 0x084) 275*10465441SEvalZero #define SEP6200_PMU_HA_PWR_ON_DAT_CNT (SEP6200_PMU_BASE + 0x088) 276*10465441SEvalZero #define SEP6200_PMU_PWR_OFF_TIME (SEP6200_PMU_BASE + 0x08C) 277*10465441SEvalZero #define SEP6200_PMU_PWR_ON_TIME (SEP6200_PMU_BASE + 0x090) 278*10465441SEvalZero #define SEP6200_PMU_PWR_ON_POL_SEL (SEP6200_PMU_BASE + 0x094) 279*10465441SEvalZero #define SEP6200_PMU_RETURN_ADDR (SEP6200_PMU_BASE + 0x098) 280*10465441SEvalZero #define SEP6200_PMU_INT (SEP6200_PMU_BASE + 0x09C) 281*10465441SEvalZero 282*10465441SEvalZero /* define the interrupt source number */ 283*10465441SEvalZero #define INTSRC_RESERVE2 63 284*10465441SEvalZero #define INTSRC_RESERVE1 62 285*10465441SEvalZero #define INTSRC_LCDC 61 286*10465441SEvalZero #define INTSRC_GPU 60 287*10465441SEvalZero #define INTSRC_VPU 59 288*10465441SEvalZero #define INTSRC_TIMER3 58 289*10465441SEvalZero #define INTSRC_TIMER2 57 290*10465441SEvalZero #define INTSRC_TIMER1 56 291*10465441SEvalZero #define INTSRC_NAND 55 292*10465441SEvalZero #define INTSRC_I2S 54 293*10465441SEvalZero #define INTSRC_I2C3 53 294*10465441SEvalZero #define INTSRC_I2C2 52 295*10465441SEvalZero #define INTSRC_I2C1 51 296*10465441SEvalZero #define INTSRC_SSI3 50 297*10465441SEvalZero #define INTSRC_SSI2 49 298*10465441SEvalZero #define INTSRC_SSI1 48 299*10465441SEvalZero #define INTSRC_SDIO2 47 300*10465441SEvalZero #define INTSRC_SDIO1 46 301*10465441SEvalZero #define INTSRC_UART3 45 302*10465441SEvalZero #define INTSRC_UART2 44 303*10465441SEvalZero #define INTSRC_UART1 43 304*10465441SEvalZero #define INTSRC_UART0 42 305*10465441SEvalZero #define INTSRC_PWM 41 306*10465441SEvalZero #define INTSRC_USB 40 307*10465441SEvalZero #define INTSRC_USBDMA 39 308*10465441SEvalZero #define INTSRC_DMAC2 38 309*10465441SEvalZero #define INTSRC_DMAC1 37 310*10465441SEvalZero #define INTSRC_PMUIRQ_A11 36 311*10465441SEvalZero #define INTSRC_DMAIRQ_A11 35 312*10465441SEvalZero #define INTSRC_GPS 34 313*10465441SEvalZero #define INTSRC_RTC 33 314*10465441SEvalZero #define INTSRC_RESERVED16 32 315*10465441SEvalZero #define INTSRC_PORTE12 31 316*10465441SEvalZero #define INTSRC_PORTE11 30 317*10465441SEvalZero #define INTSRC_PORTE10 29 318*10465441SEvalZero #define INTSRC_PORTE9 28 319*10465441SEvalZero #define INTSRC_PORTE5 27 320*10465441SEvalZero #define INTSRC_PORTE4 26 321*10465441SEvalZero #define INTSRC_PORTD9 25 322*10465441SEvalZero #define INTSRC_PORTD8 24 323*10465441SEvalZero #define INTSRC_PORTD3 23 324*10465441SEvalZero #define INTSRC_PORTD2 22 325*10465441SEvalZero #define INTSRC_PORTD1 21 326*10465441SEvalZero #define INTSRC_PORTD0 20 327*10465441SEvalZero #define INTSRC_PORTC3 19 328*10465441SEvalZero #define INTSRC_PORTC2 18 329*10465441SEvalZero #define INTSRC_PORTC1 17 330*10465441SEvalZero #define INTSRC_PORTC0 16 331*10465441SEvalZero #define INTSRC_EXT15 15 332*10465441SEvalZero #define INTSRC_EXT14 14 333*10465441SEvalZero #define INTSRC_EXT13 13 334*10465441SEvalZero #define INTSRC_EXT12 12 335*10465441SEvalZero #define INTSRC_EXT11 11 336*10465441SEvalZero #define INTSRC_EXT10 10 337*10465441SEvalZero #define INTSRC_EXT9 9 338*10465441SEvalZero #define INTSRC_EXT8 8 339*10465441SEvalZero #define INTSRC_EXT7 7 340*10465441SEvalZero #define INTSRC_EXT6 6 341*10465441SEvalZero #define INTSRC_EXT5 5 342*10465441SEvalZero #define INTSRC_EXT4 4 343*10465441SEvalZero #define INTSRC_AO_EXT3 3 344*10465441SEvalZero #define INTSRC_AO_EXT2 2 345*10465441SEvalZero #define INTSRC_AO_EXT1 1 346*10465441SEvalZero #define INTSRC_AO_EXT0 0 347*10465441SEvalZero 348*10465441SEvalZero 349*10465441SEvalZero typedef char S8; /* signed 8-bit integer */ 350*10465441SEvalZero typedef short S16; /* signed 16-bit integer */ 351*10465441SEvalZero typedef long S32; /* signed 32-bit integer */ 352*10465441SEvalZero typedef unsigned char U8; /* unsigned 8-bit integer */ 353*10465441SEvalZero typedef unsigned short U16; /* unsigned 16-bit integer */ 354*10465441SEvalZero typedef unsigned long U32; /* unsigned 32-bit integer */ 355*10465441SEvalZero 356*10465441SEvalZero typedef volatile U32 * RP; 357*10465441SEvalZero typedef volatile U16 * RP16; 358*10465441SEvalZero typedef volatile U8 * RP8; 359*10465441SEvalZero 360*10465441SEvalZero typedef void *VP; /* pointer to an unpredictable data type */ 361*10465441SEvalZero typedef void (*FP)(); /* program start address */ 362*10465441SEvalZero 363*10465441SEvalZero #ifndef _BOOL_TYPE_ 364*10465441SEvalZero #define _BOOL_TYPE_ 365*10465441SEvalZero typedef int BOOL; /* Boolean value. TRUE (1) or FALSE (0). */ 366*10465441SEvalZero #endif 367*10465441SEvalZero 368*10465441SEvalZero typedef int ER; /* Error code. A signed integer. */ 369*10465441SEvalZero 370*10465441SEvalZero /** 371*10465441SEvalZero * IO definitions 372*10465441SEvalZero * 373*10465441SEvalZero * define access restrictions to peripheral registers 374*10465441SEvalZero */ 375*10465441SEvalZero 376*10465441SEvalZero #define __I volatile const /*!< defines 'read only' permissions */ 377*10465441SEvalZero #define __O volatile /*!< defines 'write only' permissions */ 378*10465441SEvalZero #define __IO volatile /*!< defines 'read / write' permissions */ 379*10465441SEvalZero #define __iomem volatile 380*10465441SEvalZero 381*10465441SEvalZero 382*10465441SEvalZero /*Macros for debug*/ 383*10465441SEvalZero 384*10465441SEvalZero #define EOUT(fmt,...) \ 385*10465441SEvalZero do \ 386*10465441SEvalZero { \ 387*10465441SEvalZero rt_kprintf("EOUT:(%s:%i) ",__FILE__,__LINE__); \ 388*10465441SEvalZero rt_kprintf(fmt,##__VA_ARGS__); \ 389*10465441SEvalZero }while(0) 390*10465441SEvalZero 391*10465441SEvalZero #define RT_DEBUG 392*10465441SEvalZero #ifdef RT_DEBUG 393*10465441SEvalZero #define DBOUT(fmt,...) \ 394*10465441SEvalZero do \ 395*10465441SEvalZero { \ 396*10465441SEvalZero rt_kprintf("DBOUT:(%s:%i) ",__FILE__,__LINE__); \ 397*10465441SEvalZero rt_kprintf(fmt,##__VA_ARGS__); \ 398*10465441SEvalZero }while(0) 399*10465441SEvalZero #else 400*10465441SEvalZero #define DBOUT(fmt,...) \ 401*10465441SEvalZero do{}while(0) 402*10465441SEvalZero #endif 403*10465441SEvalZero 404*10465441SEvalZero #ifdef RT_DEBUG 405*10465441SEvalZero #define ASSERT(arg) \ 406*10465441SEvalZero if((arg) == 0) \ 407*10465441SEvalZero { \ 408*10465441SEvalZero while(1) \ 409*10465441SEvalZero { \ 410*10465441SEvalZero rt_kprintf("have a assert failure\n"); \ 411*10465441SEvalZero } \ 412*10465441SEvalZero } 413*10465441SEvalZero #else 414*10465441SEvalZero #define ASSERT(arg) \ 415*10465441SEvalZero do \ 416*10465441SEvalZero { \ 417*10465441SEvalZero }while(0) 418*10465441SEvalZero #endif 419*10465441SEvalZero 420*10465441SEvalZero 421*10465441SEvalZero #define write_reg(reg,value) \ 422*10465441SEvalZero do \ 423*10465441SEvalZero { \ 424*10465441SEvalZero *(RP)(reg) = value; \ 425*10465441SEvalZero }while(0) 426*10465441SEvalZero 427*10465441SEvalZero #define read_reg(reg) (*(RP)reg) 428*10465441SEvalZero 429*10465441SEvalZero 430*10465441SEvalZero struct rt_hw_register 431*10465441SEvalZero { 432*10465441SEvalZero rt_uint32_t r0; 433*10465441SEvalZero rt_uint32_t r1; 434*10465441SEvalZero rt_uint32_t r2; 435*10465441SEvalZero rt_uint32_t r3; 436*10465441SEvalZero rt_uint32_t r4; 437*10465441SEvalZero rt_uint32_t r5; 438*10465441SEvalZero rt_uint32_t r6; 439*10465441SEvalZero rt_uint32_t r7; 440*10465441SEvalZero rt_uint32_t r8; 441*10465441SEvalZero rt_uint32_t r9; 442*10465441SEvalZero rt_uint32_t r10; 443*10465441SEvalZero rt_uint32_t r11; 444*10465441SEvalZero rt_uint32_t r12; 445*10465441SEvalZero rt_uint32_t r13; 446*10465441SEvalZero rt_uint32_t r14; 447*10465441SEvalZero rt_uint32_t r15; 448*10465441SEvalZero rt_uint32_t r16; 449*10465441SEvalZero rt_uint32_t r17; 450*10465441SEvalZero rt_uint32_t r18; 451*10465441SEvalZero rt_uint32_t r19; 452*10465441SEvalZero rt_uint32_t r20; 453*10465441SEvalZero rt_uint32_t r21; 454*10465441SEvalZero rt_uint32_t r22; 455*10465441SEvalZero rt_uint32_t r23; 456*10465441SEvalZero rt_uint32_t r24; 457*10465441SEvalZero rt_uint32_t sb; 458*10465441SEvalZero rt_uint32_t sl; 459*10465441SEvalZero rt_uint32_t fp; 460*10465441SEvalZero rt_uint32_t ip; 461*10465441SEvalZero rt_uint32_t sp; 462*10465441SEvalZero rt_uint32_t lr; 463*10465441SEvalZero rt_uint32_t pc; 464*10465441SEvalZero rt_uint32_t asr; 465*10465441SEvalZero rt_uint32_t bsr; 466*10465441SEvalZero rt_uint32_t ORIG_r0; 467*10465441SEvalZero }; 468*10465441SEvalZero 469*10465441SEvalZero /*@}*/ 470*10465441SEvalZero 471*10465441SEvalZero #endif 472