RTEMS  5.1
reg_lin.h
1 /* The header file is generated by make_header.py from LIN.json */
2 /* Current script's version can be found at: */
3 /* https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python */
4 
5 /*
6  * Copyright (c) 2014-2015, Premysl Houdek <kom541000@gmail.com>
7  *
8  * Czech Technical University in Prague
9  * Zikova 1903/4
10  * 166 36 Praha 6
11  * Czech Republic
12  *
13  * All rights reserved.
14  *
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions are met:
17  *
18  * 1. Redistributions of source code must retain the above copyright notice, this
19  * list of conditions and the following disclaimer.
20  * 2. Redistributions in binary form must reproduce the above copyright notice,
21  * this list of conditions and the following disclaimer in the documentation
22  * and/or other materials provided with the distribution.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
25  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
28  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  *
35  * The views and conclusions contained in the software and documentation are those
36  * of the authors and should not be interpreted as representing official policies,
37  * either expressed or implied, of the FreeBSD Project.
38 */
39 #ifndef LIBBSP_ARM_TMS570_LIN
40 #define LIBBSP_ARM_TMS570_LIN
41 
42 #include <bsp/utility.h>
43 
44 typedef struct{
45  uint32_t GCR0; /*SCI Global Control Register 0*/
46  uint32_t GCR1; /*SCI Global Control Register 1*/
47  uint32_t GCR2; /*SCI Global Control Register 2*/
48  uint32_t SETINT; /*SCI Set Interrupt Register*/
49  uint32_t CLEARINT; /*SCI Clear Interrupt Register*/
50  uint32_t SETINTLVL; /*SCI Set Interrupt Level Register*/
51  uint32_t CLEARINTLVL; /*SCI Clear Interrupt Level Register*/
52  uint32_t FLR; /*SCI Flags Register*/
53  uint32_t INTVECT0; /*SCI Interrupt Vector Offset 0*/
54  uint32_t INTVECT1; /*SCI Interrupt Vector Offset 1*/
55  uint32_t FORMAT; /*SCI Format Control Register*/
56  uint32_t BRS; /*Baud Rate Selection Register*/
57  uint32_t ED; /*Receiver Emulation Data Buffer*/
58  uint32_t RD; /*Receiver Data Buffer*/
59  uint32_t TD; /*Transmit Data Buffer*/
60  uint32_t PIO0; /*SCI Pin I/O Control Register 0*/
61  uint32_t PIO1; /*SCI Pin I/O Control Register 1*/
62  uint32_t PIO2; /*SCI Pin I/O Control Register 2*/
63  uint32_t PIO3; /*SCI Pin I/O Control Register 3*/
64  uint32_t PIO4; /*SCI Pin I/O Control Register 4*/
65  uint32_t PIO5; /*SCI Pin I/O Control Register 5*/
66  uint32_t PIO6; /*SCI Pin I/O Control Register 6*/
67  uint32_t PIO7; /*SCI Pin I/O Control Register 7*/
68  uint32_t PIO8; /*SCI Pin I/O Control Register 8*/
69  uint32_t COMP; /*LIN Compare Register*/
70  uint32_t RD0; /*LIN Receive Buffer 0 Register*/
71  uint32_t RD1; /*LIN Receive Buffer 1 Register*/
72  uint32_t MASK; /*LIN Mask Register*/
73  uint32_t ID; /*LIN Identification Register*/
74  uint32_t TD0; /*LIN Transmit Buffer 0*/
75  uint32_t TD1; /*LIN Transmit Buffer 1*/
76  uint32_t MBRSR; /*Maximum Baud Rate Selection Register*/
77  uint8_t reserved1 [16];
78  uint32_t IODFTCTRL; /*Input/Output Error Enable Register*/
79 } tms570_lin_t;
80 
81 
82 /*----------------------TMS570_LIN_GCR0----------------------*/
83 /* field: Reserved - Read returns 0. Writes have no effect. */
84 #define TMS570_LIN_GCR0_Reserved(val) BSP_FLD32(val,1, 31)
85 #define TMS570_LIN_GCR0_Reserved_GET(reg) BSP_FLD32GET(reg,1, 31)
86 #define TMS570_LIN_GCR0_Reserved_SET(reg,val) BSP_FLD32SET(reg, val,1, 31)
87 
88 /* field: RESET - This bit resets the SCI module. */
89 #define TMS570_LIN_GCR0_RESET BSP_BIT32(0)
90 
91 
92 /*----------------------TMS570_LIN_GCR1----------------------*/
93 /* field: TXENA - Transmit enable. */
94 #define TMS570_LIN_GCR1_TXENA BSP_BIT32(25)
95 
96 /* field: RXENA - Receive enable. RXENA allows or prevents the transfer of data from SCIRXSHF to SCIRD. */
97 #define TMS570_LIN_GCR1_RXENA BSP_BIT32(24)
98 
99 /* field: CONT - Continue on suspend. */
100 #define TMS570_LIN_GCR1_CONT BSP_BIT32(17)
101 
102 /* field: LOOP_BACK - Loopback bit. The self-checking option for the SCI can be selected with this bit. */
103 #define TMS570_LIN_GCR1_LOOP_BACK BSP_BIT32(16)
104 
105 /* field: POWERDOWN - If the POWERDOWN bit is set while the receiver is actively receiving data and the wake-up */
106 #define TMS570_LIN_GCR1_POWERDOWN BSP_BIT32(9)
107 
108 /* field: SLEEP - SCI sleep. In a multiprocessor configuration, this bit controls the receive sleep function. */
109 #define TMS570_LIN_GCR1_SLEEP BSP_BIT32(8)
110 
111 /* field: SWnRST - Software reset (active low). This bit is effective in LIN and SCI modes. */
112 #define TMS570_LIN_GCR1_SWnRST BSP_BIT32(7)
113 
114 /* field: CLOCK - CLOCK */
115 #define TMS570_LIN_GCR1_CLOCK BSP_BIT32(5)
116 
117 /* field: STOP - SCI number of stop bits per frame. */
118 #define TMS570_LIN_GCR1_STOP BSP_BIT32(4)
119 
120 /* field: PARITY - SCI parity odd/even selection. If the PARITY ENA bit is set, PARITY designates odd or even parity. */
121 #define TMS570_LIN_GCR1_PARITY BSP_BIT32(3)
122 
123 /* field: PARITY_ENA - Parity enable. This bit enables or disables the parity function. */
124 #define TMS570_LIN_GCR1_PARITY_ENA BSP_BIT32(2)
125 
126 /* field: TIMING_MODE - SCI timing mode bit. */
127 #define TMS570_LIN_GCR1_TIMING_MODE BSP_BIT32(1)
128 
129 /* field: COMM_MODE - SCI communication mode bit. */
130 #define TMS570_LIN_GCR1_COMM_MODE BSP_BIT32(0)
131 
132 
133 /*----------------------TMS570_LIN_GCR2----------------------*/
134 /* field: CC - Compare checksum. LIN mode only. */
135 #define TMS570_LIN_GCR2_CC BSP_BIT32(17)
136 
137 /* field: SC - Send checksum byte. This bit is effective in LIN mode only. */
138 #define TMS570_LIN_GCR2_SC BSP_BIT32(16)
139 
140 /* field: GEN_WU - Generate wakeup signal. This bit is effective in LIN mode only. */
141 #define TMS570_LIN_GCR2_GEN_WU BSP_BIT32(8)
142 
143 /* field: POWERDOWN - Power down. This bit is effective in LIN or SCI mode. */
144 #define TMS570_LIN_GCR2_POWERDOWN BSP_BIT32(0)
145 
146 
147 /*---------------------TMS570_LIN_SETINT---------------------*/
148 /* field: SET_FE_INT - */
149 #define TMS570_LIN_SETINT_SET_FE_INT BSP_BIT32(26)
150 
151 /* field: SET_OE_INT - SET OE INT */
152 #define TMS570_LIN_SETINT_SET_OE_INT BSP_BIT32(25)
153 
154 /* field: SET_PE_INT - Set parity interrupt. */
155 #define TMS570_LIN_SETINT_SET_PE_INT BSP_BIT32(24)
156 
157 /* field: SET_RX_DMA_ALL - SET RX DMA ALL */
158 #define TMS570_LIN_SETINT_SET_RX_DMA_ALL BSP_BIT32(18)
159 
160 /* field: SET_RX_DMA - SET RX DMA */
161 #define TMS570_LIN_SETINT_SET_RX_DMA BSP_BIT32(17)
162 
163 /* field: SET_TX_DMA - Set transmit DMA. To enable DMA requests for the transmitter, this bit must be set. */
164 #define TMS570_LIN_SETINT_SET_TX_DMA BSP_BIT32(16)
165 
166 /* field: SET_RX_INT - SET RX INT */
167 #define TMS570_LIN_SETINT_SET_RX_INT BSP_BIT32(9)
168 
169 /* field: SET_TX_INT - Set transmitter interrupt. */
170 #define TMS570_LIN_SETINT_SET_TX_INT BSP_BIT32(8)
171 
172 /* field: SET_WAKEUP_INT - Set wakeup interrupt. */
173 #define TMS570_LIN_SETINT_SET_WAKEUP_INT BSP_BIT32(1)
174 
175 /* field: SET_BRKDT_INT - Set breakdetect interrupt. */
176 #define TMS570_LIN_SETINT_SET_BRKDT_INT BSP_BIT32(0)
177 
178 
179 /*--------------------TMS570_LIN_CLEARINT--------------------*/
180 /* field: CLR_FE_INT - Clear framing-error interrupt. This bit disables the framing-error interrupt when set. */
181 #define TMS570_LIN_CLEARINT_CLR_FE_INT BSP_BIT32(26)
182 
183 /* field: CLR_CE_INT - Clear overrun-error interrupt. This bit disables the SCI overrun error interrupt when set. */
184 #define TMS570_LIN_CLEARINT_CLR_CE_INT BSP_BIT32(25)
185 
186 /* field: CLR_PE_INT - Clear parity interrupt. This bit disables the parity error interrupt when set. */
187 #define TMS570_LIN_CLEARINT_CLR_PE_INT BSP_BIT32(24)
188 
189 /* field: CLR_RX_DMA_ALL - Clear receive DMA all. This bit clears the receive DMA request for address frames when set. */
190 #define TMS570_LIN_CLEARINT_CLR_RX_DMA_ALL BSP_BIT32(18)
191 
192 /* field: CLR_RX_DMA - Clear receive DMA request. This bit disables the receive DMA request when set. */
193 #define TMS570_LIN_CLEARINT_CLR_RX_DMA BSP_BIT32(17)
194 
195 /* field: CLR_TX_DMA - CLR TX DMA */
196 #define TMS570_LIN_CLEARINT_CLR_TX_DMA BSP_BIT32(16)
197 
198 /* field: CLR_RX_INT - Clear receiver interrupt. This bit disables the receiver interrupt when set. */
199 #define TMS570_LIN_CLEARINT_CLR_RX_INT BSP_BIT32(9)
200 
201 /* field: CLR_TX_INT - Clear transmitter interrupt. This bit disables the transmitter interrupt when set. */
202 #define TMS570_LIN_CLEARINT_CLR_TX_INT BSP_BIT32(8)
203 
204 /* field: CLR_WAKEUP_INT - Clear wakeup interrupt. This bit disables the wakeup interrupt when set. */
205 #define TMS570_LIN_CLEARINT_CLR_WAKEUP_INT BSP_BIT32(1)
206 
207 /* field: CLR_BRKDT_INT - Clear breakdetect interrupt. This bit disables the break-detect interrupt when set. */
208 #define TMS570_LIN_CLEARINT_CLR_BRKDT_INT BSP_BIT32(0)
209 
210 
211 /*--------------------TMS570_LIN_SETINTLVL--------------------*/
212 /* field: SET_FE_INT_LVL - Set framing-error interrupt level. */
213 #define TMS570_LIN_SETINTLVL_SET_FE_INT_LVL BSP_BIT32(26)
214 
215 /* field: SET_CE_INT_LVL - Set overrun-error interrupt level. */
216 #define TMS570_LIN_SETINTLVL_SET_CE_INT_LVL BSP_BIT32(25)
217 
218 /* field: SET_PE_INT_LVL - Set parity error interrupt level. */
219 #define TMS570_LIN_SETINTLVL_SET_PE_INT_LVL BSP_BIT32(24)
220 
221 /* field: SET_RX_DMA_ALL_LVL - Set receive DMA all interrupt levels. */
222 #define TMS570_LIN_SETINTLVL_SET_RX_DMA_ALL_LVL BSP_BIT32(18)
223 
224 /* field: SET_RX_INT_LVL - Set receiver interrupt level. */
225 #define TMS570_LIN_SETINTLVL_SET_RX_INT_LVL BSP_BIT32(9)
226 
227 /* field: SET_TX_INT_LVL - Set transmitter interrupt level. */
228 #define TMS570_LIN_SETINTLVL_SET_TX_INT_LVL BSP_BIT32(8)
229 
230 /* field: SET_WAKEUP_INT_LVL - Set wakeup interrupt level. */
231 #define TMS570_LIN_SETINTLVL_SET_WAKEUP_INT_LVL BSP_BIT32(1)
232 
233 /* field: SET_BRKDT_INT_LVL - SET BRKDT INT LVL */
234 #define TMS570_LIN_SETINTLVL_SET_BRKDT_INT_LVL BSP_BIT32(0)
235 
236 
237 /*-------------------TMS570_LIN_CLEARINTLVL-------------------*/
238 /* field: CLR_FE_INT_LVL - Clear framing-error interrupt. */
239 #define TMS570_LIN_CLEARINTLVL_CLR_FE_INT_LVL BSP_BIT32(26)
240 
241 /* field: CLR_CE_INT_LVL - CLR CE INT LVL */
242 #define TMS570_LIN_CLEARINTLVL_CLR_CE_INT_LVL BSP_BIT32(25)
243 
244 /* field: CLR_CE_INT_LVL - CLR CE INT LVL */
245 #define TMS570_LIN_CLEARINTLVL_CLR_CE_INT_LVL BSP_BIT32(25)
246 
247 /* field: CLR_PE_INT_LVL - */
248 #define TMS570_LIN_CLEARINTLVL_CLR_PE_INT_LVL BSP_BIT32(24)
249 
250 /* field: CLR_RX_DMA_ALL_LVL - Clear receive DMA interrupt level. */
251 #define TMS570_LIN_CLEARINTLVL_CLR_RX_DMA_ALL_LVL BSP_BIT32(18)
252 
253 /* field: CLR_RX_INT_LVL - Clear receiver interrupt. */
254 #define TMS570_LIN_CLEARINTLVL_CLR_RX_INT_LVL BSP_BIT32(9)
255 
256 /* field: 8 - CLR TX INT LVL Clear transmitter interrupt. */
257 #define TMS570_LIN_CLEARINTLVL_8 BSP_BIT32(8)
258 
259 /* field: CLR_WAKEUP_INT_LVL - Clear wakeup interrupt. */
260 #define TMS570_LIN_CLEARINTLVL_CLR_WAKEUP_INT_LVL BSP_BIT32(1)
261 
262 /* field: CLR_BRKDT_INT_LVL - Clear breakdetect interrupt. */
263 #define TMS570_LIN_CLEARINTLVL_CLR_BRKDT_INT_LVL BSP_BIT32(0)
264 
265 
266 /*-----------------------TMS570_LIN_FLR-----------------------*/
267 /* field: FE - Framing error flag. This bit is effective in LIN or SCI-compatible mode. */
268 #define TMS570_LIN_FLR_FE BSP_BIT32(26)
269 
270 /* field: OE - Overrun error flag. */
271 #define TMS570_LIN_FLR_OE BSP_BIT32(25)
272 
273 /* field: PE - Parity error flag. This bit is set when a parity error is detected in the received data. */
274 #define TMS570_LIN_FLR_PE BSP_BIT32(24)
275 
276 /* field: RXWAKE - Receiver wakeup detect flag. */
277 #define TMS570_LIN_FLR_RXWAKE BSP_BIT32(12)
278 
279 /* field: TX_EMPTY - Transmitter empty flag. */
280 #define TMS570_LIN_FLR_TX_EMPTY BSP_BIT32(11)
281 
282 /* field: TXWAKE - Transmitter wakeup method select. */
283 #define TMS570_LIN_FLR_TXWAKE BSP_BIT32(10)
284 
285 /* field: RXRDY - Receiver ready flag. */
286 #define TMS570_LIN_FLR_RXRDY BSP_BIT32(9)
287 
288 /* field: TXRDY - Transmitter buffer register ready flag. */
289 #define TMS570_LIN_FLR_TXRDY BSP_BIT32(8)
290 
291 /* field: BUSY - Bus busy flag. TThis bit indicates whether the receiver is in the process of receiving a frame. */
292 #define TMS570_LIN_FLR_BUSY BSP_BIT32(3)
293 
294 /* field: IDLE - SCI receiver in idle state. */
295 #define TMS570_LIN_FLR_IDLE BSP_BIT32(2)
296 
297 /* field: WAKEUP - Wakeup flag. */
298 #define TMS570_LIN_FLR_WAKEUP BSP_BIT32(1)
299 
300 /* field: BRKDT - SCI break-detect flag. This bit is set when the SCI detects a break condition on the LINRX pin. */
301 #define TMS570_LIN_FLR_BRKDT BSP_BIT32(0)
302 
303 
304 /*--------------------TMS570_LIN_INTVECT0--------------------*/
305 /* field: INVECT0 - Interrupt vector offset for INT0. This register indicates the offset for interrupt line INT0. */
306 #define TMS570_LIN_INTVECT0_INVECT0(val) BSP_FLD32(val,0, 3)
307 #define TMS570_LIN_INTVECT0_INVECT0_GET(reg) BSP_FLD32GET(reg,0, 3)
308 #define TMS570_LIN_INTVECT0_INVECT0_SET(reg,val) BSP_FLD32SET(reg, val,0, 3)
309 
310 
311 /*--------------------TMS570_LIN_INTVECT1--------------------*/
312 /* field: INVECT1 - Interrupt vector offset for INT1. This register indicates the offset for interrupt line INT1. */
313 #define TMS570_LIN_INTVECT1_INVECT1(val) BSP_FLD32(val,0, 3)
314 #define TMS570_LIN_INTVECT1_INVECT1_GET(reg) BSP_FLD32GET(reg,0, 3)
315 #define TMS570_LIN_INTVECT1_INVECT1_SET(reg,val) BSP_FLD32SET(reg, val,0, 3)
316 
317 
318 /*---------------------TMS570_LIN_FORMAT---------------------*/
319 /* field: CHAR - Character length control bits. These bits set the SCI character length from 1 to 8 bits. */
320 #define TMS570_LIN_FORMAT_CHAR(val) BSP_FLD32(val,0, 2)
321 #define TMS570_LIN_FORMAT_CHAR_GET(reg) BSP_FLD32GET(reg,0, 2)
322 #define TMS570_LIN_FORMAT_CHAR_SET(reg,val) BSP_FLD32SET(reg, val,0, 2)
323 
324 
325 /*-----------------------TMS570_LIN_BRS-----------------------*/
326 /* field: BAUD - SCI 24-bit baud selection. */
327 #define TMS570_LIN_BRS_BAUD(val) BSP_FLD32(val,0, 23)
328 #define TMS570_LIN_BRS_BAUD_GET(reg) BSP_FLD32GET(reg,0, 23)
329 #define TMS570_LIN_BRS_BAUD_SET(reg,val) BSP_FLD32SET(reg, val,0, 23)
330 
331 
332 /*-----------------------TMS570_LIN_ED-----------------------*/
333 /* field: ED - Emulator data. Reading SCIED[7:0] does not clear the RXRDY flag, unlike reading SCIRD. */
334 #define TMS570_LIN_ED_ED(val) BSP_FLD32(val,0, 7)
335 #define TMS570_LIN_ED_ED_GET(reg) BSP_FLD32GET(reg,0, 7)
336 #define TMS570_LIN_ED_ED_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
337 
338 
339 /*-----------------------TMS570_LIN_RD-----------------------*/
340 /* field: RD - Receiver data. */
341 #define TMS570_LIN_RD_RD(val) BSP_FLD32(val,0, 7)
342 #define TMS570_LIN_RD_RD_GET(reg) BSP_FLD32GET(reg,0, 7)
343 #define TMS570_LIN_RD_RD_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
344 
345 
346 /*-----------------------TMS570_LIN_TD-----------------------*/
347 /* field: TD - Transmit data. Data to be transmitted is written to the SCITD register. */
348 #define TMS570_LIN_TD_TD(val) BSP_FLD32(val,0, 7)
349 #define TMS570_LIN_TD_TD_GET(reg) BSP_FLD32GET(reg,0, 7)
350 #define TMS570_LIN_TD_TD_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
351 
352 
353 /*----------------------TMS570_LIN_PIO0----------------------*/
354 /* field: TX_FUNC - Transfer function. This bit defines the function of pin SCITX. */
355 #define TMS570_LIN_PIO0_TX_FUNC BSP_BIT32(2)
356 
357 /* field: RX_FUNC - Receive function.This bit defines the function of pin SCIRX. */
358 #define TMS570_LIN_PIO0_RX_FUNC BSP_BIT32(1)
359 
360 
361 /*----------------------TMS570_LIN_PIO1----------------------*/
362 /* field: TX_DIR - Transmit pin direction. */
363 #define TMS570_LIN_PIO1_TX_DIR BSP_BIT32(2)
364 
365 /* field: RX_DIR - Receive pin direction. */
366 #define TMS570_LIN_PIO1_RX_DIR BSP_BIT32(1)
367 
368 
369 /*----------------------TMS570_LIN_PIO2----------------------*/
370 /* field: TX_IN - Transmit pin in. This bit contains the current value on the SCITX pin. */
371 #define TMS570_LIN_PIO2_TX_IN BSP_BIT32(2)
372 
373 /* field: RX_IN - Receive pin in. This bit contains the current value on the SCIRX pin. */
374 #define TMS570_LIN_PIO2_RX_IN BSP_BIT32(1)
375 
376 
377 /*----------------------TMS570_LIN_PIO3----------------------*/
378 /* field: TX_OUT - Transmit pin out. */
379 #define TMS570_LIN_PIO3_TX_OUT BSP_BIT32(2)
380 
381 /* field: RX_OUT - Receive pin out. */
382 #define TMS570_LIN_PIO3_RX_OUT BSP_BIT32(1)
383 
384 
385 /*----------------------TMS570_LIN_PIO4----------------------*/
386 /* field: TX_SET - Transmit pin set. */
387 #define TMS570_LIN_PIO4_TX_SET BSP_BIT32(2)
388 
389 /* field: RX_SET - Receive pin set. */
390 #define TMS570_LIN_PIO4_RX_SET BSP_BIT32(1)
391 
392 
393 /*----------------------TMS570_LIN_PIO5----------------------*/
394 /* field: TX_CLR - Transmit pin clear. */
395 #define TMS570_LIN_PIO5_TX_CLR BSP_BIT32(2)
396 
397 /* field: RX_CLR - Receive pin clear. */
398 #define TMS570_LIN_PIO5_RX_CLR BSP_BIT32(1)
399 
400 
401 /*----------------------TMS570_LIN_PIO6----------------------*/
402 /* field: TX_PDR - Transmit pin open drain enable. */
403 #define TMS570_LIN_PIO6_TX_PDR BSP_BIT32(2)
404 
405 /* field: RX_PDR - Receive pin open drain enable. */
406 #define TMS570_LIN_PIO6_RX_PDR BSP_BIT32(1)
407 
408 
409 /*----------------------TMS570_LIN_PIO7----------------------*/
410 /* field: TX_PD - Transmit pin pull control disable. This bit disables pull control capability on the input pin SCITX. */
411 #define TMS570_LIN_PIO7_TX_PD BSP_BIT32(2)
412 
413 /* field: RX_PD - Receive pin pull control disable. This bit disables pull control capability on the input pin SCIRX. */
414 #define TMS570_LIN_PIO7_RX_PD BSP_BIT32(1)
415 
416 
417 /*----------------------TMS570_LIN_PIO8----------------------*/
418 /* field: TX_PSL - TX pin pull select. This bit selects pull type in the input pin SCITX. */
419 #define TMS570_LIN_PIO8_TX_PSL BSP_BIT32(2)
420 
421 /* field: RX_PSL - RX pin pull select. This bit selects pull type in the input pin SCIRX. */
422 #define TMS570_LIN_PIO8_RX_PSL BSP_BIT32(1)
423 
424 
425 /*----------------------TMS570_LIN_COMP----------------------*/
426 /* field: SDEL - 2-bit synch delimiter compare. These bits are effective in LIN mode only. */
427 #define TMS570_LIN_COMP_SDEL(val) BSP_FLD32(val,8, 9)
428 #define TMS570_LIN_COMP_SDEL_GET(reg) BSP_FLD32GET(reg,8, 9)
429 #define TMS570_LIN_COMP_SDEL_SET(reg,val) BSP_FLD32SET(reg, val,8, 9)
430 
431 /* field: SBREAK - Synch break extend. These bits are effective in LIN mode only. */
432 #define TMS570_LIN_COMP_SBREAK(val) BSP_FLD32(val,0, 2)
433 #define TMS570_LIN_COMP_SBREAK_GET(reg) BSP_FLD32GET(reg,0, 2)
434 #define TMS570_LIN_COMP_SBREAK_SET(reg,val) BSP_FLD32SET(reg, val,0, 2)
435 
436 
437 /*-----------------------TMS570_LIN_RD0-----------------------*/
438 /* field: RD0 - Receive buffer 0. Byte 0 of the response data byte. */
439 #define TMS570_LIN_RD0_RD0(val) BSP_FLD32(val,24, 31)
440 #define TMS570_LIN_RD0_RD0_GET(reg) BSP_FLD32GET(reg,24, 31)
441 #define TMS570_LIN_RD0_RD0_SET(reg,val) BSP_FLD32SET(reg, val,24, 31)
442 
443 /* field: RD1 - Receive buffer 1. Byte 1 of the response data byte. */
444 #define TMS570_LIN_RD0_RD1(val) BSP_FLD32(val,16, 23)
445 #define TMS570_LIN_RD0_RD1_GET(reg) BSP_FLD32GET(reg,16, 23)
446 #define TMS570_LIN_RD0_RD1_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
447 
448 /* field: RD2 - Receive buffer 2. Byte 2 of the response data byte. */
449 #define TMS570_LIN_RD0_RD2(val) BSP_FLD32(val,8, 15)
450 #define TMS570_LIN_RD0_RD2_GET(reg) BSP_FLD32GET(reg,8, 15)
451 #define TMS570_LIN_RD0_RD2_SET(reg,val) BSP_FLD32SET(reg, val,8, 15)
452 
453 /* field: RD3 - Receive buffer 3. Byte 3 of the response data byte. */
454 #define TMS570_LIN_RD0_RD3(val) BSP_FLD32(val,0, 7)
455 #define TMS570_LIN_RD0_RD3_GET(reg) BSP_FLD32GET(reg,0, 7)
456 #define TMS570_LIN_RD0_RD3_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
457 
458 
459 /*-----------------------TMS570_LIN_RD1-----------------------*/
460 /* field: RD4 - Receive buffer 4. Byte 4 of the response data byte. */
461 #define TMS570_LIN_RD1_RD4(val) BSP_FLD32(val,24, 31)
462 #define TMS570_LIN_RD1_RD4_GET(reg) BSP_FLD32GET(reg,24, 31)
463 #define TMS570_LIN_RD1_RD4_SET(reg,val) BSP_FLD32SET(reg, val,24, 31)
464 
465 /* field: RD5 - Receive buffer 5. Byte 5 of the response data byte. */
466 #define TMS570_LIN_RD1_RD5(val) BSP_FLD32(val,16, 23)
467 #define TMS570_LIN_RD1_RD5_GET(reg) BSP_FLD32GET(reg,16, 23)
468 #define TMS570_LIN_RD1_RD5_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
469 
470 /* field: RD6 - Receive buffer 6. Byte 6 of the response data byte. */
471 #define TMS570_LIN_RD1_RD6(val) BSP_FLD32(val,8, 15)
472 #define TMS570_LIN_RD1_RD6_GET(reg) BSP_FLD32GET(reg,8, 15)
473 #define TMS570_LIN_RD1_RD6_SET(reg,val) BSP_FLD32SET(reg, val,8, 15)
474 
475 /* field: RD7 - Receive buffer 7. Byte 7 of the response data byte. */
476 #define TMS570_LIN_RD1_RD7(val) BSP_FLD32(val,0, 7)
477 #define TMS570_LIN_RD1_RD7_GET(reg) BSP_FLD32GET(reg,0, 7)
478 #define TMS570_LIN_RD1_RD7_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
479 
480 
481 /*----------------------TMS570_LIN_MASK----------------------*/
482 /* field: RX_ID_MASK - Receive ID mask. These bits are effective in LIN mode only. */
483 #define TMS570_LIN_MASK_RX_ID_MASK(val) BSP_FLD32(val,16, 23)
484 #define TMS570_LIN_MASK_RX_ID_MASK_GET(reg) BSP_FLD32GET(reg,16, 23)
485 #define TMS570_LIN_MASK_RX_ID_MASK_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
486 
487 /* field: TX_ID_MASK - Transmit ID mask. These bits are effective in LIN mode only. */
488 #define TMS570_LIN_MASK_TX_ID_MASK(val) BSP_FLD32(val,0, 7)
489 #define TMS570_LIN_MASK_TX_ID_MASK_GET(reg) BSP_FLD32GET(reg,0, 7)
490 #define TMS570_LIN_MASK_TX_ID_MASK_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
491 
492 
493 /*-----------------------TMS570_LIN_ID-----------------------*/
494 /* field: RECEIVED_ID - Received identification. These bits are effective in LIN mode only. */
495 #define TMS570_LIN_ID_RECEIVED_ID(val) BSP_FLD32(val,16, 23)
496 #define TMS570_LIN_ID_RECEIVED_ID_GET(reg) BSP_FLD32GET(reg,16, 23)
497 #define TMS570_LIN_ID_RECEIVED_ID_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
498 
499 /* field: ID_SLAVETASK_BYTE - ID-SlaveTask Byte. These bits are effective in LIN mode only. */
500 #define TMS570_LIN_ID_ID_SLAVETASK_BYTE(val) BSP_FLD32(val,8, 15)
501 #define TMS570_LIN_ID_ID_SLAVETASK_BYTE_GET(reg) BSP_FLD32GET(reg,8, 15)
502 #define TMS570_LIN_ID_ID_SLAVETASK_BYTE_SET(reg,val) BSP_FLD32SET(reg, val,8, 15)
503 
504 /* field: ID_BYTE - ID byte. This field is effective in LIN mode only. This byte is the LIN mode message ID. */
505 #define TMS570_LIN_ID_ID_BYTE(val) BSP_FLD32(val,0, 7)
506 #define TMS570_LIN_ID_ID_BYTE_GET(reg) BSP_FLD32GET(reg,0, 7)
507 #define TMS570_LIN_ID_ID_BYTE_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
508 
509 
510 /*-----------------------TMS570_LIN_TD0-----------------------*/
511 /* field: TD0 - 8-Bit transmit buffer 0. */
512 #define TMS570_LIN_TD0_TD0(val) BSP_FLD32(val,24, 31)
513 #define TMS570_LIN_TD0_TD0_GET(reg) BSP_FLD32GET(reg,24, 31)
514 #define TMS570_LIN_TD0_TD0_SET(reg,val) BSP_FLD32SET(reg, val,24, 31)
515 
516 /* field: TD1 - 8-Bit transmit buffer 1. */
517 #define TMS570_LIN_TD0_TD1(val) BSP_FLD32(val,16, 23)
518 #define TMS570_LIN_TD0_TD1_GET(reg) BSP_FLD32GET(reg,16, 23)
519 #define TMS570_LIN_TD0_TD1_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
520 
521 /* field: TD2 - 8-Bit transmit buffer 2. */
522 #define TMS570_LIN_TD0_TD2(val) BSP_FLD32(val,8, 15)
523 #define TMS570_LIN_TD0_TD2_GET(reg) BSP_FLD32GET(reg,8, 15)
524 #define TMS570_LIN_TD0_TD2_SET(reg,val) BSP_FLD32SET(reg, val,8, 15)
525 
526 /* field: TD3 - 8-Bit transmit buffer 3. */
527 #define TMS570_LIN_TD0_TD3(val) BSP_FLD32(val,0, 7)
528 #define TMS570_LIN_TD0_TD3_GET(reg) BSP_FLD32GET(reg,0, 7)
529 #define TMS570_LIN_TD0_TD3_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
530 
531 
532 /*-----------------------TMS570_LIN_TD1-----------------------*/
533 /* field: TD4 - 8-Bit transmit buffer 4. */
534 #define TMS570_LIN_TD1_TD4(val) BSP_FLD32(val,24, 31)
535 #define TMS570_LIN_TD1_TD4_GET(reg) BSP_FLD32GET(reg,24, 31)
536 #define TMS570_LIN_TD1_TD4_SET(reg,val) BSP_FLD32SET(reg, val,24, 31)
537 
538 /* field: TD5 - 8-Bit transmit buffer 5. */
539 #define TMS570_LIN_TD1_TD5(val) BSP_FLD32(val,16, 23)
540 #define TMS570_LIN_TD1_TD5_GET(reg) BSP_FLD32GET(reg,16, 23)
541 #define TMS570_LIN_TD1_TD5_SET(reg,val) BSP_FLD32SET(reg, val,16, 23)
542 
543 /* field: TD6 - 8-Bit transmit buffer 6. */
544 #define TMS570_LIN_TD1_TD6(val) BSP_FLD32(val,8, 15)
545 #define TMS570_LIN_TD1_TD6_GET(reg) BSP_FLD32GET(reg,8, 15)
546 #define TMS570_LIN_TD1_TD6_SET(reg,val) BSP_FLD32SET(reg, val,8, 15)
547 
548 /* field: TD7 - 8-Bit transmit buffer 7. */
549 #define TMS570_LIN_TD1_TD7(val) BSP_FLD32(val,0, 7)
550 #define TMS570_LIN_TD1_TD7_GET(reg) BSP_FLD32GET(reg,0, 7)
551 #define TMS570_LIN_TD1_TD7_SET(reg,val) BSP_FLD32SET(reg, val,0, 7)
552 
553 
554 /*----------------------TMS570_LIN_MBRSR----------------------*/
555 /* field: MBR - Maximum baud rate prescaler. This bit is effective in LIN mode only. */
556 #define TMS570_LIN_MBRSR_MBR(val) BSP_FLD32(val,0, 12)
557 #define TMS570_LIN_MBRSR_MBR_GET(reg) BSP_FLD32GET(reg,0, 12)
558 #define TMS570_LIN_MBRSR_MBR_SET(reg,val) BSP_FLD32SET(reg, val,0, 12)
559 
560 
561 /*--------------------TMS570_LIN_IODFTCTRL--------------------*/
562 /* field: FEN - Frame error enable. This bit is used to create a frame error. */
563 #define TMS570_LIN_IODFTCTRL_FEN BSP_BIT32(26)
564 
565 /* field: PEN - Parity error enable. This bit is used to create a parity error. */
566 #define TMS570_LIN_IODFTCTRL_PEN BSP_BIT32(25)
567 
568 /* field: BRKD_TENA - Break detect error enable. This bit is used to create a BRKDT error. */
569 #define TMS570_LIN_IODFTCTRL_BRKD_TENA BSP_BIT32(24)
570 
571 /* field: PIN_SAMPLE_MASK - Pin sample mask. */
572 #define TMS570_LIN_IODFTCTRL_PIN_SAMPLE_MASK(val) BSP_FLD32(val,19, 20)
573 #define TMS570_LIN_IODFTCTRL_PIN_SAMPLE_MASK_GET(reg) BSP_FLD32GET(reg,19, 20)
574 #define TMS570_LIN_IODFTCTRL_PIN_SAMPLE_MASK_SET(reg,val) BSP_FLD32SET(reg, val,19, 20)
575 
576 /* field: TX_SHIFT - Transmit shift. */
577 #define TMS570_LIN_IODFTCTRL_TX_SHIFT(val) BSP_FLD32(val,16, 18)
578 #define TMS570_LIN_IODFTCTRL_TX_SHIFT_GET(reg) BSP_FLD32GET(reg,16, 18)
579 #define TMS570_LIN_IODFTCTRL_TX_SHIFT_SET(reg,val) BSP_FLD32SET(reg, val,16, 18)
580 
581 /* field: IODFTENA - IODFT enable key. Write access permitted in Privilege mode only. */
582 #define TMS570_LIN_IODFTCTRL_IODFTENA(val) BSP_FLD32(val,8, 11)
583 #define TMS570_LIN_IODFTCTRL_IODFTENA_GET(reg) BSP_FLD32GET(reg,8, 11)
584 #define TMS570_LIN_IODFTCTRL_IODFTENA_SET(reg,val) BSP_FLD32SET(reg, val,8, 11)
585 
586 /* field: LPBENA - Module loopback enable. Write access permitted in Privilege mode only. */
587 #define TMS570_LIN_IODFTCTRL_LPBENA BSP_BIT32(1)
588 
589 /* field: RXPENA - Module analog loopback through receive pin enable. */
590 #define TMS570_LIN_IODFTCTRL_RXPENA BSP_BIT32(0)
591 
592 
593 
594 #endif /* LIBBSP_ARM_TMS570_LIN */
Utility macros.
Definition: reg_lin.h:44