Blame view

RIOT/cpu/stellaris_common/include/hw_memmap.h 8.51 KB
fb11e647   vrobic   reseau statique a...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
  //*****************************************************************************
  //
  // hw_memmap.h - Macros defining the memory map of Stellaris.
  //
  // Copyright (c) 2005-2012 Texas Instruments Incorporated.  All rights reserved.
  // Software License Agreement
  //
  //   Redistribution and use in source and binary forms, with or without
  //   modification, are permitted provided that the following conditions
  //   are met:
  //
  //   Redistributions of source code must retain the above copyright
  //   notice, this list of conditions and the following disclaimer.
  //
  //   Redistributions in binary form must reproduce the above copyright
  //   notice, this list of conditions and the following disclaimer in the
  //   documentation and/or other materials provided with the
  //   distribution.
  //
  //   Neither the name of Texas Instruments Incorporated nor the names of
  //   its contributors may be used to endorse or promote products derived
  //   from this software without specific prior written permission.
  //
  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  //
  // This is part of revision 9453 of the Stellaris Firmware Development Package.
  //
  //*****************************************************************************
  
  #ifndef STELLARIS_HW_MEMMAP_H_
  #define STELLARIS_HW_MEMMAP_H_
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  //*****************************************************************************
  //
  // The following are defines for the base address of the memories and
  // peripherals.
  //
  //*****************************************************************************
  #define FLASH_BASE              0x00000000  // FLASH memory
  #define SRAM_BASE               0x20000000  // SRAM memory
  #define WATCHDOG0_BASE          0x40000000  // Watchdog0
  #define WATCHDOG1_BASE          0x40001000  // Watchdog1
  #define GPIO_PORTA_BASE         0x40004000  // GPIO Port A
  #define GPIO_PORTB_BASE         0x40005000  // GPIO Port B
  #define GPIO_PORTC_BASE         0x40006000  // GPIO Port C
  #define GPIO_PORTD_BASE         0x40007000  // GPIO Port D
  #define SSI0_BASE               0x40008000  // SSI0
  #define SSI1_BASE               0x40009000  // SSI1
  #define SSI2_BASE               0x4000A000  // SSI2
  #define SSI3_BASE               0x4000B000  // SSI3
  #define UART0_BASE              0x4000C000  // UART0
  #define UART1_BASE              0x4000D000  // UART1
  #define UART2_BASE              0x4000E000  // UART2
  #define UART3_BASE              0x4000F000  // UART3
  #define UART4_BASE              0x40010000  // UART4
  #define UART5_BASE              0x40011000  // UART5
  #define UART6_BASE              0x40012000  // UART6
  #define UART7_BASE              0x40013000  // UART7
  #define I2C0_MASTER_BASE        0x40020000  // I2C0 Master
  #define I2C0_SLAVE_BASE         0x40020800  // I2C0 Slave
  #define I2C1_MASTER_BASE        0x40021000  // I2C1 Master
  #define I2C1_SLAVE_BASE         0x40021800  // I2C1 Slave
  #define I2C2_MASTER_BASE        0x40022000  // I2C2 Master
  #define I2C2_SLAVE_BASE         0x40022800  // I2C2 Slave
  #define I2C3_MASTER_BASE        0x40023000  // I2C3 Master
  #define I2C3_SLAVE_BASE         0x40023800  // I2C3 Slave
  #define GPIO_PORTE_BASE         0x40024000  // GPIO Port E
  #define GPIO_PORTF_BASE         0x40025000  // GPIO Port F
  #define GPIO_PORTG_BASE         0x40026000  // GPIO Port G
  #define GPIO_PORTH_BASE         0x40027000  // GPIO Port H
  #define PWM0_BASE               0x40028000  // Pulse Width Modulator (PWM)
  #define PWM1_BASE               0x40029000  // Pulse Width Modulator (PWM)
  #define QEI0_BASE               0x4002C000  // QEI0
  #define QEI1_BASE               0x4002D000  // QEI1
  #define TIMER0_BASE             0x40030000  // Timer0
  #define TIMER1_BASE             0x40031000  // Timer1
  #define TIMER2_BASE             0x40032000  // Timer2
  #define TIMER3_BASE             0x40033000  // Timer3
  #define TIMER4_BASE             0x40034000  // Timer4
  #define TIMER5_BASE             0x40035000  // Timer5
  #define WTIMER0_BASE            0x40036000  // Wide Timer0
  #define WTIMER1_BASE            0x40037000  // Wide Timer1
  #define ADC0_BASE               0x40038000  // ADC0
  #define ADC1_BASE               0x40039000  // ADC1
  #define COMP_BASE               0x4003C000  // Analog comparators
  #define GPIO_PORTJ_BASE         0x4003D000  // GPIO Port J
  #define CAN0_BASE               0x40040000  // CAN0
  #define CAN1_BASE               0x40041000  // CAN1
  #define CAN2_BASE               0x40042000  // CAN2
  #define ETH_BASE                0x40048000  // Ethernet
  #define MAC_BASE                0x40048000  // Ethernet
  #define WTIMER2_BASE            0x4004C000  // Wide Timer2
  #define WTIMER3_BASE            0x4004D000  // Wide Timer3
  #define WTIMER4_BASE            0x4004E000  // Wide Timer4
  #define WTIMER5_BASE            0x4004F000  // Wide Timer5
  #define USB0_BASE               0x40050000  // USB 0 Controller
  #define I2S0_BASE               0x40054000  // I2S0
  #define GPIO_PORTA_AHB_BASE     0x40058000  // GPIO Port A (high speed)
  #define GPIO_PORTB_AHB_BASE     0x40059000  // GPIO Port B (high speed)
  #define GPIO_PORTC_AHB_BASE     0x4005A000  // GPIO Port C (high speed)
  #define GPIO_PORTD_AHB_BASE     0x4005B000  // GPIO Port D (high speed)
  #define GPIO_PORTE_AHB_BASE     0x4005C000  // GPIO Port E (high speed)
  #define GPIO_PORTF_AHB_BASE     0x4005D000  // GPIO Port F (high speed)
  #define GPIO_PORTG_AHB_BASE     0x4005E000  // GPIO Port G (high speed)
  #define GPIO_PORTH_AHB_BASE     0x4005F000  // GPIO Port H (high speed)
  #define GPIO_PORTJ_AHB_BASE     0x40060000  // GPIO Port J (high speed)
  #define GPIO_PORTK_BASE         0x40061000  // GPIO Port K
  #define GPIO_PORTL_BASE         0x40062000  // GPIO Port L
  #define GPIO_PORTM_BASE         0x40063000  // GPIO Port M
  #define GPIO_PORTN_BASE         0x40064000  // GPIO Port N
  #define GPIO_PORTP_BASE         0x40065000  // GPIO Port P
  #define GPIO_PORTQ_BASE         0x40066000  // GPIO Port Q
  #define LPC0_BASE               0x40080000  // Low Pin Count Interface (LPC)
  #define FAN0_BASE               0x40084000  // Fan Control (FAN)
  #define EEPROM_BASE             0x400AF000  // EEPROM memory
  #define PECI0_BASE              0x400B0000  // Platform Environment Control
                                              // Interface (PECI)
  #define I2C4_MASTER_BASE        0x400C0000  // I2C4 Master
  #define I2C4_SLAVE_BASE         0x400C0800  // I2C4 Slave
  #define I2C5_MASTER_BASE        0x400C1000  // I2C5 Master
  #define I2C5_SLAVE_BASE         0x400C1800  // I2C5 Slave
  #define EPI0_BASE               0x400D0000  // EPI0
  #define SYSEXC_BASE             0x400F9000  // System Exception Module
  #define HIB_BASE                0x400FC000  // Hibernation Module
  #define FLASH_CTRL_BASE         0x400FD000  // FLASH Controller
  #define SYSCTL_BASE             0x400FE000  // System Control
  #define UDMA_BASE               0x400FF000  // uDMA Controller
  #define FPB_BASE                0xE0002000  // FLASH Patch and Breakpoint
  #define TPIU_BASE               0xE0040000  // Trace Port Interface Unit
  
  //*****************************************************************************
  //
  // The following definitions are deprecated.
  //
  //*****************************************************************************
  #ifndef DEPRECATED
  
  //*****************************************************************************
  //
  // The following are deprecated defines for the base address of the memories
  // and peripherals.
  //
  //*****************************************************************************
  #define WATCHDOG_BASE           0x40000000  // Watchdog
  #define SSI_BASE                0x40008000  // SSI
  #define I2C_MASTER_BASE         0x40020000  // I2C Master
  #define I2C_SLAVE_BASE          0x40020800  // I2C Slave
  #define PWM_BASE                0x40028000  // PWM
  #define QEI_BASE                0x4002C000  // QEI
  #define ADC_BASE                0x40038000  // ADC
  
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* STELLARIS_HW_MEMMAP_H_ */