hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
 *  Atheros AR933X UART defines
 *
 *  Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
 *
 *  This program is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License version 2 as published
 *  by the Free Software Foundation.
 */
 
#ifndef __AR933X_UART_H
#define __AR933X_UART_H
 
#define AR933X_UART_REGS_SIZE        20
#define AR933X_UART_FIFO_SIZE        16
 
#define AR933X_UART_DATA_REG        0x00
#define AR933X_UART_CS_REG        0x04
#define AR933X_UART_CLOCK_REG        0x08
#define AR933X_UART_INT_REG        0x0c
#define AR933X_UART_INT_EN_REG        0x10
 
#define AR933X_UART_DATA_TX_RX_MASK    0xff
#define AR933X_UART_DATA_RX_CSR        BIT(8)
#define AR933X_UART_DATA_TX_CSR        BIT(9)
 
#define AR933X_UART_CS_PARITY_S        0
#define AR933X_UART_CS_PARITY_M        0x3
#define      AR933X_UART_CS_PARITY_NONE    0
#define      AR933X_UART_CS_PARITY_ODD    2
#define      AR933X_UART_CS_PARITY_EVEN    3
#define AR933X_UART_CS_IF_MODE_S    2
#define AR933X_UART_CS_IF_MODE_M    0x3
#define      AR933X_UART_CS_IF_MODE_NONE    0
#define      AR933X_UART_CS_IF_MODE_DTE    1
#define      AR933X_UART_CS_IF_MODE_DCE    2
#define AR933X_UART_CS_FLOW_CTRL_S    4
#define AR933X_UART_CS_FLOW_CTRL_M    0x3
#define AR933X_UART_CS_DMA_EN        BIT(6)
#define AR933X_UART_CS_TX_READY_ORIDE    BIT(7)
#define AR933X_UART_CS_RX_READY_ORIDE    BIT(8)
#define AR933X_UART_CS_TX_READY        BIT(9)
#define AR933X_UART_CS_RX_BREAK        BIT(10)
#define AR933X_UART_CS_TX_BREAK        BIT(11)
#define AR933X_UART_CS_HOST_INT        BIT(12)
#define AR933X_UART_CS_HOST_INT_EN    BIT(13)
#define AR933X_UART_CS_TX_BUSY        BIT(14)
#define AR933X_UART_CS_RX_BUSY        BIT(15)
 
#define AR933X_UART_CLOCK_STEP_M    0xffff
#define AR933X_UART_CLOCK_SCALE_M    0xfff
#define AR933X_UART_CLOCK_SCALE_S    16
#define AR933X_UART_CLOCK_STEP_M    0xffff
 
#define AR933X_UART_INT_RX_VALID    BIT(0)
#define AR933X_UART_INT_TX_READY    BIT(1)
#define AR933X_UART_INT_RX_FRAMING_ERR    BIT(2)
#define AR933X_UART_INT_RX_OFLOW_ERR    BIT(3)
#define AR933X_UART_INT_TX_OFLOW_ERR    BIT(4)
#define AR933X_UART_INT_RX_PARITY_ERR    BIT(5)
#define AR933X_UART_INT_RX_BREAK_ON    BIT(6)
#define AR933X_UART_INT_RX_BREAK_OFF    BIT(7)
#define AR933X_UART_INT_RX_FULL        BIT(8)
#define AR933X_UART_INT_TX_EMPTY    BIT(9)
#define AR933X_UART_INT_ALLINTS        0x3ff
 
#endif /* __AR933X_UART_H */