OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [serial.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
2
 * include/linux/serial.h
3
 *
4
 * Copyright (C) 1992 by Theodore Ts'o.
5
 *
6
 * Redistribution of this file is permitted under the terms of the GNU
7
 * Public License (GPL)
8
 */
9
 
10
#ifndef _LINUX_SERIAL_H
11
#define _LINUX_SERIAL_H
12
 
13
#include <linux/types.h>
14
 
15
#include <linux/tty_flags.h>
16
 
17
 
18
struct serial_struct {
19
        int     type;
20
        int     line;
21
        unsigned int    port;
22
        int     irq;
23
        int     flags;
24
        int     xmit_fifo_size;
25
        int     custom_divisor;
26
        int     baud_base;
27
        unsigned short  close_delay;
28
        char    io_type;
29
        char    reserved_char[1];
30
        int     hub6;
31
        unsigned short  closing_wait; /* time to wait before closing */
32
        unsigned short  closing_wait2; /* no longer used... */
33
        unsigned char   *iomem_base;
34
        unsigned short  iomem_reg_shift;
35
        unsigned int    port_high;
36
        unsigned long   iomap_base;     /* cookie passed into ioremap */
37
};
38
 
39
/*
40
 * For the close wait times, 0 means wait forever for serial port to
41
 * flush its output.  65535 means don't wait at all.
42
 */
43
#define ASYNC_CLOSING_WAIT_INF  0
44
#define ASYNC_CLOSING_WAIT_NONE 65535
45
 
46
/*
47
 * These are the supported serial types.
48
 */
49
#define PORT_UNKNOWN    0
50
#define PORT_8250       1
51
#define PORT_16450      2
52
#define PORT_16550      3
53
#define PORT_16550A     4
54
#define PORT_CIRRUS     5       /* usurped by cyclades.c */
55
#define PORT_16650      6
56
#define PORT_16650V2    7
57
#define PORT_16750      8
58
#define PORT_STARTECH   9       /* usurped by cyclades.c */
59
#define PORT_16C950     10      /* Oxford Semiconductor */
60
#define PORT_16654      11
61
#define PORT_16850      12
62
#define PORT_RSA        13      /* RSA-DV II/S card */
63
#define PORT_MAX        13
64
 
65
#define SERIAL_IO_PORT  0
66
#define SERIAL_IO_HUB6  1
67
#define SERIAL_IO_MEM   2
68
 
69
#define UART_CLEAR_FIFO         0x01
70
#define UART_USE_FIFO           0x02
71
#define UART_STARTECH           0x04
72
#define UART_NATSEMI            0x08
73
 
74
 
75
/*
76
 * Multiport serial configuration structure --- external structure
77
 */
78
struct serial_multiport_struct {
79
        int             irq;
80
        int             port1;
81
        unsigned char   mask1, match1;
82
        int             port2;
83
        unsigned char   mask2, match2;
84
        int             port3;
85
        unsigned char   mask3, match3;
86
        int             port4;
87
        unsigned char   mask4, match4;
88
        int             port_monitor;
89
        int     reserved[32];
90
};
91
 
92
/*
93
 * Serial input interrupt line counters -- external structure
94
 * Four lines can interrupt: CTS, DSR, RI, DCD
95
 */
96
struct serial_icounter_struct {
97
        int cts, dsr, rng, dcd;
98
        int rx, tx;
99
        int frame, overrun, parity, brk;
100
        int buf_overrun;
101
        int reserved[9];
102
};
103
 
104
/*
105
 * Serial interface for controlling RS485 settings on chips with suitable
106
 * support. Set with TIOCSRS485 and get with TIOCGRS485 if supported by your
107
 * platform. The set function returns the new state, with any unsupported bits
108
 * reverted appropriately.
109
 */
110
 
111
struct serial_rs485 {
112
        __u32   flags;                  /* RS485 feature flags */
113
#define SER_RS485_ENABLED               (1 << 0)        /* If enabled */
114
#define SER_RS485_RTS_ON_SEND           (1 << 1)        /* Logical level for
115
                                                           RTS pin when
116
                                                           sending */
117
#define SER_RS485_RTS_AFTER_SEND        (1 << 2)        /* Logical level for
118
                                                           RTS pin after sent*/
119
#define SER_RS485_RX_DURING_TX          (1 << 4)
120
        __u32   delay_rts_before_send;  /* Delay before send (milliseconds) */
121
        __u32   delay_rts_after_send;   /* Delay after send (milliseconds) */
122
        __u32   padding[5];             /* Memory is cheap, new structs
123
                                           are a royal PITA .. */
124
};
125
 
126
#endif /* _LINUX_SERIAL_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.