source: rtems/c/src/lib/libbsp/m68k/gen68340/include/m340uart.h @ 9b4422a2

4.115
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on 05/03/12 at 15:09:24

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*
2 *  Header file for console driver
3 *  defines for accessing M68340/68349 UART registers
4 *
5 *  Author:
6 *  Geoffroy Montel
7 *  France Telecom - CNET/DSM/TAM/CAT
8 *  4, rue du Clos Courtel
9 *  35512 CESSON-SEVIGNE
10 *  FRANCE
11 *
12 *  e-mail: g_montel@yahoo.com
13 *
14 *
15 *  COPYRIGHT (c) 1989-2008.
16 *  On-Line Applications Research Corporation (OAR).
17 *
18 *  The license and distribution terms for this file may be
19 *  found in the file LICENSE in this distribution or at
20 *  http://www.rtems.com/license/LICENSE.
21 */
22
23#ifndef __m340uart_H__
24#define __m340uart_H__
25
26/* UART initialisation */
27#define UART_CHANNEL_A                  0
28#define UART_CHANNEL_B                  1
29#define UART_NUMBER_OF_CHANNELS         2
30#define UART_CONSOLE_NAME               "/dev/console"
31#define UART_RAW_IO_NAME                "/dev/tty1"
32#define UART_FIFO_FULL                  0
33#define UART_CRR                        1
34#define UART_INTERRUPTS                 0
35#define UART_POLLING                    1
36#define UART_TERMIOS_CONSOLE            0
37#define UART_TERMIOS_RAW                1
38#define UART_TERMIOS_MIN_DEFAULT        1
39#define UART_TERMIOS_TIME_DEFAULT       0
40
41void Init_UART_Table(void);
42
43typedef struct {
44                uint8_t                 enable;
45                uint16_t                rx_buffer_size; /* NOT IMPLEMENTED */
46                uint16_t                tx_buffer_size; /* NOT IMPLEMENTED */
47               } uart_termios_config;
48
49typedef struct { /* for one channel */
50                uint8_t                 enable;         /* use this channel */
51                char                    name[64];       /* use UART_CONSOLE_NAME for console purpose */
52                uint8_t                 parity_mode;    /* parity mode, see MR1 section for defines */
53                uint8_t                 bits_per_char;  /* bits per character, see MR1 section for defines  */
54                float                   rx_baudrate;    /* Rx baudrate */
55                float                   tx_baudrate;    /* Tx baudrate */
56                uint8_t                 rx_mode;        /* FIFO Full (UART_FIFO_FULL) or ChannelReceiverReady (UART_CRR) */
57                uint8_t                 mode;           /* use interrupts (UART_INTERRUPTS) or polling (UART_POLLING) */
58                uart_termios_config     termios;
59               } uart_channel_config;
60
61extern uart_channel_config              m340_uart_config[UART_NUMBER_OF_CHANNELS];
62
63typedef  struct {
64                 int    set;    /* number of the m340 baud speed set */
65                 int    rcs;    /* RCS for the needed baud set */
66                 int    tcs;    /* TCS for the needed baud set */
67                } t_baud_speed;
68
69typedef  struct {
70                 t_baud_speed   baud_speed_table[2];
71                 short          nb;
72                } t_baud_speed_table;
73
74extern t_baud_speed_table
75Find_Right_m340_UART_Config(float ChannelA_ReceiverBaudRate, float ChannelA_TransmitterBaudRate, uint8_t         enableA,
76                            float ChannelB_ReceiverBaudRate, float ChannelB_TransmitterBaudRate, uint8_t         enableB);
77
78extern rtems_isr InterruptHandler (rtems_vector_number v);
79
80extern int dbugRead (int minor);
81extern ssize_t dbugWrite (int minor, const char *buf, size_t len);
82
83extern float m340_Baud_Rates_Table[16][2];
84
85/*  SR */
86#define m340_Rx_RDY             1
87#define m340_FFULL              (1<<1)
88#define m340_Tx_RDY             (1<<2)
89#define m340_TxEMP              (1<<3)
90#define m340_OE                 (1<<4)
91#define m340_PE                 (1<<5)
92#define m340_FE                 (1<<6)
93#define m340_RB                 (1<<7)
94
95/*  IER */
96#define m340_TxRDYA             1
97#define m340_RxRDYA             (1<<1)
98#define m340_TxRxRDYA           0x3
99#define m340_TxRDYB             (1<<4)
100#define m340_RxRDYB             (1<<5)
101#define m340_TxRxRDYB           0x30
102
103/*  CR */
104#define m340_Reset_Error_Status 0x40
105#define m340_Reset_Receiver     0x20
106#define m340_Reset_Transmitter  0x30
107#define m340_Transmitter_Enable (1<<2)
108#define m340_Receiver_Enable    1
109#define m340_Transmitter_Disable (2<<2)
110#define m340_Receiver_Disable   2
111
112/*  ACR */
113#define m340_BRG_Set1           0
114#define m340_BRG_Set2           (1<<7)
115
116/*  OPCR */
117#define m340_OPCR_Gal           0x0
118#define m340_OPCR_Aux           0xFF
119
120/*  ISR */
121#define m340_COS                (1<<7)
122#define m340_DBB                (1<<6)
123#define m340_XTAL_RDY           (1<<3)
124#define m340_DBA                (1<<2)
125
126/*  MR1 */
127#define m340_RxRTS              (1<<7)
128#define m340_R_F                (1<<6)          /* character or block mode */
129#define m340_ERR                (1<<5)
130#define m340_RxRTX              (1<<7)
131#define m340_Even_Parity        0
132#define m340_Odd_Parity         (1<<2)
133#define m340_Low_Parity         (2<<2)
134#define m340_High_Parity        (3<<2)
135#define m340_No_Parity          (4<<2)
136#define m340_Data_Character     (6<<2)
137#define m340_Address_Character  (7<<2)
138#define m340_5bpc               0x0
139#define m340_6bpc               0x1
140#define m340_7bpc               0x2
141#define m340_8bpc               0x3
142
143/*  MR2 */
144#define m340_normal             (0<<6)
145#define m340_automatic_echo     (1<<6)
146#define m340_local_loopback     (2<<6)
147#define m340_remote_loopback    (3<<6)
148#define m340_TxRTS              (1<<5)
149#define m340_TxCTS              (1<<4)
150
151/* Baud rates for Transmitter/Receiver */
152#define SCLK    1               /* put your own SCLK value here */
153
154#endif
Note: See TracBrowser for help on using the repository browser.