23 #ifndef LIBBSP_ARM_LPC24XX_LPC24XX_H 24 #define LIBBSP_ARM_LPC24XX_LPC24XX_H 26 #include <rtems/score/cpu.h> 30 #ifdef ARM_MULTILIB_ARCH_V7M 44 #ifdef ARM_MULTILIB_ARCH_V4 47 #define VIC_BASE_ADDR 0xFFFFF000 48 #define VICIRQStatus (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x000)) 49 #define VICFIQStatus (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x004)) 50 #define VICRawIntr (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x008)) 51 #define VICIntSelect (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x00C)) 52 #define VICIntEnable (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x010)) 53 #define VICIntEnClear (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x014)) 54 #define VICSoftInt (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x018)) 55 #define VICSoftIntClear (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x01C)) 56 #define VICProtection (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x020)) 57 #define VICSWPrioMask (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x024)) 59 #define VICVectAddrBase ((volatile uint32_t *) (VIC_BASE_ADDR + 0x100)) 60 #define VICVectAddr0 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x100)) 61 #define VICVectAddr1 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x104)) 62 #define VICVectAddr2 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x108)) 63 #define VICVectAddr3 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x10C)) 64 #define VICVectAddr4 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x110)) 65 #define VICVectAddr5 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x114)) 66 #define VICVectAddr6 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x118)) 67 #define VICVectAddr7 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x11C)) 68 #define VICVectAddr8 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x120)) 69 #define VICVectAddr9 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x124)) 70 #define VICVectAddr10 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x128)) 71 #define VICVectAddr11 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x12C)) 72 #define VICVectAddr12 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x130)) 73 #define VICVectAddr13 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x134)) 74 #define VICVectAddr14 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x138)) 75 #define VICVectAddr15 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x13C)) 76 #define VICVectAddr16 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x140)) 77 #define VICVectAddr17 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x144)) 78 #define VICVectAddr18 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x148)) 79 #define VICVectAddr19 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x14C)) 80 #define VICVectAddr20 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x150)) 81 #define VICVectAddr21 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x154)) 82 #define VICVectAddr22 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x158)) 83 #define VICVectAddr23 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x15C)) 84 #define VICVectAddr24 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x160)) 85 #define VICVectAddr25 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x164)) 86 #define VICVectAddr26 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x168)) 87 #define VICVectAddr27 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x16C)) 88 #define VICVectAddr28 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x170)) 89 #define VICVectAddr29 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x174)) 90 #define VICVectAddr30 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x178)) 91 #define VICVectAddr31 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x17C)) 93 #define VICVectPriorityBase ((volatile uint32_t *) (VIC_BASE_ADDR + 0x200)) 94 #define VICVectPriority0 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x200)) 95 #define VICVectPriority1 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x204)) 96 #define VICVectPriority2 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x208)) 97 #define VICVectPriority3 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x20C)) 98 #define VICVectPriority4 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x210)) 99 #define VICVectPriority5 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x214)) 100 #define VICVectPriority6 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x218)) 101 #define VICVectPriority7 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x21C)) 102 #define VICVectPriority8 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x220)) 103 #define VICVectPriority9 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x224)) 104 #define VICVectPriority10 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x228)) 105 #define VICVectPriority11 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x22C)) 106 #define VICVectPriority12 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x230)) 107 #define VICVectPriority13 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x234)) 108 #define VICVectPriority14 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x238)) 109 #define VICVectPriority15 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x23C)) 110 #define VICVectPriority16 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x240)) 111 #define VICVectPriority17 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x244)) 112 #define VICVectPriority18 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x248)) 113 #define VICVectPriority19 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x24C)) 114 #define VICVectPriority20 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x250)) 115 #define VICVectPriority21 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x254)) 116 #define VICVectPriority22 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x258)) 117 #define VICVectPriority23 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x25C)) 118 #define VICVectPriority24 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x260)) 119 #define VICVectPriority25 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x264)) 120 #define VICVectPriority26 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x268)) 121 #define VICVectPriority27 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x26C)) 122 #define VICVectPriority28 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x270)) 123 #define VICVectPriority29 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x274)) 124 #define VICVectPriority30 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x278)) 125 #define VICVectPriority31 (*(volatile uint32_t *) (VIC_BASE_ADDR + 0x27C)) 127 #define VICVectAddr (*(volatile uint32_t *) (VIC_BASE_ADDR + 0xF00)) 132 #ifdef ARM_MULTILIB_ARCH_V4 133 #define PINSEL_BASE_ADDR 0xE002C000 135 #define PINSEL_BASE_ADDR 0x4002C000 138 #ifdef ARM_MULTILIB_ARCH_V4 140 #define PINSEL0 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x00)) 141 #define PINSEL1 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x04)) 142 #define PINSEL2 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x08)) 143 #define PINSEL3 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x0C)) 144 #define PINSEL4 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x10)) 145 #define PINSEL5 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x14)) 146 #define PINSEL6 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x18)) 147 #define PINSEL7 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x1C)) 148 #define PINSEL8 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x20)) 149 #define PINSEL9 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x24)) 150 #define PINSEL10 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x28)) 151 #define PINSEL11 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x2C)) 153 #define PINMODE0 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x40)) 154 #define PINMODE1 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x44)) 155 #define PINMODE2 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x48)) 156 #define PINMODE3 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x4C)) 157 #define PINMODE4 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x50)) 158 #define PINMODE5 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x54)) 159 #define PINMODE6 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x58)) 160 #define PINMODE7 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x5C)) 161 #define PINMODE8 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x60)) 162 #define PINMODE9 (*(volatile uint32_t *) (PINSEL_BASE_ADDR + 0x64)) 167 #ifdef ARM_MULTILIB_ARCH_V4 168 #define GPIO_BASE_ADDR 0xE0028000 170 #define GPIO_BASE_ADDR 0x40028000 172 #define IOPIN0 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x00)) 173 #define IOSET0 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x04)) 174 #define IODIR0 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x08)) 175 #define IOCLR0 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x0C)) 176 #define IOPIN1 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x10)) 177 #define IOSET1 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x14)) 178 #define IODIR1 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x18)) 179 #define IOCLR1 (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x1C)) 182 #define IO0_INT_EN_R (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x90)) 183 #define IO0_INT_EN_F (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x94)) 184 #define IO0_INT_STAT_R (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x84)) 185 #define IO0_INT_STAT_F (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x88)) 186 #define IO0_INT_CLR (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x8C)) 188 #define IO2_INT_EN_R (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0xB0)) 189 #define IO2_INT_EN_F (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0xB4)) 190 #define IO2_INT_STAT_R (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0xA4)) 191 #define IO2_INT_STAT_F (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0xA8)) 192 #define IO2_INT_CLR (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0xAC)) 194 #define IO_INT_STAT (*(volatile uint32_t *) (GPIO_BASE_ADDR + 0x80)) 196 #ifdef ARM_MULTILIB_ARCH_V4 198 #define PARTCFG_BASE_ADDR 0x3FFF8000 199 #define PARTCFG (*(volatile uint32_t *) (PARTCFG_BASE_ADDR + 0x00)) 204 #ifdef ARM_MULTILIB_ARCH_V4 205 #define FIO_BASE_ADDR 0x3FFFC000 207 #define FIO_BASE_ADDR 0x20098000 209 #define FIO0DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x00)) 210 #define FIO0MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x10)) 211 #define FIO0PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x14)) 212 #define FIO0SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x18)) 213 #define FIO0CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x1C)) 215 #define FIO1DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x20)) 216 #define FIO1MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x30)) 217 #define FIO1PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x34)) 218 #define FIO1SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x38)) 219 #define FIO1CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x3C)) 221 #define FIO2DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x40)) 222 #define FIO2MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x50)) 223 #define FIO2PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x54)) 224 #define FIO2SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x58)) 225 #define FIO2CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x5C)) 227 #define FIO3DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x60)) 228 #define FIO3MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x70)) 229 #define FIO3PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x74)) 230 #define FIO3SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x78)) 231 #define FIO3CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x7C)) 233 #define FIO4DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x80)) 234 #define FIO4MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x90)) 235 #define FIO4PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x94)) 236 #define FIO4SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x98)) 237 #define FIO4CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0x9C)) 239 #ifdef ARM_MULTILIB_ARCH_V7M 241 #define FIO5DIR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0xa0)) 242 #define FIO5MASK (*(volatile uint32_t *) (FIO_BASE_ADDR + 0xb0)) 243 #define FIO5PIN (*(volatile uint32_t *) (FIO_BASE_ADDR + 0xb4)) 244 #define FIO5SET (*(volatile uint32_t *) (FIO_BASE_ADDR + 0xb8)) 245 #define FIO5CLR (*(volatile uint32_t *) (FIO_BASE_ADDR + 0xbC)) 250 #define FIO0DIR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x00)) 251 #define FIO1DIR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x20)) 252 #define FIO2DIR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x40)) 253 #define FIO3DIR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x60)) 254 #define FIO4DIR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x80)) 256 #define FIO0DIR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x01)) 257 #define FIO1DIR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x21)) 258 #define FIO2DIR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x41)) 259 #define FIO3DIR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x61)) 260 #define FIO4DIR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x81)) 262 #define FIO0DIR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x02)) 263 #define FIO1DIR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x22)) 264 #define FIO2DIR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x42)) 265 #define FIO3DIR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x62)) 266 #define FIO4DIR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x82)) 268 #define FIO0DIR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x03)) 269 #define FIO1DIR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x23)) 270 #define FIO2DIR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x43)) 271 #define FIO3DIR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x63)) 272 #define FIO4DIR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x83)) 274 #define FIO0DIRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x00)) 275 #define FIO1DIRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x20)) 276 #define FIO2DIRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x40)) 277 #define FIO3DIRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x60)) 278 #define FIO4DIRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x80)) 280 #define FIO0DIRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x02)) 281 #define FIO1DIRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x22)) 282 #define FIO2DIRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x42)) 283 #define FIO3DIRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x62)) 284 #define FIO4DIRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x82)) 286 #define FIO0MASK0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x10)) 287 #define FIO1MASK0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x30)) 288 #define FIO2MASK0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x50)) 289 #define FIO3MASK0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x70)) 290 #define FIO4MASK0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x90)) 292 #define FIO0MASK1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x11)) 293 #define FIO1MASK1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x21)) 294 #define FIO2MASK1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x51)) 295 #define FIO3MASK1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x71)) 296 #define FIO4MASK1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x91)) 298 #define FIO0MASK2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x12)) 299 #define FIO1MASK2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x32)) 300 #define FIO2MASK2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x52)) 301 #define FIO3MASK2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x72)) 302 #define FIO4MASK2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x92)) 304 #define FIO0MASK3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x13)) 305 #define FIO1MASK3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x33)) 306 #define FIO2MASK3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x53)) 307 #define FIO3MASK3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x73)) 308 #define FIO4MASK3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x93)) 310 #define FIO0MASKL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x10)) 311 #define FIO1MASKL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x30)) 312 #define FIO2MASKL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x50)) 313 #define FIO3MASKL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x70)) 314 #define FIO4MASKL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x90)) 316 #define FIO0MASKU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x12)) 317 #define FIO1MASKU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x32)) 318 #define FIO2MASKU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x52)) 319 #define FIO3MASKU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x72)) 320 #define FIO4MASKU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x92)) 322 #define FIO0PIN0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x14)) 323 #define FIO1PIN0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x34)) 324 #define FIO2PIN0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x54)) 325 #define FIO3PIN0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x74)) 326 #define FIO4PIN0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x94)) 328 #define FIO0PIN1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x15)) 329 #define FIO1PIN1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x25)) 330 #define FIO2PIN1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x55)) 331 #define FIO3PIN1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x75)) 332 #define FIO4PIN1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x95)) 334 #define FIO0PIN2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x16)) 335 #define FIO1PIN2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x36)) 336 #define FIO2PIN2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x56)) 337 #define FIO3PIN2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x76)) 338 #define FIO4PIN2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x96)) 340 #define FIO0PIN3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x17)) 341 #define FIO1PIN3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x37)) 342 #define FIO2PIN3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x57)) 343 #define FIO3PIN3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x77)) 344 #define FIO4PIN3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x97)) 346 #define FIO0PINL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x14)) 347 #define FIO1PINL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x34)) 348 #define FIO2PINL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x54)) 349 #define FIO3PINL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x74)) 350 #define FIO4PINL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x94)) 352 #define FIO0PINU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x16)) 353 #define FIO1PINU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x36)) 354 #define FIO2PINU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x56)) 355 #define FIO3PINU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x76)) 356 #define FIO4PINU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x96)) 358 #define FIO0SET0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x18)) 359 #define FIO1SET0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x38)) 360 #define FIO2SET0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x58)) 361 #define FIO3SET0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x78)) 362 #define FIO4SET0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x98)) 364 #define FIO0SET1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x19)) 365 #define FIO1SET1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x29)) 366 #define FIO2SET1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x59)) 367 #define FIO3SET1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x79)) 368 #define FIO4SET1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x99)) 370 #define FIO0SET2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1A)) 371 #define FIO1SET2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x3A)) 372 #define FIO2SET2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5A)) 373 #define FIO3SET2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7A)) 374 #define FIO4SET2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9A)) 376 #define FIO0SET3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1B)) 377 #define FIO1SET3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x3B)) 378 #define FIO2SET3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5B)) 379 #define FIO3SET3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7B)) 380 #define FIO4SET3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9B)) 382 #define FIO0SETL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x18)) 383 #define FIO1SETL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x38)) 384 #define FIO2SETL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x58)) 385 #define FIO3SETL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x78)) 386 #define FIO4SETL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x98)) 388 #define FIO0SETU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x1A)) 389 #define FIO1SETU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x3A)) 390 #define FIO2SETU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x5A)) 391 #define FIO3SETU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x7A)) 392 #define FIO4SETU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x9A)) 394 #define FIO0CLR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1C)) 395 #define FIO1CLR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x3C)) 396 #define FIO2CLR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5C)) 397 #define FIO3CLR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7C)) 398 #define FIO4CLR0 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9C)) 400 #define FIO0CLR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1D)) 401 #define FIO1CLR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x2D)) 402 #define FIO2CLR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5D)) 403 #define FIO3CLR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7D)) 404 #define FIO4CLR1 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9D)) 406 #define FIO0CLR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1E)) 407 #define FIO1CLR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x3E)) 408 #define FIO2CLR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5E)) 409 #define FIO3CLR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7E)) 410 #define FIO4CLR2 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9E)) 412 #define FIO0CLR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x1F)) 413 #define FIO1CLR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x3F)) 414 #define FIO2CLR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x5F)) 415 #define FIO3CLR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x7F)) 416 #define FIO4CLR3 (*(volatile uint8_t *) (FIO_BASE_ADDR + 0x9F)) 418 #define FIO0CLRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x1C)) 419 #define FIO1CLRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x3C)) 420 #define FIO2CLRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x5C)) 421 #define FIO3CLRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x7C)) 422 #define FIO4CLRL (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x9C)) 424 #define FIO0CLRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x1E)) 425 #define FIO1CLRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x3E)) 426 #define FIO2CLRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x5E)) 427 #define FIO3CLRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x7E)) 428 #define FIO4CLRU (*(volatile uint16_t *) (FIO_BASE_ADDR + 0x9E)) 430 #ifdef ARM_MULTILIB_ARCH_V4 435 #define SCB_BASE_ADDR 0xE01FC000 438 #define MAMCR (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x000)) 439 #define MAMTIM (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x004)) 440 #define MEMMAP (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x040)) 443 #define PLLCON (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x080)) 444 #define PLLCFG (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x084)) 445 #define PLLSTAT (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x088)) 446 #define PLLFEED (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x08C)) 449 #define PCON (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x0C0)) 450 #define PCONP (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x0C4)) 454 #define CCLKCFG (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x104)) 455 #define USBCLKCFG (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x108)) 456 #define CLKSRCSEL (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x10C)) 457 #define PCLKSEL0 (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x1A8)) 458 #define PCLKSEL1 (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x1AC)) 461 #define EXTINT (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x140)) 462 #define INTWAKE (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x144)) 463 #define EXTMODE (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x148)) 464 #define EXTPOLAR (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x14C)) 467 #define RSIR (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x180)) 470 #define CSPR (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x184)) 473 #define AHBCFG1 (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x188)) 474 #define AHBCFG2 (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x18C)) 477 #define SCS (*(volatile uint32_t *) (SCB_BASE_ADDR + 0x1A0)) 482 #ifdef ARM_MULTILIB_ARCH_V4 483 #define EMC_BASE_ADDR 0xFFE08000 485 #define EMC_BASE_ADDR 0x2009c000 487 #define EMC_CTRL (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x000)) 488 #define EMC_STAT (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x004)) 489 #define EMC_CONFIG (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x008)) 492 #define EMC_DYN_CTRL (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x020)) 493 #define EMC_DYN_RFSH (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x024)) 494 #define EMC_DYN_RD_CFG (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x028)) 495 #define EMC_DYN_RP (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x030)) 496 #define EMC_DYN_RAS (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x034)) 497 #define EMC_DYN_SREX (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x038)) 498 #define EMC_DYN_APR (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x03C)) 499 #define EMC_DYN_DAL (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x040)) 500 #define EMC_DYN_WR (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x044)) 501 #define EMC_DYN_RC (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x048)) 502 #define EMC_DYN_RFC (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x04C)) 503 #define EMC_DYN_XSR (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x050)) 504 #define EMC_DYN_RRD (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x054)) 505 #define EMC_DYN_MRD (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x058)) 507 #define EMC_DYN_CFG0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x100)) 508 #define EMC_DYN_RASCAS0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x104)) 509 #define EMC_DYN_CFG1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x140)) 510 #define EMC_DYN_RASCAS1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x144)) 511 #define EMC_DYN_CFG2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x160)) 512 #define EMC_DYN_RASCAS2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x164)) 513 #define EMC_DYN_CFG3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x180)) 514 #define EMC_DYN_RASCAS3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x184)) 517 #define EMC_STA_BASE_0 ((uint32_t *) (EMC_BASE_ADDR + 0x200)) 518 #define EMC_STA_CFG0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x200)) 519 #define EMC_STA_WAITWEN0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x204)) 520 #define EMC_STA_WAITOEN0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x208)) 521 #define EMC_STA_WAITRD0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x20C)) 522 #define EMC_STA_WAITPAGE0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x210)) 523 #define EMC_STA_WAITWR0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x214)) 524 #define EMC_STA_WAITTURN0 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x218)) 526 #define EMC_STA_BASE_1 ((uint32_t *) (EMC_BASE_ADDR + 0x220)) 527 #define EMC_STA_CFG1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x220)) 528 #define EMC_STA_WAITWEN1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x224)) 529 #define EMC_STA_WAITOEN1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x228)) 530 #define EMC_STA_WAITRD1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x22C)) 531 #define EMC_STA_WAITPAGE1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x230)) 532 #define EMC_STA_WAITWR1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x234)) 533 #define EMC_STA_WAITTURN1 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x238)) 535 #define EMC_STA_BASE_2 ((uint32_t *) (EMC_BASE_ADDR + 0x240)) 536 #define EMC_STA_CFG2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x240)) 537 #define EMC_STA_WAITWEN2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x244)) 538 #define EMC_STA_WAITOEN2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x248)) 539 #define EMC_STA_WAITRD2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x24C)) 540 #define EMC_STA_WAITPAGE2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x250)) 541 #define EMC_STA_WAITWR2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x254)) 542 #define EMC_STA_WAITTURN2 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x258)) 544 #define EMC_STA_BASE_3 ((uint32_t *) (EMC_BASE_ADDR + 0x260)) 545 #define EMC_STA_CFG3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x260)) 546 #define EMC_STA_WAITWEN3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x264)) 547 #define EMC_STA_WAITOEN3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x268)) 548 #define EMC_STA_WAITRD3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x26C)) 549 #define EMC_STA_WAITPAGE3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x270)) 550 #define EMC_STA_WAITWR3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x274)) 551 #define EMC_STA_WAITTURN3 (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x278)) 553 #define EMC_STA_EXT_WAIT (*(volatile uint32_t *) (EMC_BASE_ADDR + 0x880)) 557 #ifdef ARM_MULTILIB_ARCH_V4 558 #define TMR0_BASE_ADDR 0xE0004000 560 #define TMR0_BASE_ADDR 0x40004000 562 #define T0IR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x00)) 563 #define T0TCR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x04)) 564 #define T0TC (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x08)) 565 #define T0PR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x0C)) 566 #define T0PC (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x10)) 567 #define T0MCR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x14)) 568 #define T0MR0 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x18)) 569 #define T0MR1 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x1C)) 570 #define T0MR2 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x20)) 571 #define T0MR3 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x24)) 572 #define T0CCR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x28)) 573 #define T0CR0 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x2C)) 574 #define T0CR1 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x30)) 575 #define T0CR2 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x34)) 576 #define T0CR3 (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x38)) 577 #define T0EMR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x3C)) 578 #define T0CTCR (*(volatile uint32_t *) (TMR0_BASE_ADDR + 0x70)) 581 #ifdef ARM_MULTILIB_ARCH_V4 582 #define TMR1_BASE_ADDR 0xE0008000 584 #define TMR1_BASE_ADDR 0x40008000 586 #define T1IR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x00)) 587 #define T1TCR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x04)) 588 #define T1TC (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x08)) 589 #define T1PR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x0C)) 590 #define T1PC (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x10)) 591 #define T1MCR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x14)) 592 #define T1MR0 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x18)) 593 #define T1MR1 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x1C)) 594 #define T1MR2 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x20)) 595 #define T1MR3 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x24)) 596 #define T1CCR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x28)) 597 #define T1CR0 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x2C)) 598 #define T1CR1 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x30)) 599 #define T1CR2 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x34)) 600 #define T1CR3 (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x38)) 601 #define T1EMR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x3C)) 602 #define T1CTCR (*(volatile uint32_t *) (TMR1_BASE_ADDR + 0x70)) 605 #ifdef ARM_MULTILIB_ARCH_V4 606 #define TMR2_BASE_ADDR 0xE0070000 608 #define TMR2_BASE_ADDR 0x40090000 610 #define T2IR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x00)) 611 #define T2TCR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x04)) 612 #define T2TC (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x08)) 613 #define T2PR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x0C)) 614 #define T2PC (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x10)) 615 #define T2MCR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x14)) 616 #define T2MR0 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x18)) 617 #define T2MR1 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x1C)) 618 #define T2MR2 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x20)) 619 #define T2MR3 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x24)) 620 #define T2CCR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x28)) 621 #define T2CR0 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x2C)) 622 #define T2CR1 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x30)) 623 #define T2CR2 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x34)) 624 #define T2CR3 (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x38)) 625 #define T2EMR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x3C)) 626 #define T2CTCR (*(volatile uint32_t *) (TMR2_BASE_ADDR + 0x70)) 629 #ifdef ARM_MULTILIB_ARCH_V4 630 #define TMR3_BASE_ADDR 0xE0074000 632 #define TMR3_BASE_ADDR 0x40094000 634 #define T3IR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x00)) 635 #define T3TCR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x04)) 636 #define T3TC (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x08)) 637 #define T3PR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x0C)) 638 #define T3PC (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x10)) 639 #define T3MCR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x14)) 640 #define T3MR0 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x18)) 641 #define T3MR1 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x1C)) 642 #define T3MR2 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x20)) 643 #define T3MR3 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x24)) 644 #define T3CCR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x28)) 645 #define T3CR0 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x2C)) 646 #define T3CR1 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x30)) 647 #define T3CR2 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x34)) 648 #define T3CR3 (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x38)) 649 #define T3EMR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x3C)) 650 #define T3CTCR (*(volatile uint32_t *) (TMR3_BASE_ADDR + 0x70)) 654 #ifdef ARM_MULTILIB_ARCH_V4 655 #define PWM0_BASE_ADDR 0xE0014000 657 #define PWM0_BASE_ADDR 0x40014000 659 #define PWM0IR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x00)) 660 #define PWM0TCR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x04)) 661 #define PWM0TC (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x08)) 662 #define PWM0PR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x0C)) 663 #define PWM0PC (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x10)) 664 #define PWM0MCR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x14)) 665 #define PWM0MR0 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x18)) 666 #define PWM0MR1 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x1C)) 667 #define PWM0MR2 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x20)) 668 #define PWM0MR3 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x24)) 669 #define PWM0CCR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x28)) 670 #define PWM0CR0 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x2C)) 671 #define PWM0CR1 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x30)) 672 #define PWM0CR2 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x34)) 673 #define PWM0CR3 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x38)) 674 #define PWM0EMR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x3C)) 675 #define PWM0MR4 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x40)) 676 #define PWM0MR5 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x44)) 677 #define PWM0MR6 (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x48)) 678 #define PWM0PCR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x4C)) 679 #define PWM0LER (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x50)) 680 #define PWM0CTCR (*(volatile uint32_t *) (PWM0_BASE_ADDR + 0x70)) 682 #ifdef ARM_MULTILIB_ARCH_V4 683 #define PWM1_BASE_ADDR 0xE0018000 685 #define PWM1_BASE_ADDR 0x40018000 687 #define PWM1IR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x00)) 688 #define PWM1TCR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x04)) 689 #define PWM1TC (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x08)) 690 #define PWM1PR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x0C)) 691 #define PWM1PC (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x10)) 692 #define PWM1MCR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x14)) 693 #define PWM1MR0 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x18)) 694 #define PWM1MR1 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x1C)) 695 #define PWM1MR2 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x20)) 696 #define PWM1MR3 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x24)) 697 #define PWM1CCR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x28)) 698 #define PWM1CR0 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x2C)) 699 #define PWM1CR1 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x30)) 700 #define PWM1CR2 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x34)) 701 #define PWM1CR3 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x38)) 702 #define PWM1EMR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x3C)) 703 #define PWM1MR4 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x40)) 704 #define PWM1MR5 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x44)) 705 #define PWM1MR6 (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x48)) 706 #define PWM1PCR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x4C)) 707 #define PWM1LER (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x50)) 708 #define PWM1CTCR (*(volatile uint32_t *) (PWM1_BASE_ADDR + 0x70)) 712 #ifdef ARM_MULTILIB_ARCH_V4 713 #define UART0_BASE_ADDR 0xE000C000 715 #define UART0_BASE_ADDR 0x4000C000 717 #define U0RBR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x00)) 718 #define U0THR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x00)) 719 #define U0DLL (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x00)) 720 #define U0DLM (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x04)) 721 #define U0IER (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x04)) 722 #define U0IIR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x08)) 723 #define U0FCR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x08)) 724 #define U0LCR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x0C)) 725 #define U0LSR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x14)) 726 #define U0SCR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x1C)) 727 #define U0ACR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x20)) 728 #define U0ICR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x24)) 729 #define U0FDR (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x28)) 730 #define U0TER (*(volatile uint32_t *) (UART0_BASE_ADDR + 0x30)) 733 #ifdef ARM_MULTILIB_ARCH_V4 734 #define UART1_BASE_ADDR 0xE0010000 736 #define UART1_BASE_ADDR 0x40010000 738 #define U1RBR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x00)) 739 #define U1THR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x00)) 740 #define U1DLL (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x00)) 741 #define U1DLM (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x04)) 742 #define U1IER (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x04)) 743 #define U1IIR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x08)) 744 #define U1FCR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x08)) 745 #define U1LCR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x0C)) 746 #define U1MCR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x10)) 747 #define U1LSR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x14)) 748 #define U1MSR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x18)) 749 #define U1SCR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x1C)) 750 #define U1ACR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x20)) 751 #define U1FDR (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x28)) 752 #define U1TER (*(volatile uint32_t *) (UART1_BASE_ADDR + 0x30)) 755 #ifdef ARM_MULTILIB_ARCH_V4 756 #define UART2_BASE_ADDR 0xE0078000 758 #define UART2_BASE_ADDR 0x40098000 760 #define U2RBR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x00)) 761 #define U2THR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x00)) 762 #define U2DLL (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x00)) 763 #define U2DLM (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x04)) 764 #define U2IER (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x04)) 765 #define U2IIR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x08)) 766 #define U2FCR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x08)) 767 #define U2LCR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x0C)) 768 #define U2LSR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x14)) 769 #define U2SCR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x1C)) 770 #define U2ACR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x20)) 771 #define U2ICR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x24)) 772 #define U2FDR (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x28)) 773 #define U2TER (*(volatile uint32_t *) (UART2_BASE_ADDR + 0x30)) 776 #ifdef ARM_MULTILIB_ARCH_V4 777 #define UART3_BASE_ADDR 0xE007C000 779 #define UART3_BASE_ADDR 0x4009C000 781 #define U3RBR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x00)) 782 #define U3THR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x00)) 783 #define U3DLL (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x00)) 784 #define U3DLM (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x04)) 785 #define U3IER (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x04)) 786 #define U3IIR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x08)) 787 #define U3FCR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x08)) 788 #define U3LCR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x0C)) 789 #define U3LSR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x14)) 790 #define U3SCR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x1C)) 791 #define U3ACR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x20)) 792 #define U3ICR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x24)) 793 #define U3FDR (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x28)) 794 #define U3TER (*(volatile uint32_t *) (UART3_BASE_ADDR + 0x30)) 797 #ifdef ARM_MULTILIB_ARCH_V4 798 #define I2C0_BASE_ADDR 0xE001C000 800 #define I2C0_BASE_ADDR 0x4001C000 802 #define I20CONSET (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x00)) 803 #define I20STAT (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x04)) 804 #define I20DAT (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x08)) 805 #define I20ADR (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x0C)) 806 #define I20SCLH (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x10)) 807 #define I20SCLL (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x14)) 808 #define I20CONCLR (*(volatile uint32_t *) (I2C0_BASE_ADDR + 0x18)) 811 #ifdef ARM_MULTILIB_ARCH_V4 812 #define I2C1_BASE_ADDR 0xE005C000 814 #define I2C1_BASE_ADDR 0x4005C000 816 #define I21CONSET (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x00)) 817 #define I21STAT (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x04)) 818 #define I21DAT (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x08)) 819 #define I21ADR (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x0C)) 820 #define I21SCLH (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x10)) 821 #define I21SCLL (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x14)) 822 #define I21CONCLR (*(volatile uint32_t *) (I2C1_BASE_ADDR + 0x18)) 825 #ifdef ARM_MULTILIB_ARCH_V4 826 #define I2C2_BASE_ADDR 0xE0080000 828 #define I2C2_BASE_ADDR 0x400a0000 830 #define I22CONSET (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x00)) 831 #define I22STAT (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x04)) 832 #define I22DAT (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x08)) 833 #define I22ADR (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x0C)) 834 #define I22SCLH (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x10)) 835 #define I22SCLL (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x14)) 836 #define I22CONCLR (*(volatile uint32_t *) (I2C2_BASE_ADDR + 0x18)) 839 #define SPI0_BASE_ADDR 0xE0020000 840 #define S0SPCR (*(volatile uint32_t *) (SPI0_BASE_ADDR + 0x00)) 841 #define S0SPSR (*(volatile uint32_t *) (SPI0_BASE_ADDR + 0x04)) 842 #define S0SPDR (*(volatile uint32_t *) (SPI0_BASE_ADDR + 0x08)) 843 #define S0SPCCR (*(volatile uint32_t *) (SPI0_BASE_ADDR + 0x0C)) 844 #define S0SPINT (*(volatile uint32_t *) (SPI0_BASE_ADDR + 0x1C)) 847 #ifdef ARM_MULTILIB_ARCH_V4 848 #define SSP0_BASE_ADDR 0xE0068000 850 #define SSP0_BASE_ADDR 0x40088000 852 #define SSP0CR0 (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x00)) 853 #define SSP0CR1 (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x04)) 854 #define SSP0DR (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x08)) 855 #define SSP0SR (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x0C)) 856 #define SSP0CPSR (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x10)) 857 #define SSP0IMSC (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x14)) 858 #define SSP0RIS (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x18)) 859 #define SSP0MIS (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x1C)) 860 #define SSP0ICR (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x20)) 861 #define SSP0DMACR (*(volatile uint32_t *) (SSP0_BASE_ADDR + 0x24)) 864 #ifdef ARM_MULTILIB_ARCH_V4 865 #define SSP1_BASE_ADDR 0xE0030000 867 #define SSP1_BASE_ADDR 0x40030000 869 #define SSP1CR0 (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x00)) 870 #define SSP1CR1 (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x04)) 871 #define SSP1DR (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x08)) 872 #define SSP1SR (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x0C)) 873 #define SSP1CPSR (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x10)) 874 #define SSP1IMSC (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x14)) 875 #define SSP1RIS (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x18)) 876 #define SSP1MIS (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x1C)) 877 #define SSP1ICR (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x20)) 878 #define SSP1DMACR (*(volatile uint32_t *) (SSP1_BASE_ADDR + 0x24)) 880 #ifdef ARM_MULTILIB_ARCH_V7M 883 #define SSP2_BASE_ADDR 0x400ac000 884 #define SSP2CR0 (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x00)) 885 #define SSP2CR1 (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x04)) 886 #define SSP2DR (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x08)) 887 #define SSP2SR (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x0C)) 888 #define SSP2CPSR (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x10)) 889 #define SSP2IMSC (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x14)) 890 #define SSP2RIS (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x18)) 891 #define SSP2MIS (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x1C)) 892 #define SSP2ICR (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x20)) 893 #define SSP2DMACR (*(volatile uint32_t *) (SSP2_BASE_ADDR + 0x24)) 898 #ifdef ARM_MULTILIB_ARCH_V4 899 #define RTC_BASE_ADDR 0xE0024000 901 #define RTC_BASE_ADDR 0x40024000 903 #define RTC_ILR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x00)) 904 #define RTC_CTC (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x04)) 905 #define RTC_CCR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x08)) 906 #define RTC_CIIR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x0C)) 907 #define RTC_AMR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x10)) 908 #define RTC_CTIME0 (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x14)) 909 #define RTC_CTIME1 (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x18)) 910 #define RTC_CTIME2 (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x1C)) 911 #define RTC_SEC (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x20)) 912 #define RTC_MIN (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x24)) 913 #define RTC_HOUR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x28)) 914 #define RTC_DOM (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x2C)) 915 #define RTC_DOW (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x30)) 916 #define RTC_DOY (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x34)) 917 #define RTC_MONTH (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x38)) 918 #define RTC_YEAR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x3C)) 919 #define RTC_CISS (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x40)) 920 #define RTC_ALSEC (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x60)) 921 #define RTC_ALMIN (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x64)) 922 #define RTC_ALHOUR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x68)) 923 #define RTC_ALDOM (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x6C)) 924 #define RTC_ALDOW (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x70)) 925 #define RTC_ALDOY (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x74)) 926 #define RTC_ALMON (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x78)) 927 #define RTC_ALYEAR (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x7C)) 928 #define RTC_PREINT (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x80)) 929 #define RTC_PREFRAC (*(volatile uint32_t *) (RTC_BASE_ADDR + 0x84)) 933 #ifdef ARM_MULTILIB_ARCH_V4 934 #define AD0_BASE_ADDR 0xE0034000 936 #define AD0_BASE_ADDR 0x40034000 938 #define AD0CR (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x00)) 939 #define AD0GDR (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x04)) 940 #define AD0INTEN (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x0C)) 941 #define AD0_DATA_START ((volatile uint32_t *) (AD0_BASE_ADDR + 0x10)) 942 #define AD0DR0 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x10)) 943 #define AD0DR1 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x14)) 944 #define AD0DR2 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x18)) 945 #define AD0DR3 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x1C)) 946 #define AD0DR4 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x20)) 947 #define AD0DR5 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x24)) 948 #define AD0DR6 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x28)) 949 #define AD0DR7 (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x2C)) 950 #define AD0STAT (*(volatile uint32_t *) (AD0_BASE_ADDR + 0x30)) 954 #ifdef ARM_MULTILIB_ARCH_V4 955 #define DAC_BASE_ADDR 0xE006C000 957 #define DAC_BASE_ADDR 0x4008C000 959 #define DACR (*(volatile uint32_t *) (DAC_BASE_ADDR + 0x00)) 963 #ifdef ARM_MULTILIB_ARCH_V4 964 #define WDG_BASE_ADDR 0xE0000000 966 #define WDG_BASE_ADDR 0x40000000 968 #define WDMOD (*(volatile uint32_t *) (WDG_BASE_ADDR + 0x00)) 969 #define WDTC (*(volatile uint32_t *) (WDG_BASE_ADDR + 0x04)) 970 #define WDFEED (*(volatile uint32_t *) (WDG_BASE_ADDR + 0x08)) 971 #define WDTV (*(volatile uint32_t *) (WDG_BASE_ADDR + 0x0C)) 972 #define WDCLKSEL (*(volatile uint32_t *) (WDG_BASE_ADDR + 0x10)) 975 #ifdef ARM_MULTILIB_ARCH_V4 976 #define CAN_ACCEPT_BASE_ADDR 0xE003C000 978 #define CAN_ACCEPT_BASE_ADDR 0x4003C000 980 #define CAN_AFMR (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x00)) 981 #define CAN_SFF_SA (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x04)) 982 #define CAN_SFF_GRP_SA (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x08)) 983 #define CAN_EFF_SA (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x0C)) 984 #define CAN_EFF_GRP_SA (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x10)) 985 #define CAN_EOT (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x14)) 986 #define CAN_LUT_ERR_ADR (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x18)) 987 #define CAN_LUT_ERR (*(volatile uint32_t *) (CAN_ACCEPT_BASE_ADDR + 0x1C)) 989 #ifdef ARM_MULTILIB_ARCH_V4 990 #define CAN_CENTRAL_BASE_ADDR 0xE0040000 992 #define CAN_CENTRAL_BASE_ADDR 0x40040000 994 #define CAN_TX_SR (*(volatile uint32_t *) (CAN_CENTRAL_BASE_ADDR + 0x00)) 995 #define CAN_RX_SR (*(volatile uint32_t *) (CAN_CENTRAL_BASE_ADDR + 0x04)) 996 #define CAN_MSR (*(volatile uint32_t *) (CAN_CENTRAL_BASE_ADDR + 0x08)) 998 #ifdef ARM_MULTILIB_ARCH_V4 999 #define CAN1_BASE_ADDR 0xE0044000 1001 #define CAN1_BASE_ADDR 0x40044000 1003 #define CAN1MOD (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x00)) 1004 #define CAN1CMR (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x04)) 1005 #define CAN1GSR (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x08)) 1006 #define CAN1ICR (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x0C)) 1007 #define CAN1IER (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x10)) 1008 #define CAN1BTR (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x14)) 1009 #define CAN1EWL (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x18)) 1010 #define CAN1SR (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x1C)) 1011 #define CAN1RFS (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x20)) 1012 #define CAN1RID (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x24)) 1013 #define CAN1RDA (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x28)) 1014 #define CAN1RDB (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x2C)) 1016 #define CAN1TFI1 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x30)) 1017 #define CAN1TID1 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x34)) 1018 #define CAN1TDA1 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x38)) 1019 #define CAN1TDB1 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x3C)) 1020 #define CAN1TFI2 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x40)) 1021 #define CAN1TID2 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x44)) 1022 #define CAN1TDA2 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x48)) 1023 #define CAN1TDB2 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x4C)) 1024 #define CAN1TFI3 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x50)) 1025 #define CAN1TID3 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x54)) 1026 #define CAN1TDA3 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x58)) 1027 #define CAN1TDB3 (*(volatile uint32_t *) (CAN1_BASE_ADDR + 0x5C)) 1029 #ifdef ARM_MULTILIB_ARCH_V4 1030 #define CAN2_BASE_ADDR 0xE0048000 1032 #define CAN2_BASE_ADDR 0x40048000 1034 #define CAN2MOD (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x00)) 1035 #define CAN2CMR (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x04)) 1036 #define CAN2GSR (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x08)) 1037 #define CAN2ICR (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x0C)) 1038 #define CAN2IER (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x10)) 1039 #define CAN2BTR (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x14)) 1040 #define CAN2EWL (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x18)) 1041 #define CAN2SR (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x1C)) 1042 #define CAN2RFS (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x20)) 1043 #define CAN2RID (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x24)) 1044 #define CAN2RDA (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x28)) 1045 #define CAN2RDB (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x2C)) 1047 #define CAN2TFI1 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x30)) 1048 #define CAN2TID1 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x34)) 1049 #define CAN2TDA1 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x38)) 1050 #define CAN2TDB1 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x3C)) 1051 #define CAN2TFI2 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x40)) 1052 #define CAN2TID2 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x44)) 1053 #define CAN2TDA2 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x48)) 1054 #define CAN2TDB2 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x4C)) 1055 #define CAN2TFI3 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x50)) 1056 #define CAN2TID3 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x54)) 1057 #define CAN2TDA3 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x58)) 1058 #define CAN2TDB3 (*(volatile uint32_t *) (CAN2_BASE_ADDR + 0x5C)) 1062 #ifdef ARM_MULTILIB_ARCH_V4 1063 #define MCI_BASE_ADDR 0xE008C000 1065 #define MCI_BASE_ADDR 0x400c0000 1067 #define MCI_POWER (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x00)) 1068 #define MCI_CLOCK (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x04)) 1069 #define MCI_ARGUMENT (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x08)) 1070 #define MCI_COMMAND (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x0C)) 1071 #define MCI_RESP_CMD (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x10)) 1072 #define MCI_RESP0 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x14)) 1073 #define MCI_RESP1 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x18)) 1074 #define MCI_RESP2 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x1C)) 1075 #define MCI_RESP3 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x20)) 1076 #define MCI_DATA_TMR (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x24)) 1077 #define MCI_DATA_LEN (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x28)) 1078 #define MCI_DATA_CTRL (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x2C)) 1079 #define MCI_DATA_CNT (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x30)) 1080 #define MCI_STATUS (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x34)) 1081 #define MCI_CLEAR (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x38)) 1082 #define MCI_MASK0 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x3C)) 1083 #define MCI_MASK1 (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x40)) 1084 #define MCI_FIFO_CNT (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x48)) 1085 #define MCI_FIFO (*(volatile uint32_t *) (MCI_BASE_ADDR + 0x80)) 1089 #ifdef ARM_MULTILIB_ARCH_V4 1090 #define I2S_BASE_ADDR 0xE0088000 1092 #define I2S_BASE_ADDR 0x400a8000 1094 #define I2S_DAO (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x00)) 1095 #define I2S_DAI (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x04)) 1096 #define I2S_TX_FIFO (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x08)) 1097 #define I2S_RX_FIFO (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x0C)) 1098 #define I2S_STATE (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x10)) 1099 #define I2S_DMA1 (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x14)) 1100 #define I2S_DMA2 (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x18)) 1101 #define I2S_IRQ (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x1C)) 1102 #define I2S_TXRATE (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x20)) 1103 #define I2S_RXRATE (*(volatile uint32_t *) (I2S_BASE_ADDR + 0x24)) 1107 #ifdef ARM_MULTILIB_ARCH_V4 1108 #define DMA_BASE_ADDR 0xFFE04000 1110 #define DMA_BASE_ADDR 0x20080000 1112 #define GPDMA_INT_STAT (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x000)) 1113 #define GPDMA_INT_TCSTAT (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x004)) 1114 #define GPDMA_INT_TCCLR (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x008)) 1115 #define GPDMA_INT_ERR_STAT (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x00C)) 1116 #define GPDMA_INT_ERR_CLR (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x010)) 1117 #define GPDMA_RAW_INT_TCSTAT (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x014)) 1118 #define GPDMA_RAW_INT_ERR_STAT (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x018)) 1119 #define GPDMA_ENABLED_CHNS (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x01C)) 1120 #define GPDMA_SOFT_BREQ (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x020)) 1121 #define GPDMA_SOFT_SREQ (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x024)) 1122 #define GPDMA_SOFT_LBREQ (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x028)) 1123 #define GPDMA_SOFT_LSREQ (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x02C)) 1124 #define GPDMA_CONFIG (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x030)) 1125 #define GPDMA_SYNC (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x034)) 1128 #define GPDMA_CH0_BASE_ADDR (DMA_BASE_ADDR + 0x100) 1129 #define GPDMA_CH0_SRC (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x100)) 1130 #define GPDMA_CH0_DEST (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x104)) 1131 #define GPDMA_CH0_LLI (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x108)) 1132 #define GPDMA_CH0_CTRL (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x10C)) 1133 #define GPDMA_CH0_CFG (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x110)) 1136 #define GPDMA_CH1_BASE_ADDR (DMA_BASE_ADDR + 0x120) 1137 #define GPDMA_CH1_SRC (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x120)) 1138 #define GPDMA_CH1_DEST (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x124)) 1139 #define GPDMA_CH1_LLI (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x128)) 1140 #define GPDMA_CH1_CTRL (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x12C)) 1141 #define GPDMA_CH1_CFG (*(volatile uint32_t *) (DMA_BASE_ADDR + 0x130)) 1144 #ifdef ARM_MULTILIB_ARCH_V4 1145 #define USB_INT_BASE_ADDR 0xE01FC1C0 1146 #define USB_BASE_ADDR 0xFFE0C200 1148 #define USB_INT_BASE_ADDR 0x400fc1c0 1149 #define USB_BASE_ADDR 0x2008c200 1152 #define USB_INT_STAT (*(volatile uint32_t *) (USB_INT_BASE_ADDR + 0x00)) 1155 #define DEV_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0x00)) 1156 #define DEV_INT_EN (*(volatile uint32_t *) (USB_BASE_ADDR + 0x04)) 1157 #define DEV_INT_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0x08)) 1158 #define DEV_INT_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0x0C)) 1159 #define DEV_INT_PRIO (*(volatile uint32_t *) (USB_BASE_ADDR + 0x2C)) 1162 #define EP_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0x30)) 1163 #define EP_INT_EN (*(volatile uint32_t *) (USB_BASE_ADDR + 0x34)) 1164 #define EP_INT_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0x38)) 1165 #define EP_INT_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0x3C)) 1166 #define EP_INT_PRIO (*(volatile uint32_t *) (USB_BASE_ADDR + 0x40)) 1169 #define REALIZE_EP (*(volatile uint32_t *) (USB_BASE_ADDR + 0x44)) 1170 #define EP_INDEX (*(volatile uint32_t *) (USB_BASE_ADDR + 0x48)) 1171 #define MAXPACKET_SIZE (*(volatile uint32_t *) (USB_BASE_ADDR + 0x4C)) 1174 #define CMD_CODE (*(volatile uint32_t *) (USB_BASE_ADDR + 0x10)) 1175 #define CMD_DATA (*(volatile uint32_t *) (USB_BASE_ADDR + 0x14)) 1178 #define RX_DATA (*(volatile uint32_t *) (USB_BASE_ADDR + 0x18)) 1179 #define TX_DATA (*(volatile uint32_t *) (USB_BASE_ADDR + 0x1C)) 1180 #define RX_PLENGTH (*(volatile uint32_t *) (USB_BASE_ADDR + 0x20)) 1181 #define TX_PLENGTH (*(volatile uint32_t *) (USB_BASE_ADDR + 0x24)) 1182 #define USB_CTRL (*(volatile uint32_t *) (USB_BASE_ADDR + 0x28)) 1185 #define DMA_REQ_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0x50)) 1186 #define DMA_REQ_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0x54)) 1187 #define DMA_REQ_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0x58)) 1188 #define UDCA_HEAD (*(volatile uint32_t *) (USB_BASE_ADDR + 0x80)) 1189 #define EP_DMA_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0x84)) 1190 #define EP_DMA_EN (*(volatile uint32_t *) (USB_BASE_ADDR + 0x88)) 1191 #define EP_DMA_DIS (*(volatile uint32_t *) (USB_BASE_ADDR + 0x8C)) 1192 #define DMA_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0x90)) 1193 #define DMA_INT_EN (*(volatile uint32_t *) (USB_BASE_ADDR + 0x94)) 1194 #define EOT_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0xA0)) 1195 #define EOT_INT_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0xA4)) 1196 #define EOT_INT_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0xA8)) 1197 #define NDD_REQ_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0xAC)) 1198 #define NDD_REQ_INT_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0xB0)) 1199 #define NDD_REQ_INT_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0xB4)) 1200 #define SYS_ERR_INT_STAT (*(volatile uint32_t *) (USB_BASE_ADDR + 0xB8)) 1201 #define SYS_ERR_INT_CLR (*(volatile uint32_t *) (USB_BASE_ADDR + 0xBC)) 1202 #define SYS_ERR_INT_SET (*(volatile uint32_t *) (USB_BASE_ADDR + 0xC0)) 1205 #ifdef ARM_MULTILIB_ARCH_V4 1206 #define USBHC_BASE_ADDR 0xFFE0C000 1208 #define USBHC_BASE_ADDR 0x2008c000 1210 #define HC_REVISION (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x00)) 1211 #define HC_CONTROL (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x04)) 1212 #define HC_CMD_STAT (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x08)) 1213 #define HC_INT_STAT (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x0C)) 1214 #define HC_INT_EN (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x10)) 1215 #define HC_INT_DIS (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x14)) 1216 #define HC_HCCA (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x18)) 1217 #define HC_PERIOD_CUR_ED (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x1C)) 1218 #define HC_CTRL_HEAD_ED (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x20)) 1219 #define HC_CTRL_CUR_ED (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x24)) 1220 #define HC_BULK_HEAD_ED (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x28)) 1221 #define HC_BULK_CUR_ED (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x2C)) 1222 #define HC_DONE_HEAD (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x30)) 1223 #define HC_FM_INTERVAL (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x34)) 1224 #define HC_FM_REMAINING (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x38)) 1225 #define HC_FM_NUMBER (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x3C)) 1226 #define HC_PERIOD_START (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x40)) 1227 #define HC_LS_THRHLD (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x44)) 1228 #define HC_RH_DESCA (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x48)) 1229 #define HC_RH_DESCB (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x4C)) 1230 #define HC_RH_STAT (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x50)) 1231 #define HC_RH_PORT_STAT1 (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x54)) 1232 #define HC_RH_PORT_STAT2 (*(volatile uint32_t *) (USBHC_BASE_ADDR + 0x58)) 1235 #ifdef ARM_MULTILIB_ARCH_V4 1236 #define USBOTG_BASE_ADDR 0xFFE0C100 1238 #define USBOTG_BASE_ADDR 0x2008c100 1240 #define OTG_INT_STAT (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x00)) 1241 #define OTG_INT_EN (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x04)) 1242 #define OTG_INT_SET (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x08)) 1243 #define OTG_INT_CLR (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x0C)) 1244 #define OTG_STAT_CTRL (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x10)) 1245 #define OTG_TIMER (*(volatile uint32_t *) (USBOTG_BASE_ADDR + 0x14)) 1247 #ifdef ARM_MULTILIB_ARCH_V4 1248 #define USBOTG_I2C_BASE_ADDR 0xFFE0C300 1250 #define USBOTG_I2C_BASE_ADDR 0x2008c300 1252 #define OTG_I2C_RX (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x00)) 1253 #define OTG_I2C_TX (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x00)) 1254 #define OTG_I2C_STS (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x04)) 1255 #define OTG_I2C_CTL (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x08)) 1256 #define OTG_I2C_CLKHI (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x0C)) 1257 #define OTG_I2C_CLKLO (*(volatile uint32_t *) (USBOTG_I2C_BASE_ADDR + 0x10)) 1259 #ifdef ARM_MULTILIB_ARCH_V4 1260 #define USBOTG_CLK_BASE_ADDR 0xFFE0CFF0 1262 #define USBOTG_CLK_BASE_ADDR 0x2008cff0 1264 #define OTG_CLK_CTRL (*(volatile uint32_t *) (USBOTG_CLK_BASE_ADDR + 0x04)) 1265 #define OTG_CLK_STAT (*(volatile uint32_t *) (USBOTG_CLK_BASE_ADDR + 0x08)) 1268 #ifdef ARM_MULTILIB_ARCH_V4 1269 #define MAC_BASE_ADDR 0xFFE00000 1271 #define MAC_BASE_ADDR 0x20084000 1273 #define MAC_MAC1 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x000)) 1274 #define MAC_MAC2 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x004)) 1275 #define MAC_IPGT (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x008)) 1276 #define MAC_IPGR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x00C)) 1277 #define MAC_CLRT (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x010)) 1278 #define MAC_MAXF (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x014)) 1279 #define MAC_SUPP (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x018)) 1280 #define MAC_TEST (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x01C)) 1281 #define MAC_MCFG (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x020)) 1282 #define MAC_MCMD (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x024)) 1283 #define MAC_MADR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x028)) 1284 #define MAC_MWTD (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x02C)) 1285 #define MAC_MRDD (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x030)) 1286 #define MAC_MIND (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x034)) 1288 #define MAC_SA0 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x040)) 1289 #define MAC_SA1 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x044)) 1290 #define MAC_SA2 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x048)) 1292 #define MAC_COMMAND (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x100)) 1293 #define MAC_STATUS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x104)) 1294 #define MAC_RXDESCRIPTOR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x108)) 1295 #define MAC_RXSTATUS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x10C)) 1296 #define MAC_RXDESCRIPTORNUM (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x110)) 1297 #define MAC_RXPRODUCEINDEX (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x114)) 1298 #define MAC_RXCONSUMEINDEX (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x118)) 1299 #define MAC_TXDESCRIPTOR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x11C)) 1300 #define MAC_TXSTATUS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x120)) 1301 #define MAC_TXDESCRIPTORNUM (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x124)) 1302 #define MAC_TXPRODUCEINDEX (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x128)) 1303 #define MAC_TXCONSUMEINDEX (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x12C)) 1305 #define MAC_TSV0 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x158)) 1306 #define MAC_TSV1 (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x15C)) 1307 #define MAC_RSV (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x160)) 1309 #define MAC_FLOWCONTROLCNT (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x170)) 1310 #define MAC_FLOWCONTROLSTS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x174)) 1312 #define MAC_RXFILTERCTRL (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x200)) 1313 #define MAC_RXFILTERWOLSTS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x204)) 1314 #define MAC_RXFILTERWOLCLR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x208)) 1316 #define MAC_HASHFILTERL (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x210)) 1317 #define MAC_HASHFILTERH (*(volatile uint32_t *) (MAC_BASE_ADDR + 0x214)) 1319 #define MAC_INTSTATUS (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFE0)) 1320 #define MAC_INTENABLE (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFE4)) 1321 #define MAC_INTCLEAR (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFE8)) 1322 #define MAC_INTSET (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFEC)) 1324 #define MAC_POWERDOWN (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFF4)) 1325 #define MAC_MODULEID (*(volatile uint32_t *) (MAC_BASE_ADDR + 0xFFC)) 1329 #ifdef ARM_MULTILIB_ARCH_V4 1330 #define LCD_CFG (*(volatile uint32_t *) 0xE01FC1B8) 1331 #define LCD_BASE_ADDR 0xFFE10000 1333 #define LCD_CFG (*(volatile uint32_t *) 0x400FC1B8) 1334 #define LCD_BASE_ADDR 0x20088000 1336 #define LCD_TIMH (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x000)) 1337 #define LCD_TIMV (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x004)) 1338 #define LCD_POL (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x008)) 1339 #define LCD_LE (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x00C)) 1340 #define LCD_UPBASE (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x010)) 1341 #define LCD_LPBASE (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x014)) 1342 #define LCD_CTRL (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x018)) 1343 #define LCD_INTMSK (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x01C)) 1344 #define LCD_INTRAW (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x020)) 1345 #define LCD_INTSTAT (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x024)) 1346 #define LCD_INTCLR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x028)) 1347 #define LCD_UPCURR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x02C)) 1348 #define LCD_LPCURR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x030)) 1349 #define LCD_PAL_ADDR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x200)) 1350 #define CRSR_IMG (*(volatile uint32_t *) (LCD_BASE_ADDR + 0x800)) 1351 #define CRSR_CTLR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC00)) 1352 #define CRSR_CFG (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC04)) 1353 #define CRSR_PAL0 (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC08)) 1354 #define CRSR_PAL1 (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC0C)) 1355 #define CRSR_XY (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC10)) 1356 #define CRSR_CLIP (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC14)) 1357 #define CRSR_INTMSK (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC20)) 1358 #define CRSR_INTCLR (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC24)) 1359 #define CRSR_INTRAW (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC28)) 1360 #define CRSR_INTSTAT (*(volatile uint32_t *) (LCD_BASE_ADDR + 0xC2C)) 1364 #define GET_FIELD( val, mask, shift) \ 1365 (((val) & (mask)) >> (shift)) 1367 #define SET_FIELD( val, field, mask, shift) \ 1368 (((val) & ~(mask)) | (((field) << (shift)) & (mask))) 1372 #define CLKSRCSEL_CLKSRC_MASK 0x00000003U 1374 #define GET_CLKSRCSEL_CLKSRC(reg) \ 1375 GET_FIELD(reg, CLKSRCSEL_CLKSRC_MASK, 0) 1377 #define SET_CLKSRCSEL_CLKSRC(reg, val) \ 1378 SET_FIELD(reg, val, CLKSRCSEL_CLKSRC_MASK, 0) 1382 #define PLLCON_PLLE 0x00000001U 1384 #define PLLCON_PLLC 0x00000002U 1388 #define PLLCFG_MSEL_MASK 0x00007fffU 1390 #define GET_PLLCFG_MSEL(reg) \ 1391 GET_FIELD(reg, PLLCFG_MSEL_MASK, 0) 1393 #define SET_PLLCFG_MSEL(reg, val) \ 1394 SET_FIELD(reg, val, PLLCFG_MSEL_MASK, 0) 1396 #define PLLCFG_NSEL_MASK 0x00ff0000U 1398 #define GET_PLLCFG_NSEL(reg) \ 1399 GET_FIELD(reg, PLLCFG_NSEL_MASK, 16) 1401 #define SET_PLLCFG_NSEL(reg, val) \ 1402 SET_FIELD(reg, val, PLLCFG_NSEL_MASK, 16) 1406 #define PLLSTAT_MSEL_MASK 0x00007fffU 1408 #define GET_PLLSTAT_MSEL(reg) \ 1409 GET_FIELD(reg, PLLSTAT_MSEL_MASK, 0) 1411 #define SET_PLLSTAT_MSEL(reg, val) \ 1412 SET_FIELD(reg, val, PLLSTAT_MSEL_MASK, 0) 1414 #define PLLSTAT_NSEL_MASK 0x00ff0000U 1416 #define GET_PLLSTAT_NSEL(reg) \ 1417 GET_FIELD(reg, PLLSTAT_NSEL_MASK, 16) 1419 #define SET_PLLSTAT_NSEL(reg, val) \ 1420 SET_FIELD(reg, val, PLLSTAT_NSEL_MASK, 16) 1422 #define PLLSTAT_PLLE 0x01000000U 1424 #define PLLSTAT_PLLC 0x02000000U 1426 #define PLLSTAT_PLOCK 0x04000000U 1430 #define CCLKCFG_CCLKSEL_MASK 0x000000ffU 1432 #define GET_CCLKCFG_CCLKSEL(reg) \ 1433 GET_FIELD(reg, CCLKCFG_CCLKSEL_MASK, 0) 1435 #define SET_CCLKCFG_CCLKSEL(reg, val) \ 1436 SET_FIELD(reg, val, CCLKCFG_CCLKSEL_MASK, 0) 1440 #define MEMMAP_MAP_MASK 0x00000003U 1442 #define GET_MEMMAP_MAP(reg) \ 1443 GET_FIELD(reg, MEMMAP_MAP_MASK, 0) 1445 #define SET_MEMMAP_MAP(reg, val) \ 1446 SET_FIELD(reg, val, MEMMAP_MAP_MASK, 0) 1450 #define TIR_MR0 0x00000001U 1452 #define TIR_MR1 0x00000002U 1454 #define TIR_MR2 0x00000004U 1456 #define TIR_MR3 0x00000008U 1458 #define TIR_CR0 0x00000010U 1460 #define TIR_CR1 0x00000020U 1462 #define TIR_CR2 0x00000040U 1464 #define TIR_CR3 0x00000080U 1468 #define TCR_EN 0x00000001U 1470 #define TCR_RST 0x00000002U 1474 #define TMCR_MR0I 0x00000001U 1476 #define TMCR_MR0R 0x00000002U 1478 #define TMCR_MR0S 0x00000004U 1480 #define TMCR_MR1I 0x00000008U 1482 #define TMCR_MR1R 0x00000010U 1484 #define TMCR_MR1S 0x00000020U 1486 #define TMCR_MR2I 0x00000040U 1488 #define TMCR_MR2R 0x00000080U 1490 #define TMCR_MR2S 0x00000100U 1492 #define TMCR_MR3I 0x00000200U 1494 #define TMCR_MR3R 0x00000400U 1496 #define TMCR_MR3S 0x00000800U 1500 #define PCLKSEL0_PCLK_WDT_MASK 0x00000003U 1502 #define GET_PCLKSEL0_PCLK_WDT(reg) \ 1503 GET_FIELD(reg, PCLKSEL0_PCLK_WDT_MASK, 0) 1505 #define SET_PCLKSEL0_PCLK_WDT(reg, val) \ 1506 SET_FIELD(reg, val, PCLKSEL0_PCLK_WDT_MASK, 0) 1508 #define PCLKSEL0_PCLK_TIMER0_MASK 0x0000000cU 1510 #define GET_PCLKSEL0_PCLK_TIMER0(reg) \ 1511 GET_FIELD(reg, PCLKSEL0_PCLK_TIMER0_MASK, 2) 1513 #define SET_PCLKSEL0_PCLK_TIMER0(reg, val) \ 1514 SET_FIELD(reg, val, PCLKSEL0_PCLK_TIMER0_MASK, 2) 1516 #define PCLKSEL0_PCLK_TIMER1_MASK 0x00000030U 1518 #define GET_PCLKSEL0_PCLK_TIMER1(reg) \ 1519 GET_FIELD(reg, PCLKSEL0_PCLK_TIMER1_MASK, 4) 1521 #define SET_PCLKSEL0_PCLK_TIMER1(reg, val) \ 1522 SET_FIELD(reg, val, PCLKSEL0_PCLK_TIMER1_MASK, 4) 1524 #define PCLKSEL0_PCLK_UART0_MASK 0x000000c0U 1526 #define GET_PCLKSEL0_PCLK_UART0(reg) \ 1527 GET_FIELD(reg, PCLKSEL0_PCLK_UART0_MASK, 6) 1529 #define SET_PCLKSEL0_PCLK_UART0(reg, val) \ 1530 SET_FIELD(reg, val, PCLKSEL0_PCLK_UART0_MASK, 6) 1532 #define PCLKSEL0_PCLK_UART1_MASK 0x00000300U 1534 #define GET_PCLKSEL0_PCLK_UART1(reg) \ 1535 GET_FIELD(reg, PCLKSEL0_PCLK_UART1_MASK, 8) 1537 #define SET_PCLKSEL0_PCLK_UART1(reg, val) \ 1538 SET_FIELD(reg, val, PCLKSEL0_PCLK_UART1_MASK, 8) 1540 #define PCLKSEL0_PCLK_PWM0_MASK 0x00000c00U 1542 #define GET_PCLKSEL0_PCLK_PWM0(reg) \ 1543 GET_FIELD(reg, PCLKSEL0_PCLK_PWM0_MASK, 10) 1545 #define SET_PCLKSEL0_PCLK_PWM0(reg, val) \ 1546 SET_FIELD(reg, val, PCLKSEL0_PCLK_PWM0_MASK, 10) 1548 #define PCLKSEL0_PCLK_PWM1_MASK 0x00003000U 1550 #define GET_PCLKSEL0_PCLK_PWM1(reg) \ 1551 GET_FIELD(reg, PCLKSEL0_PCLK_PWM1_MASK, 12) 1553 #define SET_PCLKSEL0_PCLK_PWM1(reg, val) \ 1554 SET_FIELD(reg, val, PCLKSEL0_PCLK_PWM1_MASK, 12) 1556 #define PCLKSEL0_PCLK_I2C0_MASK 0x0000c000U 1558 #define GET_PCLKSEL0_PCLK_I2C0(reg) \ 1559 GET_FIELD(reg, PCLKSEL0_PCLK_I2C0_MASK, 14) 1561 #define SET_PCLKSEL0_PCLK_I2C0(reg, val) \ 1562 SET_FIELD(reg, val, PCLKSEL0_PCLK_I2C0_MASK, 14) 1564 #define PCLKSEL0_PCLK_SPI_MASK 0x00030000U 1566 #define GET_PCLKSEL0_PCLK_SPI(reg) \ 1567 GET_FIELD(reg, PCLKSEL0_PCLK_SPI_MASK, 16) 1569 #define SET_PCLKSEL0_PCLK_SPI(reg, val) \ 1570 SET_FIELD(reg, val, PCLKSEL0_PCLK_SPI_MASK, 16) 1572 #define PCLKSEL0_PCLK_RTC_MASK 0x000c0000U 1574 #define GET_PCLKSEL0_PCLK_RTC(reg) \ 1575 GET_FIELD(reg, PCLKSEL0_PCLK_RTC_MASK, 18) 1577 #define SET_PCLKSEL0_PCLK_RTC(reg, val) \ 1578 SET_FIELD(reg, val, PCLKSEL0_PCLK_RTC_MASK, 18) 1580 #define PCLKSEL0_PCLK_SSP1_MASK 0x00300000U 1582 #define GET_PCLKSEL0_PCLK_SSP1(reg) \ 1583 GET_FIELD(reg, PCLKSEL0_PCLK_SSP1_MASK, 20) 1585 #define SET_PCLKSEL0_PCLK_SSP1(reg, val) \ 1586 SET_FIELD(reg, val, PCLKSEL0_PCLK_SSP1_MASK, 20) 1588 #define PCLKSEL0_PCLK_DAC_MASK 0x00c00000U 1590 #define GET_PCLKSEL0_PCLK_DAC(reg) \ 1591 GET_FIELD(reg, PCLKSEL0_PCLK_DAC_MASK, 22) 1593 #define SET_PCLKSEL0_PCLK_DAC(reg, val) \ 1594 SET_FIELD(reg, val, PCLKSEL0_PCLK_DAC_MASK, 22) 1596 #define PCLKSEL0_PCLK_ADC_MASK 0x03000000U 1598 #define GET_PCLKSEL0_PCLK_ADC(reg) \ 1599 GET_FIELD(reg, PCLKSEL0_PCLK_ADC_MASK, 24) 1601 #define SET_PCLKSEL0_PCLK_ADC(reg, val) \ 1602 SET_FIELD(reg, val, PCLKSEL0_PCLK_ADC_MASK, 24) 1604 #define PCLKSEL0_PCLK_CAN1_MASK 0x0c000000U 1606 #define GET_PCLKSEL0_PCLK_CAN1(reg) \ 1607 GET_FIELD(reg, PCLKSEL0_PCLK_CAN1_MASK, 26) 1609 #define SET_PCLKSEL0_PCLK_CAN1(reg, val) \ 1610 SET_FIELD(reg, val, PCLKSEL0_PCLK_CAN1_MASK, 26) 1612 #define PCLKSEL0_PCLK_CAN2_MASK 0x30000000U 1614 #define GET_PCLKSEL0_PCLK_CAN2(reg) \ 1615 GET_FIELD(reg, PCLKSEL0_PCLK_CAN2_MASK, 28) 1617 #define SET_PCLKSEL0_PCLK_CAN2(reg, val) \ 1618 SET_FIELD(reg, val, PCLKSEL0_PCLK_CAN2_MASK, 28) 1622 #define PCLKSEL1_PCLK_BAT_RAM_MASK 0x00000003U 1624 #define GET_PCLKSEL1_PCLK_BAT_RAM(reg) \ 1625 GET_FIELD(reg, PCLKSEL1_PCLK_BAT_RAM_MASK, 0) 1627 #define SET_PCLKSEL1_PCLK_BAT_RAM(reg, val) \ 1628 SET_FIELD(reg, val, PCLKSEL1_PCLK_BAT_RAM_MASK, 0) 1630 #define PCLKSEL1_PCLK_GPIO_MASK 0x0000000cU 1632 #define GET_PCLKSEL1_PCLK_GPIO(reg) \ 1633 GET_FIELD(reg, PCLKSEL1_PCLK_GPIO_MASK, 2) 1635 #define SET_PCLKSEL1_PCLK_GPIO(reg, val) \ 1636 SET_FIELD(reg, val, PCLKSEL1_PCLK_GPIO_MASK, 2) 1638 #define PCLKSEL1_PCLK_PCB_MASK 0x00000030U 1640 #define GET_PCLKSEL1_PCLK_PCB(reg) \ 1641 GET_FIELD(reg, PCLKSEL1_PCLK_PCB_MASK, 4) 1643 #define SET_PCLKSEL1_PCLK_PCB(reg, val) \ 1644 SET_FIELD(reg, val, PCLKSEL1_PCLK_PCB_MASK, 4) 1646 #define PCLKSEL1_PCLK_I2C1_MASK 0x000000c0U 1648 #define GET_PCLKSEL1_PCLK_I2C1(reg) \ 1649 GET_FIELD(reg, PCLKSEL1_PCLK_I2C1_MASK, 6) 1651 #define SET_PCLKSEL1_PCLK_I2C1(reg, val) \ 1652 SET_FIELD(reg, val, PCLKSEL1_PCLK_I2C1_MASK, 6) 1654 #define PCLKSEL1_PCLK_SSP0_MASK 0x00000c00U 1656 #define GET_PCLKSEL1_PCLK_SSP0(reg) \ 1657 GET_FIELD(reg, PCLKSEL1_PCLK_SSP0_MASK, 10) 1659 #define SET_PCLKSEL1_PCLK_SSP0(reg, val) \ 1660 SET_FIELD(reg, val, PCLKSEL1_PCLK_SSP0_MASK, 10) 1662 #define PCLKSEL1_PCLK_TIMER2_MASK 0x00003000U 1664 #define GET_PCLKSEL1_PCLK_TIMER2(reg) \ 1665 GET_FIELD(reg, PCLKSEL1_PCLK_TIMER2_MASK, 12) 1667 #define SET_PCLKSEL1_PCLK_TIMER2(reg, val) \ 1668 SET_FIELD(reg, val, PCLKSEL1_PCLK_TIMER2_MASK, 12) 1670 #define PCLKSEL1_PCLK_TIMER3_MASK 0x0000c000U 1672 #define GET_PCLKSEL1_PCLK_TIMER3(reg) \ 1673 GET_FIELD(reg, PCLKSEL1_PCLK_TIMER3_MASK, 14) 1675 #define SET_PCLKSEL1_PCLK_TIMER3(reg, val) \ 1676 SET_FIELD(reg, val, PCLKSEL1_PCLK_TIMER3_MASK, 14) 1678 #define PCLKSEL1_PCLK_UART2_MASK 0x00030000U 1680 #define GET_PCLKSEL1_PCLK_UART2(reg) \ 1681 GET_FIELD(reg, PCLKSEL1_PCLK_UART2_MASK, 16) 1683 #define SET_PCLKSEL1_PCLK_UART2(reg, val) \ 1684 SET_FIELD(reg, val, PCLKSEL1_PCLK_UART2_MASK, 16) 1686 #define PCLKSEL1_PCLK_UART3_MASK 0x000c0000U 1688 #define GET_PCLKSEL1_PCLK_UART3(reg) \ 1689 GET_FIELD(reg, PCLKSEL1_PCLK_UART3_MASK, 18) 1691 #define SET_PCLKSEL1_PCLK_UART3(reg, val) \ 1692 SET_FIELD(reg, val, PCLKSEL1_PCLK_UART3_MASK, 18) 1694 #define PCLKSEL1_PCLK_I2C2_MASK 0x00300000U 1696 #define GET_PCLKSEL1_PCLK_I2C2(reg) \ 1697 GET_FIELD(reg, PCLKSEL1_PCLK_I2C2_MASK, 20) 1699 #define SET_PCLKSEL1_PCLK_I2C2(reg, val) \ 1700 SET_FIELD(reg, val, PCLKSEL1_PCLK_I2C2_MASK, 20) 1702 #define PCLKSEL1_PCLK_I2S_MASK 0x00c00000U 1704 #define GET_PCLKSEL1_PCLK_I2S(reg) \ 1705 GET_FIELD(reg, PCLKSEL1_PCLK_I2S_MASK, 22) 1707 #define SET_PCLKSEL1_PCLK_I2S(reg, val) \ 1708 SET_FIELD(reg, val, PCLKSEL1_PCLK_I2S_MASK, 22) 1710 #define PCLKSEL1_PCLK_MCI_MASK 0x03000000U 1712 #define GET_PCLKSEL1_PCLK_MCI(reg) \ 1713 GET_FIELD(reg, PCLKSEL1_PCLK_MCI_MASK, 24) 1715 #define SET_PCLKSEL1_PCLK_MCI(reg, val) \ 1716 SET_FIELD(reg, val, PCLKSEL1_PCLK_MCI_MASK, 24) 1718 #define PCLKSEL1_PCLK_SYSCON_MASK 0x30000000U 1720 #define GET_PCLKSEL1_PCLK_SYSCON(reg) \ 1721 GET_FIELD(reg, PCLKSEL1_PCLK_SYSCON_MASK, 28) 1723 #define SET_PCLKSEL1_PCLK_SYSCON(reg, val) \ 1724 SET_FIELD(reg, val, PCLKSEL1_PCLK_SYSCON_MASK, 28) 1728 #define RTC_ILR_RTCCIF 0x00000001U 1730 #define RTC_ILR_RTCALF 0x00000002U 1732 #define RTC_ILR_RTSSF 0x00000004U 1736 #define RTC_CCR_CLKEN 0x00000001U 1738 #define RTC_CCR_CTCRST 0x00000002U 1740 #define RTC_CCR_CLKSRC 0x00000010U 1759 #define SSP_CR0_DSS_MASK 0x0000000fU 1761 #define GET_SSP_CR0_DSS(reg) \ 1762 GET_FIELD(reg, SSP_CR0_DSS_MASK, 0) 1764 #define SET_SSP_CR0_DSS(reg, val) \ 1765 SET_FIELD(reg, val, SSP_CR0_DSS_MASK, 0) 1767 #define SSP_CR0_FRF_MASK 0x00000030U 1769 #define GET_SSP_CR0_FRF(reg) \ 1770 GET_FIELD(reg, SSP_CR0_FRF_MASK, 4) 1772 #define SET_SSP_CR0_FRF(reg, val) \ 1773 SET_FIELD(reg, val, SSP_CR0_FRF_MASK, 4) 1775 #define SSP_CR0_CPOL 0x00000040U 1777 #define SSP_CR0_CPHA 0x00000080U 1779 #define SSP_CR0_SCR_MASK 0x0000ff00U 1781 #define GET_SSP_CR0_SCR(reg) \ 1782 GET_FIELD(reg, SSP_CR0_SCR_MASK, 8) 1784 #define SET_SSP_CR0_SCR(reg, val) \ 1785 SET_FIELD(reg, val, SSP_CR0_SCR_MASK, 8) 1789 #define SSP_CR1_LBM 0x00000001U 1791 #define SSP_CR1_SSE 0x00000002U 1793 #define SSP_CR1_MS 0x00000004U 1795 #define SSP_CR1_SOD 0x00000008U 1799 #define SSP_SR_TFE 0x00000001U 1801 #define SSP_SR_TNF 0x00000002U 1803 #define SSP_SR_RNE 0x00000004U 1805 #define SSP_SR_RFF 0x00000008U 1807 #define SSP_SR_BSY 0x00000010U 1811 #define SSP_IMSC_RORIM 0x00000001U 1813 #define SSP_IMSC_RTIM 0x00000002U 1815 #define SSP_IMSC_RXIM 0x00000004U 1817 #define SSP_IMSC_TXIM 0x00000008U 1821 #define SSP_RIS_RORRIS 0x00000001U 1823 #define SSP_RIS_RTRIS 0x00000002U 1825 #define SSP_RIS_RXRIS 0x00000004U 1827 #define SSP_RIS_TXRIS 0x00000008U 1831 #define SSP_MIS_RORRIS 0x00000001U 1833 #define SSP_MIS_RTRIS 0x00000002U 1835 #define SSP_MIS_RXRIS 0x00000004U 1837 #define SSP_MIS_TXRIS 0x00000008U 1841 #define SSP_ICR_RORRIS 0x00000001U 1843 #define SSP_ICR_RTRIS 0x00000002U 1845 #define SSP_ICR_RXRIS 0x00000004U 1847 #define SSP_ICR_TXRIS 0x00000008U 1851 #define SSP_DMACR_RXDMAE 0x00000001U 1853 #define SSP_DMACR_TXDMAE 0x00000002U 1869 #define GPDMA_CH_NUMBER 2 1871 #define GPDMA_STATUS_CH_0 0x00000001U 1873 #define GPDMA_STATUS_CH_1 0x00000002U 1875 #define GPDMA_CH_BASE_ADDR(i) \ 1876 ((volatile lpc24xx_dma_channel *) \ 1877 ((i) ? GPDMA_CH1_BASE_ADDR : GPDMA_CH0_BASE_ADDR)) 1881 #define GPDMA_CONFIG_EN 0x00000001U 1883 #define GPDMA_CONFIG_MODE 0x00000002U 1887 #define GPDMA_ENABLED_CHNS_CH0 0x00000001U 1889 #define GPDMA_ENABLED_CHNS_CH1 0x00000002U 1893 #define GPDMA_CH_CTRL_TSZ_MASK 0x00000fffU 1895 #define GET_GPDMA_CH_CTRL_TSZ(reg) \ 1896 GET_FIELD(reg, GPDMA_CH_CTRL_TSZ_MASK, 0) 1898 #define SET_GPDMA_CH_CTRL_TSZ(reg, val) \ 1899 SET_FIELD(reg, val, GPDMA_CH_CTRL_TSZ_MASK, 0) 1901 #define GPDMA_CH_CTRL_TSZ_MAX 0x00000fffU 1903 #define GPDMA_CH_CTRL_SBSZ_MASK 0x00007000U 1905 #define GET_GPDMA_CH_CTRL_SBSZ(reg) \ 1906 GET_FIELD(reg, GPDMA_CH_CTRL_SBSZ_MASK, 12) 1908 #define SET_GPDMA_CH_CTRL_SBSZ(reg, val) \ 1909 SET_FIELD(reg, val, GPDMA_CH_CTRL_SBSZ_MASK, 12) 1911 #define GPDMA_CH_CTRL_DBSZ_MASK 0x00038000U 1913 #define GET_GPDMA_CH_CTRL_DBSZ(reg) \ 1914 GET_FIELD(reg, GPDMA_CH_CTRL_DBSZ_MASK, 15) 1916 #define SET_GPDMA_CH_CTRL_DBSZ(reg, val) \ 1917 SET_FIELD(reg, val, GPDMA_CH_CTRL_DBSZ_MASK, 15) 1919 #define GPDMA_CH_CTRL_BSZ_1 0x00000000U 1921 #define GPDMA_CH_CTRL_BSZ_4 0x00000001U 1923 #define GPDMA_CH_CTRL_BSZ_8 0x00000002U 1925 #define GPDMA_CH_CTRL_BSZ_16 0x00000003U 1927 #define GPDMA_CH_CTRL_BSZ_32 0x00000004U 1929 #define GPDMA_CH_CTRL_BSZ_64 0x00000005U 1931 #define GPDMA_CH_CTRL_BSZ_128 0x00000006U 1933 #define GPDMA_CH_CTRL_BSZ_256 0x00000007U 1935 #define GPDMA_CH_CTRL_SW_MASK 0x001c0000U 1937 #define GET_GPDMA_CH_CTRL_SW(reg) \ 1938 GET_FIELD(reg, GPDMA_CH_CTRL_SW_MASK, 18) 1940 #define SET_GPDMA_CH_CTRL_SW(reg, val) \ 1941 SET_FIELD(reg, val, GPDMA_CH_CTRL_SW_MASK, 18) 1943 #define GPDMA_CH_CTRL_DW_MASK 0x00e00000U 1945 #define GET_GPDMA_CH_CTRL_DW(reg) \ 1946 GET_FIELD(reg, GPDMA_CH_CTRL_DW_MASK, 21) 1948 #define SET_GPDMA_CH_CTRL_DW(reg, val) \ 1949 SET_FIELD(reg, val, GPDMA_CH_CTRL_DW_MASK, 21) 1951 #define GPDMA_CH_CTRL_W_8 0x00000000U 1953 #define GPDMA_CH_CTRL_W_16 0x00000001U 1955 #define GPDMA_CH_CTRL_W_32 0x00000002U 1957 #define GPDMA_CH_CTRL_SI 0x04000000U 1959 #define GPDMA_CH_CTRL_DI 0x08000000U 1961 #define GPDMA_CH_CTRL_PROT_MASK 0x70000000U 1963 #define GET_GPDMA_CH_CTRL_PROT(reg) \ 1964 GET_FIELD(reg, GPDMA_CH_CTRL_PROT_MASK, 28) 1966 #define SET_GPDMA_CH_CTRL_PROT(reg, val) \ 1967 SET_FIELD(reg, val, GPDMA_CH_CTRL_PROT_MASK, 28) 1969 #define GPDMA_CH_CTRL_ITC 0x80000000U 1973 #define GPDMA_CH_CFG_EN 0x00000001U 1975 #define GPDMA_CH_CFG_SRCPER_MASK 0x0000001eU 1977 #define GET_GPDMA_CH_CFG_SRCPER(reg) \ 1978 GET_FIELD(reg, GPDMA_CH_CFG_SRCPER_MASK, 1) 1980 #define SET_GPDMA_CH_CFG_SRCPER(reg, val) \ 1981 SET_FIELD(reg, val, GPDMA_CH_CFG_SRCPER_MASK, 1) 1983 #define GPDMA_CH_CFG_DESTPER_MASK 0x000003c0U 1985 #define GET_GPDMA_CH_CFG_DESTPER(reg) \ 1986 GET_FIELD(reg, GPDMA_CH_CFG_DESTPER_MASK, 6) 1988 #define SET_GPDMA_CH_CFG_DESTPER(reg, val) \ 1989 SET_FIELD(reg, val, GPDMA_CH_CFG_DESTPER_MASK, 6) 1991 #define GPDMA_CH_CFG_PER_SSP0_TX 0x00000000U 1993 #define GPDMA_CH_CFG_PER_SSP0_RX 0x00000001U 1995 #define GPDMA_CH_CFG_PER_SSP1_TX 0x00000002U 1997 #define GPDMA_CH_CFG_PER_SSP1_RX 0x00000003U 1999 #define GPDMA_CH_CFG_PER_SD_MMC 0x00000004U 2001 #define GPDMA_CH_CFG_PER_I2S_CH0 0x00000005U 2003 #define GPDMA_CH_CFG_PER_I2S_CH1 0x00000006U 2005 #define GPDMA_CH_CFG_FLOW_MASK 0x00003800U 2007 #define GET_GPDMA_CH_CFG_FLOW(reg) \ 2008 GET_FIELD(reg, GPDMA_CH_CFG_FLOW_MASK, 11) 2010 #define SET_GPDMA_CH_CFG_FLOW(reg, val) \ 2011 SET_FIELD(reg, val, GPDMA_CH_CFG_FLOW_MASK, 11) 2013 #define GPDMA_CH_CFG_FLOW_MEM_TO_MEM_DMA 0x00000000U 2015 #define GPDMA_CH_CFG_FLOW_MEM_TO_PER_DMA 0x00000001U 2017 #define GPDMA_CH_CFG_FLOW_PER_TO_MEM_DMA 0x00000002U 2019 #define GPDMA_CH_CFG_FLOW_PER_TO_PER_DMA 0x00000003U 2021 #define GPDMA_CH_CFG_FLOW_PER_TO_PER_DEST 0x00000004U 2023 #define GPDMA_CH_CFG_FLOW_MEM_TO_PER_PER 0x00000005U 2025 #define GPDMA_CH_CFG_FLOW_PER_TO_MEM_PER 0x00000006U 2027 #define GPDMA_CH_CFG_FLOW_PER_TO_PER_SRC 0x00000007U 2029 #define GPDMA_CH_CFG_IE 0x00004000U 2031 #define GPDMA_CH_CFG_ITC 0x00008000U 2033 #define GPDMA_CH_CFG_LOCK 0x00010000U 2035 #define GPDMA_CH_CFG_ACTIVE 0x00020000U 2037 #define GPDMA_CH_CFG_HALT 0x00040000U 2041 #define AHBCFG_SCHEDULER_UNIFORM 0x00000001U 2043 #define AHBCFG_BREAK_BURST_MASK 0x00000006U 2045 #define GET_AHBCFG_BREAK_BURST(reg) \ 2046 GET_FIELD(reg, AHBCFG_BREAK_BURST_MASK, 1) 2048 #define SET_AHBCFG_BREAK_BURST(reg, val) \ 2049 SET_FIELD(reg, val, AHBCFG_BREAK_BURST_MASK, 1) 2051 #define AHBCFG_QUANTUM_BUS_CYCLE 0x00000008U 2053 #define AHBCFG_QUANTUM_SIZE_MASK 0x000000f0U 2055 #define GET_AHBCFG_QUANTUM_SIZE(reg) \ 2056 GET_FIELD(reg, AHBCFG_QUANTUM_SIZE_MASK, 4) 2058 #define SET_AHBCFG_QUANTUM_SIZE(reg, val) \ 2059 SET_FIELD(reg, val, AHBCFG_QUANTUM_SIZE_MASK, 4) 2061 #define AHBCFG_DEFAULT_MASTER_MASK 0x00000700U 2063 #define GET_AHBCFG_DEFAULT_MASTER(reg) \ 2064 GET_FIELD(reg, AHBCFG_DEFAULT_MASTER_MASK, 8) 2066 #define SET_AHBCFG_DEFAULT_MASTER(reg, val) \ 2067 SET_FIELD(reg, val, AHBCFG_DEFAULT_MASTER_MASK, 8) 2069 #define AHBCFG_EP1_MASK 0x00007000U 2071 #define GET_AHBCFG_EP1(reg) \ 2072 GET_FIELD(reg, AHBCFG_EP1_MASK, 12) 2074 #define SET_AHBCFG_EP1(reg, val) \ 2075 SET_FIELD(reg, val, AHBCFG_EP1_MASK, 12) 2077 #define AHBCFG_EP2_MASK 0x00070000U 2079 #define GET_AHBCFG_EP2(reg) \ 2080 GET_FIELD(reg, AHBCFG_EP2_MASK, 16) 2082 #define SET_AHBCFG_EP2(reg, val) \ 2083 SET_FIELD(reg, val, AHBCFG_EP2_MASK, 16) 2085 #define AHBCFG_EP3_MASK 0x00700000U 2087 #define GET_AHBCFG_EP3(reg) \ 2088 GET_FIELD(reg, AHBCFG_EP3_MASK, 20) 2090 #define SET_AHBCFG_EP3(reg, val) \ 2091 SET_FIELD(reg, val, AHBCFG_EP3_MASK, 20) 2093 #define AHBCFG_EP4_MASK 0x07000000U 2095 #define GET_AHBCFG_EP4(reg) \ 2096 GET_FIELD(reg, AHBCFG_EP4_MASK, 24) 2098 #define SET_AHBCFG_EP4(reg, val) \ 2099 SET_FIELD(reg, val, AHBCFG_EP4_MASK, 24) 2101 #define AHBCFG_EP5_MASK 0x70000000U 2103 #define GET_AHBCFG_EP5(reg) \ 2104 GET_FIELD(reg, AHBCFG_EP5_MASK, 28) 2106 #define SET_AHBCFG_EP5(reg, val) \ 2107 SET_FIELD(reg, val, AHBCFG_EP5_MASK, 28) 2121 #define LPC24XX_I2C_AA (1U << 2U) 2123 #define LPC24XX_I2C_SI (1U << 3U) 2125 #define LPC24XX_I2C_STO (1U << 4U) 2127 #define LPC24XX_I2C_STA (1U << 5U) 2129 #define LPC24XX_I2C_EN (1U << 6U) 2133 #ifdef ARM_MULTILIB_ARCH_V4 2134 #define LPC24XX_PINSEL ((volatile uint32_t *) &PINSEL0) 2135 #define LPC24XX_PINMODE ((volatile uint32_t *) &PINMODE0) 2137 #define IOCON_FUNC(val) BSP_FLD32(val, 0, 2) 2138 #define IOCON_FUNC_GET(reg) BSP_FLD32GET(reg, 0, 2) 2139 #define IOCON_FUNC_SET(reg, val) BSP_FLD32SET(reg, val, 0, 2) 2140 #define IOCON_MODE(val) BSP_FLD32(val, 3, 4) 2141 #define IOCON_MODE_GET(reg) BSP_FLD32GET(reg, 3, 4) 2142 #define IOCON_MODE_SET(reg, val) BSP_FLD32SET(reg, val, 3, 4) 2143 #define IOCON_HYS BSP_BIT32(5) 2144 #define IOCON_INV BSP_BIT32(6) 2145 #define IOCON_ADMODE BSP_BIT32(7) 2146 #define IOCON_FILTER BSP_BIT32(8) 2147 #define IOCON_HS BSP_BIT32(8) 2148 #define IOCON_SLEW BSP_BIT32(9) 2149 #define IOCON_HIDRIVE BSP_BIT32(9) 2150 #define IOCON_OD BSP_BIT32(10) 2151 #define IOCON_DACEN BSP_BIT32(16) 2152 #define LPC17XX_IOCON ((volatile uint32_t *) PINSEL_BASE_ADDR) 2157 uint32_t reserved [3];
2164 #define LPC24XX_FIO ((volatile lpc24xx_fio *) FIO_BASE_ADDR) 2166 #ifdef ARM_MULTILIB_ARCH_V4 2170 #define PCONP_GPDMA (1U << 29) 2171 #define PCONP_ETHERNET (1U << 30) 2172 #define PCONP_USB (1U << 31) 2178 static volatile lpc_i2s *
const lpc24xx_i2s = (
lpc_i2s *) I2S_BASE_ADDR;
2182 #define ADC_CR_SEL(val) BSP_FLD32(val, 0, 7) 2183 #define ADC_CR_SEL_GET(val) BSP_FLD32GET(val, 0, 7) 2184 #define ADC_CR_SEL_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7) 2185 #define ADC_CR_CLKDIV(val) BSP_FLD32(val, 8, 15) 2186 #define ADC_CR_CLKDIV_GET(reg) BSP_FLD32GET(reg, 8, 15) 2187 #define ADC_CR_CLKDIV_SET(reg, val) BSP_FLD32SET(reg, val, 8, 15) 2188 #define ADC_CR_BURST BSP_BIT32(16) 2189 #define ADC_CR_CLKS(val) BSP_FLD32(val, 17, 19) 2190 #define ADC_CR_PDN BSP_BIT32(21) 2191 #define ADC_CR_START(val) BSP_FLD32(val, 24, 26) 2192 #define ADC_CR_EDGE BSP_BIT32(27) 2194 #define ADC_DR_VALUE(reg) BSP_FLD32GET(reg, 6, 15) 2195 #define ADC_DR_OVERRUN BSP_BIT32(30) 2196 #define ADC_DR_DONE BSP_BIT32(31) 2200 #define DAC_STEPS 1024 2201 #define DAC_VALUE(val) BSP_FLD32(val, 6, 15) 2202 #define DAC_BIAS BSP_BIT32(16) Definition: lpc24xx.h:2155
Definition: lpc24xx.h:1744
I2S control block.
Definition: lpc-i2s.h:46
Definition: lpc24xx.h:1864
Definition: lpc24xx.h:2111
Definition: lpc24xx.h:1857