aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h')
-rw-r--r--lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h225
1 files changed, 225 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h b/lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h
new file mode 100644
index 000000000..c87b00606
--- /dev/null
+++ b/lib/chibios/os/hal/ports/SPC5/SPC563Mxx/spc5_registry.h
@@ -0,0 +1,225 @@
1/*
2 SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file SPC563Mxx/spc5_registry.h
19 * @brief SPC563Mxx capabilities registry.
20 *
21 * @addtogroup HAL
22 * @{
23 */
24
25#ifndef SPC5_REGISTRY_H
26#define SPC5_REGISTRY_H
27
28/*===========================================================================*/
29/* Platform capabilities. */
30/*===========================================================================*/
31
32/**
33 * @name SPC563Mxx capabilities
34 * @{
35 */
36/* DSPI attribures.*/
37#define SPC5_HAS_DSPI0 FALSE
38#define SPC5_HAS_DSPI1 TRUE
39#define SPC5_HAS_DSPI2 TRUE
40#define SPC5_HAS_DSPI3 FALSE
41#define SPC5_HAS_DSPI4 FALSE
42#define SPC5_HAS_DSPI5 FALSE
43#define SPC5_HAS_DSPI6 FALSE
44#define SPC5_HAS_DSPI7 FALSE
45#define SPC5_DSPI_FIFO_DEPTH 4
46#define SPC5_DSPI1_TFFF_HANDLER vector133
47#define SPC5_DSPI1_TFFF_NUMBER 133
48#define SPC5_DSPI1_RFDF_HANDLER vector135
49#define SPC5_DSPI1_RFDF_NUMBER 135
50#define SPC5_DSPI2_TFFF_HANDLER vector138
51#define SPC5_DSPI2_TFFF_NUMBER 138
52#define SPC5_DSPI2_RFDF_HANDLER vector140
53#define SPC5_DSPI2_RFDF_NUMBER 140
54#define SPC5_DSPI1_ENABLE_CLOCK()
55#define SPC5_DSPI1_DISABLE_CLOCK()
56#define SPC5_DSPI2_ENABLE_CLOCK()
57#define SPC5_DSPI2_DISABLE_CLOCK()
58
59/* eDMA attributes.*/
60#define SPC5_HAS_EDMA TRUE
61#define SPC5_EDMA_NCHANNELS 32
62#define SPC5_EDMA_HAS_MUX FALSE
63#define SPC5_SPI_DSPI1_TX1_DMA_CH_ID 12
64#define SPC5_SPI_DSPI1_TX2_DMA_CH_ID 25
65#define SPC5_SPI_DSPI1_RX_DMA_CH_ID 13
66#define SPC5_SPI_DSPI2_TX1_DMA_CH_ID 14
67#define SPC5_SPI_DSPI2_TX2_DMA_CH_ID 26
68#define SPC5_SPI_DSPI2_RX_DMA_CH_ID 15
69
70/* eQADC attributes.*/
71#define SPC5_HAS_EQADC TRUE
72
73/* eSCI attributes.*/
74#define SPC5_HAS_ESCIA TRUE
75#define SPC5_ESCIA_HANDLER vector146
76#define SPC5_ESCIA_NUMBER 146
77
78#define SPC5_HAS_ESCIB TRUE
79#define SPC5_ESCIB_HANDLER vector149
80#define SPC5_ESCIB_NUMBER 149
81
82#define SPC5_HAS_ESCIC FALSE
83
84/* SIU attributes.*/
85#define SPC5_HAS_SIU TRUE
86#define SPC5_SIU_SUPPORTS_PORTS FALSE
87
88/* EMIOS attributes.*/
89#define SPC5_HAS_EMIOS TRUE
90
91#define SPC5_EMIOS_NUM_CHANNELS 16
92
93#define SPC5_EMIOS_FLAG_F0_HANDLER vector51
94#define SPC5_EMIOS_FLAG_F1_HANDLER vector52
95#define SPC5_EMIOS_FLAG_F2_HANDLER vector53
96#define SPC5_EMIOS_FLAG_F3_HANDLER vector54
97#define SPC5_EMIOS_FLAG_F4_HANDLER vector55
98#define SPC5_EMIOS_FLAG_F5_HANDLER vector56
99#define SPC5_EMIOS_FLAG_F6_HANDLER vector57
100#define SPC5_EMIOS_FLAG_F8_HANDLER vector59
101#define SPC5_EMIOS_FLAG_F9_HANDLER vector60
102#define SPC5_EMIOS_FLAG_F10_HANDLER vector61
103#define SPC5_EMIOS_FLAG_F11_HANDLER vector62
104#define SPC5_EMIOS_FLAG_F12_HANDLER vector63
105#define SPC5_EMIOS_FLAG_F13_HANDLER vector64
106#define SPC5_EMIOS_FLAG_F14_HANDLER vector65
107#define SPC5_EMIOS_FLAG_F15_HANDLER vector66
108#define SPC5_EMIOS_FLAG_F23_HANDLER vector209
109#define SPC5_EMIOS_FLAG_F0_NUMBER 51
110#define SPC5_EMIOS_FLAG_F1_NUMBER 52
111#define SPC5_EMIOS_FLAG_F2_NUMBER 53
112#define SPC5_EMIOS_FLAG_F3_NUMBER 54
113#define SPC5_EMIOS_FLAG_F4_NUMBER 55
114#define SPC5_EMIOS_FLAG_F5_NUMBER 56
115#define SPC5_EMIOS_FLAG_F6_NUMBER 57
116#define SPC5_EMIOS_FLAG_F8_NUMBER 59
117#define SPC5_EMIOS_FLAG_F9_NUMBER 60
118#define SPC5_EMIOS_FLAG_F10_NUMBER 61
119#define SPC5_EMIOS_FLAG_F11_NUMBER 62
120#define SPC5_EMIOS_FLAG_F12_NUMBER 63
121#define SPC5_EMIOS_FLAG_F13_NUMBER 64
122#define SPC5_EMIOS_FLAG_F14_NUMBER 65
123#define SPC5_EMIOS_FLAG_F15_NUMBER 66
124#define SPC5_EMIOS_FLAG_F23_NUMBER 209
125
126#define SPC5_EMIOS_CLK (SPC5_SYSCLK / \
127 SPC5_EMIOS_GPRE_VALUE)
128#define SPC5_EMIOS_ENABLE_CLOCK()
129#define SPC5_EMIOS_DISABLE_CLOCK()
130
131/* FlexCAN attributes.*/
132#define SPC5_HAS_FLEXCAN0 TRUE
133#define SPC5_FLEXCAN0_MB 64
134#define SPC5_FLEXCAN0_SHARED_IRQ FALSE
135#define SPC5_FLEXCAN0_FLEXCAN_ESR_BOFF_HANDLER vector152
136#define SPC5_FLEXCAN0_FLEXCAN_ESR_ERR_INT_HANDLER vector153
137#define SPC5_FLEXCAN0_FLEXCAN_BUF_00_HANDLER vector155
138#define SPC5_FLEXCAN0_FLEXCAN_BUF_01_HANDLER vector156
139#define SPC5_FLEXCAN0_FLEXCAN_BUF_02_HANDLER vector157
140#define SPC5_FLEXCAN0_FLEXCAN_BUF_03_HANDLER vector158
141#define SPC5_FLEXCAN0_FLEXCAN_BUF_04_HANDLER vector159
142#define SPC5_FLEXCAN0_FLEXCAN_BUF_05_HANDLER vector160
143#define SPC5_FLEXCAN0_FLEXCAN_BUF_06_HANDLER vector161
144#define SPC5_FLEXCAN0_FLEXCAN_BUF_07_HANDLER vector162
145#define SPC5_FLEXCAN0_FLEXCAN_BUF_08_HANDLER vector163
146#define SPC5_FLEXCAN0_FLEXCAN_BUF_09_HANDLER vector164
147#define SPC5_FLEXCAN0_FLEXCAN_BUF_10_HANDLER vector165
148#define SPC5_FLEXCAN0_FLEXCAN_BUF_11_HANDLER vector166
149#define SPC5_FLEXCAN0_FLEXCAN_BUF_12_HANDLER vector167
150#define SPC5_FLEXCAN0_FLEXCAN_BUF_13_HANDLER vector168
151#define SPC5_FLEXCAN0_FLEXCAN_BUF_14_HANDLER vector169
152#define SPC5_FLEXCAN0_FLEXCAN_BUF_15_HANDLER vector170
153#define SPC5_FLEXCAN0_FLEXCAN_BUF_16_31_HANDLER vector171
154#define SPC5_FLEXCAN0_FLEXCAN_BUF_32_63_HANDLER vector172
155#define SPC5_FLEXCAN0_FLEXCAN_ESR_BOFF_NUMBER 152
156#define SPC5_FLEXCAN0_FLEXCAN_ESR_ERR_INT_NUMBER 153
157#define SPC5_FLEXCAN0_FLEXCAN_BUF_00_NUMBER 155
158#define SPC5_FLEXCAN0_FLEXCAN_BUF_01_NUMBER 156
159#define SPC5_FLEXCAN0_FLEXCAN_BUF_02_NUMBER 157
160#define SPC5_FLEXCAN0_FLEXCAN_BUF_03_NUMBER 158
161#define SPC5_FLEXCAN0_FLEXCAN_BUF_04_NUMBER 159
162#define SPC5_FLEXCAN0_FLEXCAN_BUF_05_NUMBER 160
163#define SPC5_FLEXCAN0_FLEXCAN_BUF_06_NUMBER 161
164#define SPC5_FLEXCAN0_FLEXCAN_BUF_07_NUMBER 162
165#define SPC5_FLEXCAN0_FLEXCAN_BUF_08_NUMBER 163
166#define SPC5_FLEXCAN0_FLEXCAN_BUF_09_NUMBER 164
167#define SPC5_FLEXCAN0_FLEXCAN_BUF_10_NUMBER 165
168#define SPC5_FLEXCAN0_FLEXCAN_BUF_11_NUMBER 166
169#define SPC5_FLEXCAN0_FLEXCAN_BUF_12_NUMBER 167
170#define SPC5_FLEXCAN0_FLEXCAN_BUF_13_NUMBER 168
171#define SPC5_FLEXCAN0_FLEXCAN_BUF_14_NUMBER 169
172#define SPC5_FLEXCAN0_FLEXCAN_BUF_15_NUMBER 170
173#define SPC5_FLEXCAN0_FLEXCAN_BUF_16_31_NUMBER 171
174#define SPC5_FLEXCAN0_FLEXCAN_BUF_32_63_NUMBER 172
175#define SPC5_FLEXCAN0_ENABLE_CLOCK()
176#define SPC5_FLEXCAN0_DISABLE_CLOCK()
177
178#define SPC5_HAS_FLEXCAN1 TRUE
179#define SPC5_FLEXCAN1_MB 32
180#define SPC5_FLEXCAN1_SHARED_IRQ FALSE
181#define SPC5_FLEXCAN1_FLEXCAN_ESR_BOFF_HANDLER vector173
182#define SPC5_FLEXCAN1_FLEXCAN_ESR_ERR_INT_HANDLER vector174
183#define SPC5_FLEXCAN1_FLEXCAN_BUF_00_HANDLER vector176
184#define SPC5_FLEXCAN1_FLEXCAN_BUF_01_HANDLER vector177
185#define SPC5_FLEXCAN1_FLEXCAN_BUF_02_HANDLER vector178
186#define SPC5_FLEXCAN1_FLEXCAN_BUF_03_HANDLER vector179
187#define SPC5_FLEXCAN1_FLEXCAN_BUF_04_HANDLER vector180
188#define SPC5_FLEXCAN1_FLEXCAN_BUF_05_HANDLER vector181
189#define SPC5_FLEXCAN1_FLEXCAN_BUF_06_HANDLER vector182
190#define SPC5_FLEXCAN1_FLEXCAN_BUF_07_HANDLER vector183
191#define SPC5_FLEXCAN1_FLEXCAN_BUF_08_HANDLER vector184
192#define SPC5_FLEXCAN1_FLEXCAN_BUF_09_HANDLER vector185
193#define SPC5_FLEXCAN1_FLEXCAN_BUF_10_HANDLER vector186
194#define SPC5_FLEXCAN1_FLEXCAN_BUF_11_HANDLER vector187
195#define SPC5_FLEXCAN1_FLEXCAN_BUF_12_HANDLER vector188
196#define SPC5_FLEXCAN1_FLEXCAN_BUF_13_HANDLER vector189
197#define SPC5_FLEXCAN1_FLEXCAN_BUF_14_HANDLER vector190
198#define SPC5_FLEXCAN1_FLEXCAN_BUF_15_HANDLER vector191
199#define SPC5_FLEXCAN1_FLEXCAN_BUF_16_31_HANDLER vector192
200#define SPC5_FLEXCAN1_FLEXCAN_ESR_BOFF_NUMBER 173
201#define SPC5_FLEXCAN1_FLEXCAN_ESR_ERR_INT_NUMBER 174
202#define SPC5_FLEXCAN1_FLEXCAN_BUF_00_NUMBER 176
203#define SPC5_FLEXCAN1_FLEXCAN_BUF_01_NUMBER 177
204#define SPC5_FLEXCAN1_FLEXCAN_BUF_02_NUMBER 178
205#define SPC5_FLEXCAN1_FLEXCAN_BUF_03_NUMBER 179
206#define SPC5_FLEXCAN1_FLEXCAN_BUF_04_NUMBER 180
207#define SPC5_FLEXCAN1_FLEXCAN_BUF_05_NUMBER 181
208#define SPC5_FLEXCAN1_FLEXCAN_BUF_06_NUMBER 182
209#define SPC5_FLEXCAN1_FLEXCAN_BUF_07_NUMBER 183
210#define SPC5_FLEXCAN1_FLEXCAN_BUF_08_NUMBER 184
211#define SPC5_FLEXCAN1_FLEXCAN_BUF_09_NUMBER 185
212#define SPC5_FLEXCAN1_FLEXCAN_BUF_10_NUMBER 186
213#define SPC5_FLEXCAN1_FLEXCAN_BUF_11_NUMBER 187
214#define SPC5_FLEXCAN1_FLEXCAN_BUF_12_NUMBER 188
215#define SPC5_FLEXCAN1_FLEXCAN_BUF_13_NUMBER 189
216#define SPC5_FLEXCAN1_FLEXCAN_BUF_14_NUMBER 190
217#define SPC5_FLEXCAN1_FLEXCAN_BUF_15_NUMBER 191
218#define SPC5_FLEXCAN1_FLEXCAN_BUF_16_31_NUMBER 192
219#define SPC5_FLEXCAN1_ENABLE_CLOCK()
220#define SPC5_FLEXCAN1_DISABLE_CLOCK()
221/** @} */
222
223#endif /* SPC5_REGISTRY_H */
224
225/** @} */