aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/include/mach/regs-tsi.h
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 */