source: rtems/c/src/lib/libbsp/m68k/gen68340/include/m340uart.h @ 132f194

4.104.114.84.95
Last change on this file since 132f194 was 132f194, checked in by Joel Sherrill <joel.sherrill@…>, on 07/01/98 at 22:03:20

Initial submission of gen68340 BSP (should run on a 68349) from
Geoffroy Montel <g_montel@…>.

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