xref: /utopia/UTPA2-700.0.x/modules/dmx/hal/k7u/tso/regTSO.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations:
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise:
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi //<MStar Software>
78*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
79*53ee8cc1Swenshuai.xi //
80*53ee8cc1Swenshuai.xi // Copyright (c) 2011-2013 MStar Semiconductor, Inc.
81*53ee8cc1Swenshuai.xi // All rights reserved.
82*53ee8cc1Swenshuai.xi //
83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained
84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of
85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence
86*53ee8cc1Swenshuai.xi // ("MStar Confidential Information") by the recipient.
87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure,
88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling,
89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential
90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the
91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom.
92*53ee8cc1Swenshuai.xi //
93*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
94*53ee8cc1Swenshuai.xi 
95*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////////////////////////
96*53ee8cc1Swenshuai.xi //
97*53ee8cc1Swenshuai.xi //  File name: regTSO.h
98*53ee8cc1Swenshuai.xi //  Description: TS I/O Register Definition
99*53ee8cc1Swenshuai.xi //
100*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////////////////////////
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi #ifndef _TSO_REG_H_
103*53ee8cc1Swenshuai.xi #define _TSO_REG_H_
104*53ee8cc1Swenshuai.xi 
105*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
106*53ee8cc1Swenshuai.xi //  Abbreviation
107*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
108*53ee8cc1Swenshuai.xi // Addr                             Address
109*53ee8cc1Swenshuai.xi // Buf                              Buffer
110*53ee8cc1Swenshuai.xi // Clr                              Clear
111*53ee8cc1Swenshuai.xi // CmdQ                             Command queue
112*53ee8cc1Swenshuai.xi // Cnt                              Count
113*53ee8cc1Swenshuai.xi // Ctrl                             Control
114*53ee8cc1Swenshuai.xi // Flt                              Filter
115*53ee8cc1Swenshuai.xi // Hw                               Hardware
116*53ee8cc1Swenshuai.xi // Int                              Interrupt
117*53ee8cc1Swenshuai.xi // Len                              Length
118*53ee8cc1Swenshuai.xi // Ovfw                             Overflow
119*53ee8cc1Swenshuai.xi // Pkt                              Packet
120*53ee8cc1Swenshuai.xi // Rec                              Record
121*53ee8cc1Swenshuai.xi // Recv                             Receive
122*53ee8cc1Swenshuai.xi // Rmn                              Remain
123*53ee8cc1Swenshuai.xi // Reg                              Register
124*53ee8cc1Swenshuai.xi // Req                              Request
125*53ee8cc1Swenshuai.xi // Rst                              Reset
126*53ee8cc1Swenshuai.xi // Scmb                             Scramble
127*53ee8cc1Swenshuai.xi // Sec                              Section
128*53ee8cc1Swenshuai.xi // Stat                             Status
129*53ee8cc1Swenshuai.xi // Sw                               Software
130*53ee8cc1Swenshuai.xi // Ts                               Transport Stream
131*53ee8cc1Swenshuai.xi // MMFI                             Multi Media File In
132*53ee8cc1Swenshuai.xi 
133*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
134*53ee8cc1Swenshuai.xi //  Global Definition
135*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
136*53ee8cc1Swenshuai.xi 
137*53ee8cc1Swenshuai.xi //@TODO  check ENG PIDFLT TSIF number
138*53ee8cc1Swenshuai.xi 
139*53ee8cc1Swenshuai.xi #define TSO_ENGINE_NUM                      (2)
140*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_NUM                      (512)
141*53ee8cc1Swenshuai.xi #define TSO_REP_PIDFLT_NUM                  (16)
142*53ee8cc1Swenshuai.xi #define TSO_FILE_IF_NUM                     (2)
143*53ee8cc1Swenshuai.xi #define TSO_TSIF_NUM                        (6)
144*53ee8cc1Swenshuai.xi 
145*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_NUM_ALL                  TSO_PIDFLT_NUM
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi #define TSO_PID_NULL                        (0x1FFF)
148*53ee8cc1Swenshuai.xi #define TSO_MIU_BUS                         (4)
149*53ee8cc1Swenshuai.xi #define TSO_SVQ_UNIT_SIZE                   (208)
150*53ee8cc1Swenshuai.xi 
151*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
152*53ee8cc1Swenshuai.xi //  Harware Capability
153*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
154*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS0                       0x00
155*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS1                       0x01
156*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS2                       0x02
157*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS3                       0x03
158*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS4                       0x04
159*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS5                       0x05
160*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TS6                       0x06
161*53ee8cc1Swenshuai.xi #define TSO_CLKIN_TSO0_OUT_P                0x07
162*53ee8cc1Swenshuai.xi #define TSO_CLKIN_DMD                       0xFFFF //not supported
163*53ee8cc1Swenshuai.xi 
164*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
165*53ee8cc1Swenshuai.xi //  Type and Structure
166*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
167*53ee8cc1Swenshuai.xi #define REG_PIDFLT_BASE                     (0x210000UL)
168*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_PID_MASK                 (0x1FFF)
169*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_IN_MASK                  (0x7)
170*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_IN_SHIFT                 (13)
171*53ee8cc1Swenshuai.xi 
172*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO                   (0xE0C00UL)                            // 0x1706
173*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO1                  (0xC2400UL)                            // 0x1612
174*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO2                  (0xA7200UL)                            // 0x1539
175*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO3                  (0xE3A00UL)                            // 0x171D
176*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO4                  (0x42A00UL)                            // 0x1215
177*53ee8cc1Swenshuai.xi 
178*53ee8cc1Swenshuai.xi typedef struct _REG32_TSO
179*53ee8cc1Swenshuai.xi {
180*53ee8cc1Swenshuai.xi     volatile MS_U16                L;
181*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_L;
182*53ee8cc1Swenshuai.xi     volatile MS_U16                H;
183*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_H;
184*53ee8cc1Swenshuai.xi } REG32_TSO;
185*53ee8cc1Swenshuai.xi 
186*53ee8cc1Swenshuai.xi typedef struct _REG16_TSO
187*53ee8cc1Swenshuai.xi {
188*53ee8cc1Swenshuai.xi     volatile MS_U16                data;
189*53ee8cc1Swenshuai.xi     volatile MS_U16                _resv;
190*53ee8cc1Swenshuai.xi } REG16_TSO;
191*53ee8cc1Swenshuai.xi 
192*53ee8cc1Swenshuai.xi //TSO0
193*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO
194*53ee8cc1Swenshuai.xi {
195*53ee8cc1Swenshuai.xi     //----------------------------------------------
196*53ee8cc1Swenshuai.xi     // 0xBF802A00 MIPS direct access
197*53ee8cc1Swenshuai.xi     //----------------------------------------------
198*53ee8cc1Swenshuai.xi                                                                     // Index(word)  CPU(byte)     MIPS(0x13A00/2+index)*4
199*53ee8cc1Swenshuai.xi     REG16_TSO                             SW_RSTZ;                  //00
200*53ee8cc1Swenshuai.xi     #define TSO_SW_RSTZ                                             0x0001
201*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CLK_STAMP                                    0x0002
202*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CMDQ1                                        0x0100
203*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB1                                          0x0200
204*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB_DMA1                                      0x0400
205*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_TS_FIN1                                      0x0800
206*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CMDQ                                         0x1000
207*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB                                           0x2000
208*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB_DMA                                       0x4000
209*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_FIN                                          0x8000
210*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_ALL                                          0xF002
211*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_ALL1                                         0x0F02
212*53ee8cc1Swenshuai.xi 
213*53ee8cc1Swenshuai.xi 
214*53ee8cc1Swenshuai.xi     REG16_TSO                             SW_RSTZ1;                 //01
215*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF1                                  0x0001
216*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF2                                  0x0002
217*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF3                                  0x0004
218*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF4                                  0x0008
219*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF5                                  0x0010
220*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF6                                  0x0020
221*53ee8cc1Swenshuai.xi 
222*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_02;
223*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_RDATA_SYNCID;     //03
224*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_RDATA_SYNCID_MASK                           0xFF00
225*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_RDATA_SYNCID_SHIFT                          8
226*53ee8cc1Swenshuai.xi 
227*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG0;     //04
228*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF //for internal sync
229*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
230*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
231*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
232*53ee8cc1Swenshuai.xi 
233*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG1;     //05
234*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_SYNC_BYTE_MASK                 0x00FF
235*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_SYNC_BYTE_SHIFT                0
236*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
237*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_INPUT_MODE_SHIFT           8
238*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
239*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_HEADER_LEN_SHIFT           11
240*53ee8cc1Swenshuai.xi 
241*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG2;     //06
242*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
243*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_P_SEL                                         0x0001
244*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_EXT_SYNC_SEL                                  0x0002
245*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TS_SIN_C0                                     0x0004
246*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TS_SIN_C1                                     0x0008
247*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_REC_ALL                                0x0010
248*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_REC_NULL                               0x0020
249*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_OVF_INT_EN                             0x0040
250*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_OVF_CLR                                0x0080
251*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_FORCE_SYNC_BYTE                               0x0100
252*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_SKIP_TEI_PKT                                  0x0200
253*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_DIS_LOCKED_PKT_CNT                            0x0400
254*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_CLR_LOCKED_PKT_CNT                            0x0800
255*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TRC_CLK_LD_DIS                                0x1000
256*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TRC_CLK_CLR                                   0x2000
257*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_SRC_ID_FLT_EN                                 0x4000
258*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PKT_CVT_OVERFLOW1_CLR                         0x8000
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi     //--------------------------------//
261*53ee8cc1Swenshuai.xi 
262*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG3;     //07    reserved
263*53ee8cc1Swenshuai.xi 
264*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG0;     //08
265*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
266*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
267*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
268*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
269*53ee8cc1Swenshuai.xi 
270*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG1;     //09
271*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_SYNC_BYTE_MASK                 0x00FF
272*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_SYNC_BYTE_SHIFT                0
273*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
274*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_INPUT_MODE_SHIFT           8
275*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
276*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_HEADER_LEN_SHIFT           11
277*53ee8cc1Swenshuai.xi 
278*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG2;     //0a
279*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_P_SEL                          0x0001
280*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_EXT_SYNC_SEL                   0x0002
281*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TS_SIN_C0                      0x0004
282*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TS_SIN_C1                      0x0008
283*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_REC_ALL                 0x0010
284*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_REC_NULL                0x0020
285*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
286*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
287*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_FORCE_SYNC_BYTE                0x0100
288*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_SKIP_TEI_PKT                   0x0200
289*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
290*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
291*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
292*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TRACING_CLOCK_CLR              0x2000
293*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_SRC_ID_FLT_EN                  0x4000
294*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
295*53ee8cc1Swenshuai.xi 
296*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG3;     //0b    reserved
297*53ee8cc1Swenshuai.xi 
298*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG0;     //0c
299*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
300*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
301*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
302*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
303*53ee8cc1Swenshuai.xi 
304*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG1;     //0d
305*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_SYNC_BYTE_MASK                 0x00FF
306*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_SYNC_BYTE_SHIFT                0
307*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
308*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_INPUT_MODE_SHIFT           8
309*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
310*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_HEADER_LEN_SHIFT           11
311*53ee8cc1Swenshuai.xi 
312*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG2;     //0e
313*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_P_SEL                          0x0001
314*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_EXT_SYNC_SEL                   0x0002
315*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TS_SIN_C0                      0x0004
316*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TS_SIN_C1                      0x0008
317*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_REC_ALL                 0x0010
318*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_REC_NULL                0x0020
319*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
320*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
321*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_FORCE_SYNC_BYTE                0x0100
322*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_SKIP_TEI_PKT                   0x0200
323*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
324*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
325*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
326*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TRACING_CLOCK_CLR              0x2000
327*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_SRC_ID_FLT_EN                  0x4000
328*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
329*53ee8cc1Swenshuai.xi 
330*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG3;     //0f    reserved
331*53ee8cc1Swenshuai.xi 
332*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG0;     //10
333*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
334*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
335*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
336*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
337*53ee8cc1Swenshuai.xi 
338*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG1;     //11
339*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_SYNC_BYTE_MASK                 0x00FF
340*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_SYNC_BYTE_SHIFT                0
341*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
342*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_INPUT_MODE_SHIFT           8
343*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
344*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_HEADER_LEN_SHIFT           11
345*53ee8cc1Swenshuai.xi 
346*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG2;     //12
347*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_P_SEL                          0x0001
348*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_EXT_SYNC_SEL                   0x0002
349*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TS_SIN_C0                      0x0004
350*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TS_SIN_C1                      0x0008
351*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_REC_ALL                 0x0010
352*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_REC_NULL                0x0020
353*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
354*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
355*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_FORCE_SYNC_BYTE                0x0100
356*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_SKIP_TEI_PKT                   0x0200
357*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
358*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
359*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
360*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TRACING_CLOCK_CLR              0x2000
361*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_SRC_ID_FLT_EN                  0x4000
362*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
363*53ee8cc1Swenshuai.xi 
364*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG3;     //13 reserved
365*53ee8cc1Swenshuai.xi 
366*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG0;     //14
367*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
368*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
369*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
370*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
371*53ee8cc1Swenshuai.xi 
372*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG1;     //15
373*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_SYNC_BYTE_MASK                 0x00FF
374*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_SYNC_BYTE_SHIFT                0
375*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
376*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_INPUT_MODE_SHIFT           8
377*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
378*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_HEADER_LEN_SHIFT           11
379*53ee8cc1Swenshuai.xi 
380*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG2;     //16
381*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_P_SEL                          0x0001
382*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_EXT_SYNC_SEL                   0x0002
383*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TS_SIN_C0                      0x0004
384*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TS_SIN_C1                      0x0008
385*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_REC_ALL                 0x0010
386*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_REC_NULL                0x0020
387*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
388*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
389*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_FORCE_SYNC_BYTE                0x0100
390*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_SKIP_TEI_PKT                   0x0200
391*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
392*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
393*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
394*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TRACING_CLOCK_CLR              0x2000
395*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_SRC_ID_FLT_EN                  0x4000
396*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
397*53ee8cc1Swenshuai.xi 
398*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG3;     //17 reserved
399*53ee8cc1Swenshuai.xi 
400*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG0;     //18
401*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
402*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
403*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
404*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
405*53ee8cc1Swenshuai.xi 
406*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG1;     //19
407*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_SYNC_BYTE_MASK                 0x00FF
408*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_SYNC_BYTE_SHIFT                0
409*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
410*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_INPUT_MODE_SHIFT           8
411*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
412*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_HEADER_LEN_SHIFT           11
413*53ee8cc1Swenshuai.xi 
414*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG2;     //1a
415*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_P_SEL                          0x0001
416*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_EXT_SYNC_SEL                   0x0002
417*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TS_SIN_C0                      0x0004
418*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TS_SIN_C1                      0x0008
419*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_REC_ALL                 0x0010
420*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_REC_NULL                0x0020
421*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
422*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
423*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_FORCE_SYNC_BYTE                0x0100
424*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_SKIP_TEI_PKT                   0x0200
425*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
426*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
427*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
428*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TRACING_CLOCK_CLR              0x2000
429*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_SRC_ID_FLT_EN                  0x4000
430*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
431*53ee8cc1Swenshuai.xi 
432*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG3;     //1b reserved
433*53ee8cc1Swenshuai.xi 
434*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG0;              //1c
435*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_EN                                      0x0001
436*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_TS_SIN_C0                               0x0002
437*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_TS_SIN_C1                               0x0004
438*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_3WIRE_MODE                              0x0008
439*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_BYPASS_S2P                                  0x0010
440*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_EN                                     0x0100
441*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_TS_SIN_C0                              0x0200
442*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_TS_SIN_C1                              0x0400
443*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_3WIRE_MODE                             0x0800
444*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_BYPASS_S2P1                                 0x1000
445*53ee8cc1Swenshuai.xi 
446*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG1;              //1d
447*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
448*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_OUT_EN                                     0x0001
449*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF1_EN                                   0x0002
450*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF2_EN                                   0x0004
451*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF3_EN                                   0x0008
452*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF4_EN                                   0x0010
453*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF5_EN                                   0x0020
454*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF6_EN                                   0x0040
455*53ee8cc1Swenshuai.xi     //--------------------------------//
456*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PAUSE_OPIF                                  0x0080
457*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_TURN_OFF_MCM                                0x0100
458*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_CLOCK_TRACING_SEL_MASK                      0x0E00
459*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_CLOCK_TRACING_SEL_SHIFT                     9
460*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_SERIAL_OUT_EN                               0x1000
461*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PKT_LOCK_CLR                                0x2000
462*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PKT_NULL_EN                                 0x4000
463*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
464*53ee8cc1Swenshuai.xi     #define TSO_CFG1_PKT_PARAM_LD                                   0x8000
465*53ee8cc1Swenshuai.xi     //--------------------------------//
466*53ee8cc1Swenshuai.xi 
467*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG2;              //1e
468*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_VALID_BYTE_CNT_MASK                         0x00FF
469*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_VALID_BYTE_CNT_SHIFT                        0
470*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_INVALID_BYTE_CNT_MASK                       0xFF00
471*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_INVALID_BYTE_CNT_SHIFT                      8
472*53ee8cc1Swenshuai.xi 
473*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG3;              //1f
474*53ee8cc1Swenshuai.xi     #define TSO_CONFIG3_OPIF_PKT_SIZE_MASK                          0xFFFF
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi     REG32_TSO                             PIDFLTS[16];              //20~3e  PID00~0F
477*53ee8cc1Swenshuai.xi     //FOR ALL PID
478*53ee8cc1Swenshuai.xi     #define TSO_PID_ORIGINAL_PID_MASK                               0x00001FFF
479*53ee8cc1Swenshuai.xi     #define TSO_PID_ORIGINAL_PID_SHIFT                              0
480*53ee8cc1Swenshuai.xi     #define TSO_PID_SOURCE_SEL_MASK                                 0x0000E000
481*53ee8cc1Swenshuai.xi     #define TSO_PID_SOURCE_SEL_SHIFT                                13
482*53ee8cc1Swenshuai.xi     #define TSO_PID_NEW_PID_MASK                                    0x1FFF0000
483*53ee8cc1Swenshuai.xi     #define TSO_PID_NEW_PID_SHIFT                                   16
484*53ee8cc1Swenshuai.xi     #define TSO_PID_REPLACE_EN                                      0x80000000
485*53ee8cc1Swenshuai.xi 
486*53ee8cc1Swenshuai.xi     REG16_TSO                             CLR_BYTE_CNT;             //40
487*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_1                                      0x0001
488*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_2                                      0x0002
489*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_3                                      0x0004
490*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_4                                      0x0008
491*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_5                                      0x0010
492*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_6                                      0x0020
493*53ee8cc1Swenshuai.xi 
494*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_41_42[2];         //41~42
495*53ee8cc1Swenshuai.xi 
496*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG4;              //43
497*53ee8cc1Swenshuai.xi     #define TSO_CFG4_LOCK_RETURN_SYSTEM_TIMESTAMP                   0x0001
498*53ee8cc1Swenshuai.xi     #define TSO_CFG4_ENABLE_SYS_TIMESTAMP                           0x0002
499*53ee8cc1Swenshuai.xi     #define TSO_CFG4_SET_SYS_TIMESTAMP_TO_HW                        0x0004
500*53ee8cc1Swenshuai.xi     #define TSO_CFG4_TIMESTAMP_BASE                                 0x0008  //0:90k 1:27m
501*53ee8cc1Swenshuai.xi     #define TSO_CFG4_PDTABLE_SRAM_SD_EN                             0x0010
502*53ee8cc1Swenshuai.xi     //------------------------------------------------------------------------
503*53ee8cc1Swenshuai.xi     #define TSO_CFG4_FIX_TIMESTAMP_RING_BACK_EN                     0x0020
504*53ee8cc1Swenshuai.xi     #define TSO_CFG4_FIX_LPCR_RING_BACK_EN                          0x0040
505*53ee8cc1Swenshuai.xi     #define TSO_CFG4_INIT_TIMESTAMP_RESTART_EN                      0x0080
506*53ee8cc1Swenshuai.xi     //------------------------------------------------------------------------
507*53ee8cc1Swenshuai.xi     #define TSO_CFG4_NULL_PKT_ID_MASK                               0xFF00
508*53ee8cc1Swenshuai.xi     #define TSO_CFG4_NULL_PKT_ID_SHIFT                              8
509*53ee8cc1Swenshuai.xi 
510*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG5;              //44
511*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_1                                 0x0001
512*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_2                                 0x0002
513*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_3                                 0x0004
514*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_4                                 0x0008
515*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_5                                 0x0010
516*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_6                                 0x0020
517*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_DIS_MIU_RQ                                  0x0040
518*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_FIXED_MIU_REG_FLUSH                         0x0080    // fix svq_tx error
519*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_EXTEND_ENABLE                               0x0100    // fix svq_tx error
520*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_VQ_IDLE_CNT_DIS                         0x0200    // fix svq_tx error
521*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_TSIO_MODE                               0x0400
522*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_TSIO2OPIF                               0x0800
523*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_BYPASS_SVQ_FOR_CH1                          0x1000
524*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_CHECK_VQ_BURST_LEN                      0x2000
525*53ee8cc1Swenshuai.xi 
526*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_ADDR_L;           //45 ind R/W of L addr to pdtable
527*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_ADDR_H;           //46 ind R/W of H addr to pdtable
528*53ee8cc1Swenshuai.xi 
529*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_WDATA_L;          //47 ind R/W of L addr to pdtable
530*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_WDATA_H;          //48 ind R/W of L addr to pdtable
531*53ee8cc1Swenshuai.xi 
532*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_RDATA;            //49 ind of Rdata from pdtable
533*53ee8cc1Swenshuai.xi 
534*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_EN;               //4a
535*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_W_EN                                        0x0001//Ind W flag to pdtable
536*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_R_EN                                        0x0002//Ind R flag to pdtable
537*53ee8cc1Swenshuai.xi 
538*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_RDATA_H_MASK                                0x3F00 // ind of Rdata[21:16] from pdtable
539*53ee8cc1Swenshuai.xi 
540*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_STATUS;               //4b
541*53ee8cc1Swenshuai.xi     #define TSO_STATUS_SVQ_MASK                                     0x7F00
542*53ee8cc1Swenshuai.xi     #define TSO_STATUS_SVQ_SHIFT                                    8
543*53ee8cc1Swenshuai.xi     #define TSO_STATUS_PDFLT                                        0x8000
544*53ee8cc1Swenshuai.xi 
545*53ee8cc1Swenshuai.xi     REG16_TSO                             FILE_TIMER[2];            //4c ~ 4d
546*53ee8cc1Swenshuai.xi 
547*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_STATUS1;              //4e
548*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_1                         0x0001
549*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_2                         0x0002
550*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_3                         0x0004
551*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_4                         0x0008
552*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_5                         0x0010
553*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_6                         0x0020
554*53ee8cc1Swenshuai.xi 
555*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_4F_5A[12];        //4f~5a
556*53ee8cc1Swenshuai.xi 
557*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_HIGH;         //5b
558*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_LOW;          //5c
559*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_1T;           //5d
560*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_BLOCK_SIZE_DB;        //5e
561*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_OPT_SZIE_DB;          //5f
562*53ee8cc1Swenshuai.xi 
563*53ee8cc1Swenshuai.xi     REG32_TSO                             CFG_TSO_60_63[2];         //60~63
564*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_Filein_Ctrl;          //64
565*53ee8cc1Swenshuai.xi     REG32_TSO                             CFG_TSO_65_68[2];         //65~68
566*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_Filein_Ctrl1;         //69
567*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_CTRL_MASK                                    0x0007
568*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_RSTART                                       0x0001
569*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_ABORT                                        0x0002
570*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_TRUST                                        0x0004
571*53ee8cc1Swenshuai.xi 
572*53ee8cc1Swenshuai.xi     REG16_TSO                             PKT_CNT_SEL;              //6a
573*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_RETURN_SEL_MASK                             0x000F
574*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_RETURN_SEL_SHIFT                            0
575*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_LOCKED_PKT_CNT_MASK                     0x00F0
576*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_LOCKED_PKT_CNT_SHIFT                    4
577*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_PKT_CNTT_DBG_MASK                       0xFF00
578*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_PKT_CNTT_DBG_SHIFT                      8
579*53ee8cc1Swenshuai.xi 
580*53ee8cc1Swenshuai.xi     REG16_TSO                             PKT_CHK_SIZE_FIN;         //6b
581*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN_MASK                               0x00FF
582*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN_SHIFT                              0
583*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN1_MASK                              0xFF00
584*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN1_SHIFT                             8
585*53ee8cc1Swenshuai.xi 
586*53ee8cc1Swenshuai.xi     REG32_TSO                             LPCR2_BUF;                //6c~6d
587*53ee8cc1Swenshuai.xi     REG32_TSO                             LPCR2_BUF1;               //6e~6f
588*53ee8cc1Swenshuai.xi 
589*53ee8cc1Swenshuai.xi     REG32_TSO                             TIMESTAMP;                //70~71
590*53ee8cc1Swenshuai.xi     REG32_TSO                             TIMESTAMP1;               //72~73
591*53ee8cc1Swenshuai.xi 
592*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO2MI_RADDR;             //74~75
593*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO2MI_RADDR1;            //76~77
594*53ee8cc1Swenshuai.xi 
595*53ee8cc1Swenshuai.xi     REG16_TSO                             CMD_QUEUE_STATUS;         //78
596*53ee8cc1Swenshuai.xi     #define TSO_CMDQ_SIZE                                           16
597*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_COUNT_MASK                  0x000F
598*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_COUNT_SHIFT                 0
599*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_LEVEL_MASK                  0x0030
600*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_LEVEL_SHIFT                 4
601*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_FIFO_FULL                      0x0040
602*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_FIFO_EMPTY                     0x0080
603*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_COUNT_MASK                 0x0F00
604*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_COUNT_SHIFT                8
605*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_LEVEL_MASK                 0x3000
606*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_LEVEL_SHIFT                12
607*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_FIFO_FULL                     0x4000
608*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_FIFO_EMPTY                    0x8000
609*53ee8cc1Swenshuai.xi 
610*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_FILE_CONFIG;          //79
611*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO2MI_RPRIORITY                        0x0001
612*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_MEM_TS_DATA_ENDIAN                      0x0002
613*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_MEM_TS_W_ORDER                          0x0004
614*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_LPCR2_WLD                               0x0008
615*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_LPCR2_LOAD                              0x0010
616*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_DIS_MIU_RQ                              0x0020
617*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO_RADDR_READ                          0x0040
618*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TS_DATA_PORT_SEL                        0x0080
619*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO_FILE_IN                             0x0100
620*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TIMER_EN                                0x0200
621*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_PKT_192_BLK_DISABLE                     0x0400
622*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_PKT_192_EN                              0x0800
623*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSP_FILE_SEGMENT                        0x1000
624*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_CLK_STAMP_27_EN                         0x2000
625*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_INIT_TIMESTAMP                          0x4000
626*53ee8cc1Swenshuai.xi 
627*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_FILE_CONFIG1;         //7a
628*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO2MI_RPRIORITY                       0x0001
629*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_MEM_TS_DATA_ENDIAN                     0x0002
630*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_MEM_TS_W_ORDER                         0x0004
631*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_LPCR2_WLD                              0x0008
632*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_LPCR2_LOAD                             0x0010
633*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_DIS_MIU_RQ                             0x0020
634*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO_RADDR_READ                         0x0040
635*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TS_DATA_PORT_SEL                       0x0080
636*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO_FILE_IN                            0x0100
637*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TIMER_EN                               0x0200
638*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_PKT_192_BLK_DISABLE                    0x0400
639*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_PKT_192_EN                             0x0800
640*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSP_FILE_SEGMENT                       0x1000
641*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_CLK_STAMP_27_EN                        0x2000
642*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_INIT_TIMESTAMP                         0x4000
643*53ee8cc1Swenshuai.xi 
644*53ee8cc1Swenshuai.xi     REG16_TSO                             INTERRUPT;                //7b
645*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_MASK                                        0x00FF
646*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_MASK                                        0xFF00
647*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
648*53ee8cc1Swenshuai.xi     #define TSO_INT_DMA_DONE                                        0x0001
649*53ee8cc1Swenshuai.xi     #define TSO_INT_DMA_DONE1                                       0x0002
650*53ee8cc1Swenshuai.xi     //--------------------------------//
651*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_TRAC_CLK_UPDATE                             0x0004
652*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_DMA_DONE                                    0x0100
653*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_DMA_DONE1                                   0x0200
654*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_TRAC_CLK_UPDATE                             0x0400
655*53ee8cc1Swenshuai.xi 
656*53ee8cc1Swenshuai.xi     REG16_TSO                             INTERRUPT1;               //7c
657*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT1_OVERFLOW                            0x0001
658*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT2_OVERFLOW                            0x0002
659*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT3_OVERFLOW                            0x0004
660*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT4_OVERFLOW                            0x0008
661*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT5_OVERFLOW                            0x0010
662*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT6_OVERFLOW                            0x0020
663*53ee8cc1Swenshuai.xi 
664*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT1_OVERFLOW                            0x0100
665*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT2_OVERFLOW                            0x0200
666*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT3_OVERFLOW                            0x0400
667*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT4_OVERFLOW                            0x0800
668*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT5_OVERFLOW                            0x1000
669*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT6_OVERFLOW                            0x2000
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO_DEBUG;                //7d~7e
672*53ee8cc1Swenshuai.xi 
673*53ee8cc1Swenshuai.xi     REG16_TSO                             DBG_SEL;                  //7f
674*53ee8cc1Swenshuai.xi 
675*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO;
676*53ee8cc1Swenshuai.xi 
677*53ee8cc1Swenshuai.xi 
678*53ee8cc1Swenshuai.xi //TSO1
679*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO1
680*53ee8cc1Swenshuai.xi {
681*53ee8cc1Swenshuai.xi     //----------------------------------------------
682*53ee8cc1Swenshuai.xi     // 0xBF802C00 MIPS direct access
683*53ee8cc1Swenshuai.xi     //----------------------------------------------
684*53ee8cc1Swenshuai.xi 
685*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_0;    //00
686*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_1_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
687*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_1_CONFIG_0_LOCAL_STREAMID_SHIFT     0
688*53ee8cc1Swenshuai.xi 
689*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_1;    //01
690*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_2;    //02
691*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_3;    //03
692*53ee8cc1Swenshuai.xi 
693*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_0;    //04
694*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_2_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
695*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_2_CONFIG_0_LOCAL_STREAMID_SHIFT     0
696*53ee8cc1Swenshuai.xi 
697*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_1;    //05
698*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_2;    //06
699*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_3;    //07
700*53ee8cc1Swenshuai.xi 
701*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_0;    //08
702*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_3_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
703*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_3_CONFIG_0_LOCAL_STREAMID_SHIFT     0
704*53ee8cc1Swenshuai.xi 
705*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_1;    //09
706*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_2;    //0a
707*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_3;    //0b
708*53ee8cc1Swenshuai.xi 
709*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_0;    //0c
710*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_4_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
711*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_4_CONFIG_0_LOCAL_STREAMID_SHIFT     0
712*53ee8cc1Swenshuai.xi 
713*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_1;    //0d
714*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_2;    //0e
715*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_3;    //0f
716*53ee8cc1Swenshuai.xi 
717*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_0;    //10
718*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_5_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
719*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_5_CONFIG_0_LOCAL_STREAMID_SHIFT     0
720*53ee8cc1Swenshuai.xi 
721*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_1;    //11
722*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_2;    //12
723*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_3;    //13
724*53ee8cc1Swenshuai.xi 
725*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_0;    //14
726*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_6_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
727*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_6_CONFIG_0_LOCAL_STREAMID_SHIFT     0
728*53ee8cc1Swenshuai.xi 
729*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_1;    //15
730*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_2;    //16
731*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_3;    //17
732*53ee8cc1Swenshuai.xi 
733*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ1_BASE;                    //18~19
734*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_BASE_MASK                                     0x0FFFFFFF
735*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_BASE_SHIFT                                    0
736*53ee8cc1Swenshuai.xi 
737*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ1_SIZE_200BYTE;            //1a
738*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_SIZE_200BYTE_SVQ_SIZE_MASK                    0xFFFF
739*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_SIZE_200BYTE_SVQ_SIZE_SHIFT                   0
740*53ee8cc1Swenshuai.xi 
741*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ1_TX_CONFIG;               //1b
742*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_WR_THRESHOLD_MASK                   0x000F
743*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_WR_THRESHOLD_SHIFT                  0
744*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_PRIORITY_THRESHOLD_MASK             0x00F0
745*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_PRIORITY_THRESHOLD_SHIFT            4
746*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_FORCEFIRE_CNT_MASK                  0x0F00
747*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_FORCEFIRE_CNT_SHIFT                 8
748*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_TX_RESET                            0x1000
749*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_OVERFLOW_INT_EN                     0x2000
750*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_OVERFLOW_CLR                        0x4000
751*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_SVQ_TX_ENABLE                       0x8000
752*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ2_BASE;                    //1C~1D
753*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ2_SIZE_200BYTE;            //1E
754*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ2_TX_CONFIG;               //1F
755*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ3_BASE;                    //20~21
756*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ3_SIZE_200BYTE;            //22
757*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ3_TX_CONFIG;               //23
758*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ4_BASE;                    //24~25
759*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ4_SIZE_200BYTE;            //26
760*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ4_TX_CONFIG;               //27
761*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ5_BASE;                    //28~29
762*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ5_SIZE_200BYTE;            //2a
763*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ5_TX_CONFIG;               //2b
764*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ6_BASE;                    //2C~2D
765*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ6_SIZE_200BYTE;            //2E
766*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ6_TX_CONFIG;               //2F
767*53ee8cc1Swenshuai.xi 
768*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_CONFIG;                //30
769*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_MODE_MASK                            0x0003 //00=open cable 01=CI+ 10=192 mode
770*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_MODE_SHIT                            0
771*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
772*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_OPENCBL                             0x0000
773*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_CIPL                                0x0001
774*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_192PKT                              0x0002
775*53ee8cc1Swenshuai.xi     //--------------------------------//
776*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_RD_THRESHOLD_MASK                    0x001C //000=1/6 empty 001=1/8 empty 010=1/4 empty 011=1/2 empty  else empty
777*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_RD_THRESHOLD_SHIT                    2
778*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_ARBITOR_MODE_MASK                    0x0060 //00=Run-Robin. 01=fix priority by REG 0x31~33 mode 10=dynamic priority
779*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_ARBITOR_MODE_SHIT                    5
780*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
781*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_RUNROBIN                         0x0000
782*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_FIXPRI                           0x0001
783*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_DYMPRI                           0x0002
784*53ee8cc1Swenshuai.xi     //--------------------------------//
785*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SRAM_SD_EN                           0x0080
786*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_FORCE_RESET                      0x0100
787*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MIU_NS                           0x0200
788*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MOBF_INDEX_MASK                  0x7C00
789*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MOBF_INDEX_SHIFT                 10
790*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_DYNAMIC_PRI                      0x8000
791*53ee8cc1Swenshuai.xi 
792*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_1_2_PRIORITY;          //31
793*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX1_PRIORITY_MASK                              0x003F
794*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX1_PRIORITY_SHIFT                             0
795*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX2_PRIORITY_MASK                              0x3F00
796*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX2_PRIORITY_SHIFT                             8
797*53ee8cc1Swenshuai.xi 
798*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_3_4_PRIORITY;          //32
799*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX3_PRIORITY_MASK                              0x003F
800*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX3_PRIORITY_SHIFT                             0
801*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX4_PRIORITY_MASK                              0x3F00
802*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX4_PRIORITY_SHIFT                             8
803*53ee8cc1Swenshuai.xi 
804*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_5_6_PRIORITY;          //33
805*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX5_PRIORITY_MASK                              0x003F
806*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX5_PRIORITY_SHIFT                             0
807*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX6_PRIORITY_MASK                              0x3F00
808*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX6_PRIORITY_SHIFT                             8
809*53ee8cc1Swenshuai.xi 
810*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ_STATUS;                   //34~35
811*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
812*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_MASK                                        0x000F
813*53ee8cc1Swenshuai.xi     #define TSO_SVQ1_STS_SHIFT                                      0
814*53ee8cc1Swenshuai.xi     #define TSO_SVQ2_STS_SHIFT                                      4
815*53ee8cc1Swenshuai.xi     #define TSO_SVQ3_STS_SHIFT                                      8
816*53ee8cc1Swenshuai.xi     #define TSO_SVQ4_STS_SHIFT                                      12
817*53ee8cc1Swenshuai.xi     #define TSO_SVQ5_STS_SHIFT                                      16
818*53ee8cc1Swenshuai.xi     #define TSO_SVQ6_STS_SHIFT                                      20
819*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EVER_FULL                                   0x0001
820*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EVER_OVF                                    0x0002
821*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EMPTY                                       0x0004
822*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_BUSY                                        0x0008
823*53ee8cc1Swenshuai.xi     //--------------------------------//
824*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_OVERFLOW_INT                                  0x01000000
825*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_OVERFLOW_INT                                  0x02000000
826*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_OVERFLOW_INT                                  0x04000000
827*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_OVERFLOW_INT                                  0x08000000
828*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_OVERFLOW_INT                                  0x10000000
829*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_OVERFLOW_INT                                  0x20000000
830*53ee8cc1Swenshuai.xi 
831*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ_STATUS2;                  //36~37
832*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_WATER_LEVEL_MASK                           0x00000003
833*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_WATER_LEVEL_SHIFT                          0
834*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_FULL_MASK                                  0x00000004
835*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_FULL_SHIFT                                 2
836*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_EMPTY_MASK                                 0x00000008
837*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_EMPTY_SHIFT                                3
838*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_WATER_LEVEL_MASK                           0x00000030
839*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_WATER_LEVEL_SHIFT                          4
840*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_FULL_MASK                                  0x00000040
841*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_FULL_SHIFT                                 6
842*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_EMPTY_MASK                                 0x00000080
843*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_EMPTY_SHIFT                                7
844*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_WATER_LEVEL_MASK                           0x00000300
845*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_WATER_LEVEL_SHIFT                          8
846*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_FULL_MASK                                  0x00000400
847*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_FULL_SHIFT                                 10
848*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_EMPTY_MASK                                 0x00000800
849*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_EMPTY_SHIFT                                11
850*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_WATER_LEVEL_MASK                           0x00003000
851*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_WATER_LEVEL_SHIFT                          12
852*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_FULL_MASK                                  0x00004000
853*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_FULL_SHIFT                                 14
854*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_EMPTY_MASK                                 0x00008000
855*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_EMPTY_SHIFT                                15
856*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_WATER_LEVEL_MASK                           0x00030000
857*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_WATER_LEVEL_SHIFT                          16
858*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_FULL_MASK                                  0x00040000
859*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_FULL_SHIFT                                 18
860*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_EMPTY_MASK                                 0x00080000
861*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_EMPTY_SHIFT                                19
862*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_WATER_LEVEL_MASK                           0x00300000
863*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_WATER_LEVEL_SHIFT                          20
864*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_FULL_MASK                                  0x00400000
865*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_FULL_SHIFT                                 22
866*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_EMPTY_MASK                                 0x00800000
867*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_EMPTY_SHIFT                                23
868*53ee8cc1Swenshuai.xi 
869*53ee8cc1Swenshuai.xi     REG32_TSO                             DELTA;                        //38~39
870*53ee8cc1Swenshuai.xi 
871*53ee8cc1Swenshuai.xi     REG16_TSO                             DELTA_CONFIG;                 //3a
872*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_MASK                      0x0007
873*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_SHIFT                     0
874*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_1                         1
875*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_2                         2
876*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_3                         3
877*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_4                         4
878*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_5                         5
879*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_6                         6
880*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_DELTA_CLR                             0x0008
881*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_MAX_ID_MASK                           0x0070
882*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_MAX_ID_SHIFT                          8
883*53ee8cc1Swenshuai.xi 
884*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO1_CFG3B_52[0x53 - 0x3B];      //3b~52
885*53ee8cc1Swenshuai.xi 
886*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO_MIU_SEL_1;                   //53
887*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX1_MASK                                 0x0003
888*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX1_SHIFT                                0
889*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX2_MASK                                 0x000C
890*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX2_SHIFT                                2
891*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX3_MASK                                 0x0030
892*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX3_SHIFT                                4
893*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX4_MASK                                 0x00C0
894*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX4_SHIFT                                6
895*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX5_MASK                                 0x0300
896*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX5_SHIFT                                8
897*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX6_MASK                                 0x0C00
898*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX6_SHIFT                                10
899*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQRX_MASK                                  0x300
900*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQRX_SHIFT                                 12
901*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH5FILEIN_MASK                              0xC000
902*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH5FILEIN_SHIFT                             14
903*53ee8cc1Swenshuai.xi 
904*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO_MIU_SEL_2;                   //54
905*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH6FILEIN_MASK                              0x0003
906*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH6FILEIN_SHIFT                             0
907*53ee8cc1Swenshuai.xi 
908*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO1_CFG55_69[0x70 - 0x55];      //55~69
909*53ee8cc1Swenshuai.xi 
910*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO1_PKT_TIME_THRESHOLD_CFG70;   //70
911*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO1_DATA_TRACING_CONFIG_CFG71;  //71
912*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_TRACING_ST_CLR                            0x0001     // 1: data rate trace status clear
913*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_TRACING_ST_LD                             0x0002     // 1: load latest info  0: keep old info
914*53ee8cc1Swenshuai.xi     #define TSO1_REG_MAX_MIN_EVER_CURRENT                           0x0004     // 1: max/min ever,     0: max/min in current sample period
915*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_RATE_SRC_SEL_MASK                         0x00F0
916*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_RATE_SRC_SEL_SHIFT                        4
917*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_TRACING_SHIFT_VAL_MASK                    0x0F00
918*53ee8cc1Swenshuai.xi     #define TSO1_REG_DATA_TRACING_SHIFT_VAL_SHIFT                   8
919*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO1_REG_AVG_PKT_TIME;     //72~73
920*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO1_MIN_PKT_TIME;         //74~75
921*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO1_MAX_PKT_TIME;         //76~77
922*53ee8cc1Swenshuai.xi 
923*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO1;
924*53ee8cc1Swenshuai.xi 
925*53ee8cc1Swenshuai.xi 
926*53ee8cc1Swenshuai.xi //TSO2
927*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO2
928*53ee8cc1Swenshuai.xi {
929*53ee8cc1Swenshuai.xi     //----------------------------------------------
930*53ee8cc1Swenshuai.xi     // 0xBF802A00 MIPS direct access
931*53ee8cc1Swenshuai.xi     //----------------------------------------------
932*53ee8cc1Swenshuai.xi 
933*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PVR1_CONFIR1;                //00
934*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_REG_PINGPONG_EN                           0x0001
935*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_EN                                 0x0002
936*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_RST_WADR                           0x0004
937*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_PARSE                              0x0008
938*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_PKT192_EN                                 0x0010
939*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BURST_LEN_MASK                            0x0060
940*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BURST_LEN_SHIFT                           5
941*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_LPCR1_WLD                                 0x0080
942*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_PVR_ALIGN_EN                              0x0100
943*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_DSWAP                              0x0200
944*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_BT_ORDER                           0x0400
945*53ee8cc1Swenshuai.xi     #define TSO2_REG_REC_DATA_INV_EN                                0x0800
946*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BLOCK_DIS                                 0x1000
947*53ee8cc1Swenshuai.xi     #define TSO2_REG_PID_BYPASS_REC                                 0x2000
948*53ee8cc1Swenshuai.xi     #define TSO2_REG_REC_ALL                                        0x4000
949*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_LPCR1_RLD                                 0x8000
950*53ee8cc1Swenshuai.xi 
951*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_HEAD;            //01~02
952*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_MID;             //03~04
953*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_TAIL;            //05~06
954*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_HEAD2;           //07~08
955*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_MID2;            //09~0A
956*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_TAIL2;           //0B~0C
957*53ee8cc1Swenshuai.xi 
958*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PVR1_CONFIR2;                //0D
959*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_SRAM_SD_EN                                0x0001
960*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FLUSH_DATA                                0x0002
961*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_WP_LD                              0x0004
962*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_CLR                                       0x0008
963*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_DMA_FLUSH_EN                              0x0010
964*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FORCE_SYNC_EN                             0x0020
965*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_RECORD_DIS_SYNC_EN                        0x0040
966*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_MIU_HIGHPRI                               0x0080
967*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_RECORD_ALL_OLD                            0x0100
968*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_WRITE_POINTER_TO_NEXT_ADDR_EN             0x0200
969*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_DMAW_PROTECT_EN                           0x0400
970*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_CLR_NO_HIT_INT                            0x0800
971*53ee8cc1Swenshuai.xi 
972*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_LBUD;             //0E~0F
973*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_UBUD;             //10~11
974*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_LPCR1;                 //12~13
975*53ee8cc1Swenshuai.xi 
976*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG14;                      //14
977*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_SRC_MASK                                  0x0003     //01 : from svq merge stream,     10:  MMT function
978*53ee8cc1Swenshuai.xi     #define TSO2_REG_CLK_27M_90K                                    0x0004     // 0 : 90k, 1: 27M
979*53ee8cc1Swenshuai.xi 
980*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG15_1F[11];               //15~1F
981*53ee8cc1Swenshuai.xi 
982*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG20;                      //20
983*53ee8cc1Swenshuai.xi     #define TSO2_REG_SYNC_RISING_DETECT                             0x0001
984*53ee8cc1Swenshuai.xi     #define TSO2_REG_VALID_FALLING_DETECT_INV                       0x0002
985*53ee8cc1Swenshuai.xi     #define TSO2_REG_FROCE_SYNCBYTE                                 0x0004
986*53ee8cc1Swenshuai.xi     #define TSO2_REG_P_SEL                                          0x0008
987*53ee8cc1Swenshuai.xi     #define TSO2_REG_EXT_SYNC_SEL                                   0x0010
988*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_CHK_2T                                    0x0020
989*53ee8cc1Swenshuai.xi     #define TSO2_REG_SERIAL_EXT_SYNC_1T                             0x0040
990*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSIF_EVER_OVERFLOW_CLR                         0x0080
991*53ee8cc1Swenshuai.xi     #define TSO2_REG_PKT_CHK_SIZE_MASK                              0xFF00
992*53ee8cc1Swenshuai.xi     #define TSO2_REG_PKT_CHK_SIZE_SHIFT                             8
993*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MMT_CFG21;                  //21
994*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSO_MMT_EN                                     0x0001
995*53ee8cc1Swenshuai.xi     #define TSO2_REG_3_WIRE_EN_MMT                                  0x0002
996*53ee8cc1Swenshuai.xi     #define TSO2_REG_SW_RST_TS_MMT                                  0x0004
997*53ee8cc1Swenshuai.xi     #define TSO2_REG_LOCKED_PKT_CNT_MMT_LOAD                        0x0008
998*53ee8cc1Swenshuai.xi     #define TSO2_REG_LOCKED_PKT_CNT_MMT_CLR                         0x0010
999*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_WADDR_ERR;        //22~23
1000*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MOBF_CFG24;                 //24
1001*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_STR2MI_WADR_R;              //25~26
1002*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG27;                      //27
1003*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSIF_EVER_OVERFLOW_FLAG                        0x0001
1004*53ee8cc1Swenshuai.xi     #define TSO2_REG_FLUSH_DATA_PVR1_STATUS                         0x0002
1005*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FIFO_STATUS_MASK                          0x003C
1006*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FIFO_STATUS_SHIFT                         2
1007*53ee8cc1Swenshuai.xi 
1008*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG28_2F[8];               //28~2F
1009*53ee8cc1Swenshuai.xi 
1010*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR_CFG30;                  //30
1011*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR1                              0x0001
1012*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_RESET                                     0x0002
1013*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_READ                                      0x0004
1014*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR2                              0x0010
1015*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_RESET                                     0x0020
1016*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_READ                                      0x0040
1017*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR3                              0x0100
1018*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_RESET                                     0x0200
1019*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_READ                                      0x0400
1020*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR4                              0x1000
1021*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_RESET                                     0x2000
1022*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_READ                                      0x4000
1023*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR2_CFG31;                 //31
1024*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR5                              0x0001
1025*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_RESET                                     0x0002
1026*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_READ                                      0x0004
1027*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR6                              0x0010
1028*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_RESET                                     0x0020
1029*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_READ                                      0x0040
1030*53ee8cc1Swenshuai.xi 
1031*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PIDFLT_PCR_CFG32_37[6];     //32~37
1032*53ee8cc1Swenshuai.xi     #define TSO2_REG_PIDFLT_PCR_PID_MASK                            0x1FFF
1033*53ee8cc1Swenshuai.xi     #define TSO2_REG_PIDFLT_PCR_ENPCR                               0x8000
1034*53ee8cc1Swenshuai.xi 
1035*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR1_LOW32_CFG38_39;        //38~39
1036*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR1_VAILD_CFG3A;           //3A
1037*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_33_HIGH                             0x0001
1038*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_EXT_MASK                            0x03FE
1039*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_EXT_SHIFT                           1
1040*53ee8cc1Swenshuai.xi 
1041*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR2_LOW32_CFG3B_3C;        //3B~3C
1042*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR2_VAILD_CFG3D;           //3D
1043*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_33_HIGH                             0x0001
1044*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_EXT_MASK                            0x03FE
1045*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_EXT_SHIFT                           1
1046*53ee8cc1Swenshuai.xi 
1047*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR3_LOW32_CFG3E_3F;        //3E~3F
1048*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR3_VAILD_CFG40;           //40
1049*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_33_HIGH                             0x0001
1050*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_EXT_MASK                            0x03FE
1051*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_EXT_SHIFT                           1
1052*53ee8cc1Swenshuai.xi 
1053*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR4_LOW32_CFG41_42;        //41~42
1054*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR4_VAILD_CFG43;           //43
1055*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_33_HIGH                             0x0001
1056*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_EXT_MASK                            0x03FE
1057*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_EXT_SHIFT                           1
1058*53ee8cc1Swenshuai.xi 
1059*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR5_LOW32_CFG44_45;        //44~45
1060*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR5_VAILD_CFG46;           //46
1061*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_33_HIGH                             0x0001
1062*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_EXT_MASK                            0x03FE
1063*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_EXT_SHIFT                           1
1064*53ee8cc1Swenshuai.xi 
1065*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR6_LOW32_CFG47_48;        //47~48
1066*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR6_VAILD_CFG49;           //49
1067*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_33_HIGH                             0x0001
1068*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_EXT_MASK                            0x03FE
1069*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_EXT_SHIFT                           1
1070*53ee8cc1Swenshuai.xi 
1071*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG4A_4F[6];                //4A~4F
1072*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PDFLT_CONFIG0_CFG50;     //50
1073*53ee8cc1Swenshuai.xi     #define TSO2_REG_SG_PD_FLT_DISABLE                              0x0001
1074*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_REC_ALL                                  0x0010
1075*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_REC_NULL                                 0x0020
1076*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_OVERFLOW_INT_EN                          0x0040
1077*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_OVERFLOW_CLR                             0x0080
1078*53ee8cc1Swenshuai.xi     #define TSO2_REG_SKIP_TEI_PKT                                   0x0200
1079*53ee8cc1Swenshuai.xi 
1080*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_SG_PDFLT_SVID_EN[2];        //51~54
1081*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PDTABLE_RDATA_CFG55;     //55
1082*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PD_CFG56;                //56
1083*53ee8cc1Swenshuai.xi     #define TSO2_REG_SG_PDTABLE_RDATA_H_MASK                        0x003F
1084*53ee8cc1Swenshuai.xi     #define TSO2_REG_READ_SG_PDFLT_EVER_OVERFLOW                    0x0100
1085*53ee8cc1Swenshuai.xi 
1086*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO2;
1087*53ee8cc1Swenshuai.xi 
1088*53ee8cc1Swenshuai.xi //TSO4
1089*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO4
1090*53ee8cc1Swenshuai.xi {
1091*53ee8cc1Swenshuai.xi     //----------------------------------------------
1092*53ee8cc1Swenshuai.xi     // 0xBF802A00 MIPS direct access
1093*53ee8cc1Swenshuai.xi     //----------------------------------------------
1094*53ee8cc1Swenshuai.xi 
1095*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_1[4];           //0x00~0x03, reg_sync_byte_1_0 ~ reg_sync_byte_1_7
1096*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_MASK0                                    0x00FF
1097*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_SHIFT0                                   0
1098*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_MASK1                                    0xFF00
1099*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_SHIFT1                                   8
1100*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_1_REPLACE[4];   //0x04~0x07, reg_sync_byte_1_0_replace ~ reg_sync_byte_1_7_replace
1101*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_REPLACE_MASK0                            0x00FF
1102*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_REPLACE_SHIFT0                           0
1103*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_REPLACE_MASK1                            0xFF00
1104*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_REPLACE_SHIFT1                           8
1105*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_2[4];           //0x08~0x0B, reg_sync_byte_2_0 ~ reg_sync_byte_2_7
1106*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_2_REPLACE[4];   //0x0C~0x0F, reg_sync_byte_2_0_replace ~ reg_sync_byte_2_7_replace
1107*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_3[4];           //0x10~0x13, reg_sync_byte_3_0 ~ reg_sync_byte_3_7
1108*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_3_REPLACE[4];   //0x14~0x17, reg_sync_byte_3_0_replace ~ reg_sync_byte_3_7_replace
1109*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_4[4];           //0x18~0x1B, reg_sync_byte_4_0 ~ reg_sync_byte_4_7
1110*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_4_REPLACE[4];   //0x1C~0x1F, reg_sync_byte_4_0_replace ~ reg_sync_byte_4_7_replace
1111*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_5[4];           //0x20~0x23, reg_sync_byte_5_0 ~ reg_sync_byte_5_7
1112*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_5_REPLACE[4];   //0x24~0x27, reg_sync_byte_5_0_replace ~ reg_sync_byte_5_7_replace
1113*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_6[4];           //0x28~0x2B, reg_sync_byte_6_0 ~ reg_sync_byte_6_7
1114*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_6_REPLACE[4];   //0x2C~0x2F, reg_sync_byte_6_0_replace ~ reg_sync_byte_6_7_replace
1115*53ee8cc1Swenshuai.xi 
1116*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO4_CFG30_3F[16];    //30~3F    reserved
1117*53ee8cc1Swenshuai.xi 
1118*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_1;       //40
1119*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_0_ENABLE                                 0x0001
1120*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_1_ENABLE                                 0x0002
1121*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_2_ENABLE                                 0x0004
1122*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_3_ENABLE                                 0x0008
1123*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_4_ENABLE                                 0x0010
1124*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_5_ENABLE                                 0x0020
1125*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_6_ENABLE                                 0x0040
1126*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_7_ENABLE                                 0x0080
1127*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_0_REPLACE_ENABLE                         0x0100
1128*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_1_REPLACE_ENABLE                         0x0200
1129*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_2_REPLACE_ENABLE                         0x0400
1130*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_3_REPLACE_ENABLE                         0x0800
1131*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_4_REPLACE_ENABLE                         0x1000
1132*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_5_REPLACE_ENABLE                         0x2000
1133*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_6_REPLACE_ENABLE                         0x4000
1134*53ee8cc1Swenshuai.xi     #define TSO4_SYNC_BYTE_7_REPLACE_ENABLE                         0x8000
1135*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_2;       //41
1136*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_3;       //42
1137*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_4;       //43
1138*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_5;       //44
1139*53ee8cc1Swenshuai.xi     REG16_TSO                             SYNC_BYTE_ENABLE_REPLACE_6;       //45
1140*53ee8cc1Swenshuai.xi 
1141*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO4_CFG46_4F[10];    //46~4F    reserved
1142*53ee8cc1Swenshuai.xi 
1143*53ee8cc1Swenshuai.xi     REG16_TSO                             MERGE_PATH_1_2;           //50
1144*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_1_DISABLE                               0x0001
1145*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_1_BACK_BLOCK_LIVEIN                     0x0002
1146*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_1_NON188_ENABLE                         0x0004
1147*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_1_USE_ORG_SYNC_BYTE                     0x0008
1148*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_2_DISABLE                               0x0100
1149*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_2_BACK_BLOCK_LIVEIN                     0x0200
1150*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_2_NON188_ENABLE                         0x0400
1151*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_2_USE_ORG_SYNC_BYTE                     0x0800
1152*53ee8cc1Swenshuai.xi 
1153*53ee8cc1Swenshuai.xi     REG16_TSO                             MERGE_PATH_3_4;           //51
1154*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_3_DISABLE                               0x0001
1155*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_3_BACK_BLOCK_LIVEIN                     0x0002
1156*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_3_NON188_ENABLE                         0x0004
1157*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_3_USE_ORG_SYNC_BYTE                     0x0008
1158*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_4_DISABLE                               0x0100
1159*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_4_BACK_BLOCK_LIVEIN                     0x0200
1160*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_4_NON188_ENABLE                         0x0400
1161*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_4_USE_ORG_SYNC_BYTE                     0x0800
1162*53ee8cc1Swenshuai.xi 
1163*53ee8cc1Swenshuai.xi     REG16_TSO                             MERGE_PATH_5_6;           //52
1164*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_5_DISABLE                               0x0001
1165*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_5_BACK_BLOCK_LIVEIN                     0x0002
1166*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_5_NON188_ENABLE                         0x0004
1167*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_5_USE_ORG_SYNC_BYTE                     0x0008
1168*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_6_DISABLE                               0x0100
1169*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_6_BACK_BLOCK_LIVEIN                     0x0200
1170*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_6_NON188_ENABLE                         0x0400
1171*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_6_USE_ORG_SYNC_BYTE                     0x0800
1172*53ee8cc1Swenshuai.xi 
1173*53ee8cc1Swenshuai.xi     REG16_TSO                             MERGE_PATH_7_8;           //53
1174*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_7_DISABLE                               0x0001
1175*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_7_BACK_BLOCK_LIVEIN                     0x0002
1176*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_7_NON188_ENABLE                         0x0004
1177*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_7_USE_ORG_SYNC_BYTE                     0x0008
1178*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_8_DISABLE                               0x0100
1179*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_8_BACK_BLOCK_LIVEIN                     0x0200
1180*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_8_NON188_ENABLE                         0x0400
1181*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_PATH_8_USE_ORG_SYNC_BYTE                     0x0800
1182*53ee8cc1Swenshuai.xi 
1183*53ee8cc1Swenshuai.xi     REG16_TSO                             MERGE_CTRL;               //54
1184*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_STATUS_SEL_MASK                         0x000F
1185*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_STATUS_SEL_SHIFT                        0
1186*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ1                                0x0100
1187*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ2                                0x0200
1188*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ3                                0x0400
1189*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ4                                0x0800
1190*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ5                                0x1000
1191*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ6                                0x2000
1192*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ7                                0x4000
1193*53ee8cc1Swenshuai.xi     #define TSO4_MERGE_CTRL_SW_RSTZ8                                0x8000
1194*53ee8cc1Swenshuai.xi 
1195*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO4;
1196*53ee8cc1Swenshuai.xi 
1197*53ee8cc1Swenshuai.xi #endif // _TSO_REG_H_
1198