blob: d7d03ca1f8df3ab33a0fe0526f9b7ebd35b68970 (
plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
/* arch/arm/plat-s3c/include/plat/regs-tsi.h
*
* Copyright (c) 2004 Samsung
*
* This program is free software; yosu 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.
*
* S5PC110 TSI registers
*/
#ifndef __ASM_ARCH_REGS_TSI_H
#define __ASM_ARCH_REGS_TSI_H "regs-tsi.h"
#define S3C_TSIREG(x) (x)
#define S3C_TS_CLKCON S3C_TSIREG(0x00)
#define S3C_TS_CON S3C_TSIREG(0x04)
#define S3C_TS_SYNC S3C_TSIREG(0x08)
#define S3C_TS_CNT S3C_TSIREG(0x0C)
#define S3C_TS_BASE S3C_TSIREG(0x10)
#define S3C_TS_SIZE S3C_TSIREG(0x14)
#define S3C_TS_CADDR S3C_TSIREG(0x18)
#define S3C_TS_INTMASK S3C_TSIREG(0x1C)
#define S3C_TS_INT S3C_TSIREG(0x20)
#define S3C_TS_PID0 S3C_TSIREG(0x24)
#define S3C_TS_PID1 S3C_TSIREG(0x28)
#define S3C_TS_PID2 S3C_TSIREG(0x2C)
#define S3C_TS_PID3 S3C_TSIREG(0x30)
#define S3C_TS_PID4 S3C_TSIREG(0x34)
#define S3C_TS_PID5 S3C_TSIREG(0x38)
#define S3C_TS_PID6 S3C_TSIREG(0x3C)
#define S3C_TS_PID7 S3C_TSIREG(0x40)
#define S3C_TS_PID8 S3C_TSIREG(0x44)
#define S3C_TS_PID9 S3C_TSIREG(0x48)
#define S3C_TS_PID10 S3C_TSIREG(0x4C)
#define S3C_TS_PID11 S3C_TSIREG(0x50)
#define S3C_TS_PID12 S3C_TSIREG(0x54)
#define S3C_TS_PID13 S3C_TSIREG(0x58)
#define S3C_TS_PID14 S3C_TSIREG(0x5C)
#define S3C_TS_PID15 S3C_TSIREG(0x60)
#define S3C_TS_PID16 S3C_TSIREG(0x64)
#define S3C_TS_PID17 S3C_TSIREG(0x68)
#define S3C_TS_PID18 S3C_TSIREG(0x6C)
#define S3C_TS_PID19 S3C_TSIREG(0x70)
#define S3C_TS_PID20 S3C_TSIREG(0x74)
#define S3C_TS_PID21 S3C_TSIREG(0x78)
#define S3C_TS_PID22 S3C_TSIREG(0x7C)
#define S3C_TS_PID23 S3C_TSIREG(0x80)
#define S3C_TS_PID24 S3C_TSIREG(0x84)
#define S3C_TS_PID25 S3C_TSIREG(0x88)
#define S3C_TS_PID26 S3C_TSIREG(0x8C)
#define S3C_TS_PID27 S3C_TSIREG(0x90)
#define S3C_TS_PID28 S3C_TSIREG(0x94)
#define S3C_TS_PID29 S3C_TSIREG(0x98)
#define S3C_TS_PID30 S3C_TSIREG(0x9C)
#define S3C_TS_PID31 S3C_TSIREG(0xA0)
#define S3C_TS_BYTE_SWAP S3C_TSIREG(0xBC)
#define TS_TIMEOUT_CNT_MAX (0x00FFFFFF)
#define TS_NUM_PKT (4)
#define TS_PKT_SIZE 47
#define TS_PKT_BUF_SIZE (TS_PKT_SIZE*TS_NUM_PKT)
#define TSI_CLK_START 1
#define TSI_CLK_STOP 0
/*bit definitions*/
/*CLKCON*/
#define S3C_TSI_ON (0x1<<0)
#define S3C_TSI_ON_MASK (0x1<<0)
#define S3C_TSI_BLK_READY (0x1<<1)
/*TS_CON*/
#define S3C_TSI_SWRESET (0x1 << 31)
#define S3C_TSI_SWRESET_MASK (0x1 << 31)
#define S3C_TSI_CLKFILTER_ON (0x1 << 30)
#define S3C_TSI_CLKFILTER_MASK (0x1 << 30)
#define S3C_TSI_CLKFILTER_SHIFT 30
#define S3C_TSI_BURST_LEN_0 (0x0 << 28)
#define S3C_TSI_BURST_LEN_4 (0x1 << 28)
#define S3C_TSI_BURST_LEN_8 (0x2 << 28)
#define S3C_TSI_BURST_LEN_MASK (0x3 << 28)
#define S3C_TSI_BURST_LEN_SHIFT (28)
#define S3C_TSI_OUT_BUF_FULL_INT_ENA (0x1 << 27)
#define S3C_TSI_OUT_BUF_FULL_INT_MASK (0x1 << 27)
#define S3C_TSI_INT_FIFO_FULL_INT_ENA (0x1 << 26)
#define S3C_TSI_INT_FIFO_FULL_INT_ENA_MASK (0x1 << 26)
#define S3C_TSI_SYNC_MISMATCH_INT_SKIP (0x2 << 24)
#define S3C_TSI_SYNC_MISMATCH_INT_STOP (0x3 << 24)
#define S3C_TSI_SYNC_MISMATCH_INT_MASK (0x3 << 24)
#define S3C_TSI_PSUF_INT_SKIP (0x2 << 22)
#define S3C_TSI_PSUF_INT_STOP (0x3 << 22)
#define S3C_TSI_PSUF_INT_MASK (0x3 << 22)
#define S3C_TSI_PSOF_INT_SKIP (0x2 << 20)
#define S3C_TSI_PSOF_INT_STOP (0x3 << 20)
#define S3C_TSI_PSOF_INT_MASK (0x3 << 20)
#define S3C_TSI_TS_CLK_TIME_OUT_INT (0x1 << 19)
#define S3C_TSI_TS_CLK_TIME_OUT_INT_MASK (0x1 << 19)
#define S3C_TSI_TS_ERROR_SKIP_SIZE_INT (4<<16)
#define S3C_TSI_TS_ERROR_STOP_SIZE_INT (5<<16)
#define S3C_TSI_TS_ERROR_SKIP_PKT_INT (6<<16)
#define S3C_TSI_TS_ERROR_STOP_PKT_INT (7<<16)
#define S3C_TSI_TS_ERROR_MASK (7<<16)
#define S3C_TSI_PAD_PATTERN_SHIFT (8)
#define S3C_TSI_PID_FILTER_ENA (1 << 7)
#define S3C_TSI_PID_FILTER_MASK (1 << 7)
#define S3C_TSI_PID_FILTER_SHIFT (7)
#define S3C_TSI_ERROR_ACTIVE_LOW (1<<6)
#define S3C_TSI_ERROR_ACTIVE_HIGH (0<<6)
#define S3C_TSI_ERROR_ACTIVE_MASK (1<<6)
#define S3C_TSI_DATA_BYTE_ORDER_M2L (0 << 5)
#define S3C_TSI_DATA_BYTE_ORDER_L2M (1 << 5)
#define S3C_TSI_DATA_BYTE_ORDER_MASK (1 << 5)
#define S3C_TSI_DATA_BYTE_ORDER_SHIFT (5)
#define S3C_TSI_TS_VALID_ACTIVE_HIGH (0<<4)
#define S3C_TSI_TS_VALID_ACTIVE_LOW (1<<4)
#define S3C_TSI_TS_VALID_ACTIVE_MASK (1<<4)
#define S3C_TSI_SYNC_ACTIVE_HIGH (0 << 3)
#define S3C_TSI_SYNC_ACTIVE_LOW (1 << 3)
#define S3C_TSI_SYNC_ACTIVE_MASK (1 << 3)
#define S3C_TSI_CLK_INVERT_HIGH (0 << 2)
#define S3C_TSI_CLK_INVERT_LOW (1 << 2)
#define S3C_TSI_CLK_INVERT_MASK (1 << 2)
/*TS_SYNC*/
#define S3C_TSI_SYNC_DET_MODE_TS_SYNC8 (0<<0)
#define S3C_TSI_SYNC_DET_MODE_TS_SYNC1 (1<<0)
#define S3C_TSI_SYNC_DET_MODE_TS_SYNC_BYTE (2<<0)
#define S3C_TSI_SYNC_DET_MODE_TS_SYNC_MASK (3<<0)
/* TS_INT_MASK */
#define S3C_TSI_DMA_COMPLETE_ENA (1 << 7)
#define S3C_TSI_OUTPUT_BUF_FULL_ENA (1 << 6)
#define S3C_TSI_INT_FIFO_FULL_ENA (1 << 5)
#define S3C_TSI_SYNC_MISMATCH_ENA (1 << 4)
#define S3C_TSI_PKT_SIZE_UNDERFLOW_ENA (1 << 3)
#define S3C_TSI_PKT_SIZE_OVERFLOW_ENA (1 << 2)
#define S3C_TSI_TS_CLK_ENA (1 << 1)
#define S3C_TSI_TS_ERROR_ENA (1 << 0)
/* TS_INT_FLAG */
#define S3C_TSI_DMA_COMPLETE (1<<7)
#define S3C_TSI_OUT_BUF_FULL (1<<6)
#define S3C_TSI_INT_FIFO_FULL (1<<5)
#define S3C_TSI_SYNC_MISMATCH (1<<4)
#define S3C_TSI_PKT_UNDERFLOW (1<<3)
#define S3C_TSI_PKT_OVERFLOW (1<<2)
#define S3C_TSI_PKT_CLK (1<<1)
#define S3C_TSI_ERROR (1<<0)
#endif /* __ASM_ARCH_REGS_TSI_H */
|