xref: /utopia/UTPA2-700.0.x/modules/dmx/hal/k6lite/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                      (1)
140*53ee8cc1Swenshuai.xi #define TSO_PIDFLT_NUM                      (256)
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                       0x0E
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 
176*53ee8cc1Swenshuai.xi 
177*53ee8cc1Swenshuai.xi typedef struct _REG32_TSO
178*53ee8cc1Swenshuai.xi {
179*53ee8cc1Swenshuai.xi     volatile MS_U16                L;
180*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_L;
181*53ee8cc1Swenshuai.xi     volatile MS_U16                H;
182*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_H;
183*53ee8cc1Swenshuai.xi } REG32_TSO;
184*53ee8cc1Swenshuai.xi 
185*53ee8cc1Swenshuai.xi typedef struct _REG16_TSO
186*53ee8cc1Swenshuai.xi {
187*53ee8cc1Swenshuai.xi     volatile MS_U16                data;
188*53ee8cc1Swenshuai.xi     volatile MS_U16                _resv;
189*53ee8cc1Swenshuai.xi } REG16_TSO;
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi //TSO0
192*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO
193*53ee8cc1Swenshuai.xi {
194*53ee8cc1Swenshuai.xi     //----------------------------------------------
195*53ee8cc1Swenshuai.xi     // 0xBF802A00 MIPS direct access
196*53ee8cc1Swenshuai.xi     //----------------------------------------------
197*53ee8cc1Swenshuai.xi                                                                     // Index(word)  CPU(byte)     MIPS(0x13A00/2+index)*4
198*53ee8cc1Swenshuai.xi     REG16_TSO                             SW_RSTZ;                  //00
199*53ee8cc1Swenshuai.xi     #define TSO_SW_RSTZ                                             0x0001
200*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CLK_STAMP                                    0x0002
201*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CMDQ1                                        0x0100
202*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB1                                          0x0200
203*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB_DMA1                                      0x0400
204*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_TS_FIN1                                      0x0800
205*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CMDQ                                         0x1000
206*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB                                           0x2000
207*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_WB_DMA                                       0x4000
208*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_FIN                                          0x8000
209*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_ALL                                          0xF002
210*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_ALL1                                         0x0F02
211*53ee8cc1Swenshuai.xi 
212*53ee8cc1Swenshuai.xi 
213*53ee8cc1Swenshuai.xi     REG16_TSO                             SW_RSTZ1;                 //01
214*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF1                                  0x0001
215*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF2                                  0x0002
216*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF3                                  0x0004
217*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF4                                  0x0008
218*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF5                                  0x0010
219*53ee8cc1Swenshuai.xi     #define TSO_SW_RST_CHANNEL_IF6                                  0x0020
220*53ee8cc1Swenshuai.xi 
221*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_02_03[2];
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG0;     //04
224*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF //for internal sync
225*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
226*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
227*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
228*53ee8cc1Swenshuai.xi 
229*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG1;     //05
230*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_SYNC_BYTE_MASK                 0x00FF
231*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_SYNC_BYTE_SHIFT                0
232*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
233*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_INPUT_MODE_SHIFT           8
234*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
235*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF1_CONFIG1_PKT_HEADER_LEN_SHIFT           11
236*53ee8cc1Swenshuai.xi 
237*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG2;     //06
238*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
239*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_P_SEL                                         0x0001
240*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_EXT_SYNC_SEL                                  0x0002
241*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TS_SIN_C0                                     0x0004
242*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TS_SIN_C1                                     0x0008
243*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_REC_ALL                                0x0010
244*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_REC_NULL                               0x0020
245*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_OVF_INT_EN                             0x0040
246*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PIDFLT_OVF_CLR                                0x0080
247*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_FORCE_SYNC_BYTE                               0x0100
248*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_SKIP_TEI_PKT                                  0x0200
249*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_DIS_LOCKED_PKT_CNT                            0x0400
250*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_CLR_LOCKED_PKT_CNT                            0x0800
251*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TRC_CLK_LD_DIS                                0x1000
252*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_TRC_CLK_CLR                                   0x2000
253*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_SRC_ID_FLT_EN                                 0x4000
254*53ee8cc1Swenshuai.xi     #define TSO_CHCFG_PKT_CVT_OVERFLOW1_CLR                         0x8000
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi     //--------------------------------//
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF1_CONFIG3;     //07    reserved
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG0;     //08
261*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
262*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
263*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
264*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
265*53ee8cc1Swenshuai.xi 
266*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG1;     //09
267*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_SYNC_BYTE_MASK                 0x00FF
268*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_SYNC_BYTE_SHIFT                0
269*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
270*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_INPUT_MODE_SHIFT           8
271*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
272*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG1_PKT_HEADER_LEN_SHIFT           11
273*53ee8cc1Swenshuai.xi 
274*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG2;     //0a
275*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_P_SEL                          0x0001
276*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_EXT_SYNC_SEL                   0x0002
277*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TS_SIN_C0                      0x0004
278*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TS_SIN_C1                      0x0008
279*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_REC_ALL                 0x0010
280*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_REC_NULL                0x0020
281*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
282*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
283*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_FORCE_SYNC_BYTE                0x0100
284*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_SKIP_TEI_PKT                   0x0200
285*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
286*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
287*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
288*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_TRACING_CLOCK_CLR              0x2000
289*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_SRC_ID_FLT_EN                  0x4000
290*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF2_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
291*53ee8cc1Swenshuai.xi 
292*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF2_CONFIG3;     //0b    reserved
293*53ee8cc1Swenshuai.xi 
294*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG0;     //0c
295*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
296*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
297*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
298*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
299*53ee8cc1Swenshuai.xi 
300*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG1;     //0d
301*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_SYNC_BYTE_MASK                 0x00FF
302*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_SYNC_BYTE_SHIFT                0
303*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
304*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_INPUT_MODE_SHIFT           8
305*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
306*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG1_PKT_HEADER_LEN_SHIFT           11
307*53ee8cc1Swenshuai.xi 
308*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG2;     //0e
309*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_P_SEL                          0x0001
310*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_EXT_SYNC_SEL                   0x0002
311*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TS_SIN_C0                      0x0004
312*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TS_SIN_C1                      0x0008
313*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_REC_ALL                 0x0010
314*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_REC_NULL                0x0020
315*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
316*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
317*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_FORCE_SYNC_BYTE                0x0100
318*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_SKIP_TEI_PKT                   0x0200
319*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
320*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
321*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
322*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_TRACING_CLOCK_CLR              0x2000
323*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_SRC_ID_FLT_EN                  0x4000
324*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF3_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
325*53ee8cc1Swenshuai.xi 
326*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF3_CONFIG3;     //0f    reserved
327*53ee8cc1Swenshuai.xi 
328*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG0;     //10
329*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
330*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
331*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
332*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
333*53ee8cc1Swenshuai.xi 
334*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG1;     //11
335*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_SYNC_BYTE_MASK                 0x00FF
336*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_SYNC_BYTE_SHIFT                0
337*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
338*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_INPUT_MODE_SHIFT           8
339*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
340*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG1_PKT_HEADER_LEN_SHIFT           11
341*53ee8cc1Swenshuai.xi 
342*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG2;     //12
343*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_P_SEL                          0x0001
344*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_EXT_SYNC_SEL                   0x0002
345*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TS_SIN_C0                      0x0004
346*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TS_SIN_C1                      0x0008
347*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_REC_ALL                 0x0010
348*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_REC_NULL                0x0020
349*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
350*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
351*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_FORCE_SYNC_BYTE                0x0100
352*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_SKIP_TEI_PKT                   0x0200
353*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
354*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
355*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
356*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_TRACING_CLOCK_CLR              0x2000
357*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_SRC_ID_FLT_EN                  0x4000
358*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF4_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
359*53ee8cc1Swenshuai.xi 
360*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF4_CONFIG3;     //13 reserved
361*53ee8cc1Swenshuai.xi 
362*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG0;     //14
363*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
364*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
365*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
366*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
367*53ee8cc1Swenshuai.xi 
368*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG1;     //15
369*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_SYNC_BYTE_MASK                 0x00FF
370*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_SYNC_BYTE_SHIFT                0
371*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
372*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_INPUT_MODE_SHIFT           8
373*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
374*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG1_PKT_HEADER_LEN_SHIFT           11
375*53ee8cc1Swenshuai.xi 
376*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG2;     //16
377*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_P_SEL                          0x0001
378*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_EXT_SYNC_SEL                   0x0002
379*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TS_SIN_C0                      0x0004
380*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TS_SIN_C1                      0x0008
381*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_REC_ALL                 0x0010
382*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_REC_NULL                0x0020
383*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
384*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
385*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_FORCE_SYNC_BYTE                0x0100
386*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_SKIP_TEI_PKT                   0x0200
387*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
388*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
389*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
390*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_TRACING_CLOCK_CLR              0x2000
391*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_SRC_ID_FLT_EN                  0x4000
392*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF5_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
393*53ee8cc1Swenshuai.xi 
394*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF5_CONFIG3;     //17 reserved
395*53ee8cc1Swenshuai.xi 
396*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG0;     //18
397*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PKT_SIZE_CHK_LIVE_MASK         0x00FF
398*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PKT_SIZE_CHK_LIVE_SHIFT        0
399*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PIDFLT_PKT_SIZE_MASK           0xFF00
400*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG0_PIDFLT_PKT_SIZE_SHIFT          8
401*53ee8cc1Swenshuai.xi 
402*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG1;     //19
403*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_SYNC_BYTE_MASK                 0x00FF
404*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_SYNC_BYTE_SHIFT                0
405*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_INPUT_MODE_MASK            0x0700
406*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_INPUT_MODE_SHIFT           8
407*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_HEADER_LEN_MASK            0xF800
408*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG1_PKT_HEADER_LEN_SHIFT           11
409*53ee8cc1Swenshuai.xi 
410*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG2;     //1a
411*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_P_SEL                          0x0001
412*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_EXT_SYNC_SEL                   0x0002
413*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TS_SIN_C0                      0x0004
414*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TS_SIN_C1                      0x0008
415*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_REC_ALL                 0x0010
416*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_REC_NULL                0x0020
417*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_OVERFLOW_INT_EN         0x0040
418*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PIDFLT_OVERFLOW_CLR            0x0080
419*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_FORCE_SYNC_BYTE                0x0100
420*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_SKIP_TEI_PKT                   0x0200
421*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_DIS_LOCKED_PKT_CNT             0x0400
422*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_CLR_LOCKED_PKT_CNT             0x0800
423*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TRACING_CLOCK_LD_DIS           0x1000
424*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_TRACING_CLOCK_CLR              0x2000
425*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_SRC_ID_FLT_EN                  0x4000
426*53ee8cc1Swenshuai.xi     #define TSO_CHANNEL0_IF6_CONFIG2_PKT_CVT_OVERFLOW1_CLR          0x8000
427*53ee8cc1Swenshuai.xi 
428*53ee8cc1Swenshuai.xi     REG16_TSO                             CHANNEL0_IF6_CONFIG3;     //1b reserved
429*53ee8cc1Swenshuai.xi 
430*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG0;              //1c
431*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_EN                                      0x0001
432*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_TS_SIN_C0                               0x0002
433*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_TS_SIN_C1                               0x0004
434*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P_3WIRE_MODE                              0x0008
435*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_BYPASS_S2P                                  0x0010
436*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_EN                                     0x0100
437*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_TS_SIN_C0                              0x0200
438*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_TS_SIN_C1                              0x0400
439*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_S2P1_3WIRE_MODE                             0x0800
440*53ee8cc1Swenshuai.xi     #define TSO_CONFIG0_BYPASS_S2P1                                 0x1000
441*53ee8cc1Swenshuai.xi 
442*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG1;              //1d
443*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
444*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_OUT_EN                                     0x0001
445*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF1_EN                                   0x0002
446*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF2_EN                                   0x0004
447*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF3_EN                                   0x0008
448*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF4_EN                                   0x0010
449*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF5_EN                                   0x0020
450*53ee8cc1Swenshuai.xi     #define TSO_CFG1_TSO_TSIF6_EN                                   0x0040
451*53ee8cc1Swenshuai.xi     //--------------------------------//
452*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PAUSE_OPIF                                  0x0080
453*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_TURN_OFF_MCM                                0x0100
454*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_CLOCK_TRACING_SEL_MASK                      0x0E00
455*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_CLOCK_TRACING_SEL_SHIFT                     9
456*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_SERIAL_OUT_EN                               0x1000
457*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PKT_LOCK_CLR                                0x2000
458*53ee8cc1Swenshuai.xi     #define TSO_CONFIG1_PKT_NULL_EN                                 0x4000
459*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
460*53ee8cc1Swenshuai.xi     #define TSO_CFG1_PKT_PARAM_LD                                   0x8000
461*53ee8cc1Swenshuai.xi     //--------------------------------//
462*53ee8cc1Swenshuai.xi 
463*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG2;              //1e
464*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_VALID_BYTE_CNT_MASK                         0x00FF
465*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_VALID_BYTE_CNT_SHIFT                        0
466*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_INVALID_BYTE_CNT_MASK                       0xFF00
467*53ee8cc1Swenshuai.xi     #define TSO_CONFIG2_INVALID_BYTE_CNT_SHIFT                      8
468*53ee8cc1Swenshuai.xi 
469*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG3;              //1f
470*53ee8cc1Swenshuai.xi     #define TSO_CONFIG3_OPIF_PKT_SIZE_MASK                          0xFFFF
471*53ee8cc1Swenshuai.xi 
472*53ee8cc1Swenshuai.xi     REG32_TSO                             PIDFLTS[16];              //20~3e  PID00~0F
473*53ee8cc1Swenshuai.xi     //FOR ALL PID
474*53ee8cc1Swenshuai.xi     #define TSO_PID_ORIGINAL_PID_MASK                               0x00001FFF
475*53ee8cc1Swenshuai.xi     #define TSO_PID_ORIGINAL_PID_SHIFT                              0
476*53ee8cc1Swenshuai.xi     #define TSO_PID_SOURCE_SEL_MASK                                 0x0000E000
477*53ee8cc1Swenshuai.xi     #define TSO_PID_SOURCE_SEL_SHIFT                                13
478*53ee8cc1Swenshuai.xi     #define TSO_PID_NEW_PID_MASK                                    0x1FFF0000
479*53ee8cc1Swenshuai.xi     #define TSO_PID_NEW_PID_SHIFT                                   16
480*53ee8cc1Swenshuai.xi     #define TSO_PID_REPLACE_EN                                      0x80000000
481*53ee8cc1Swenshuai.xi 
482*53ee8cc1Swenshuai.xi     REG16_TSO                             CLR_BYTE_CNT;             //40
483*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_1                                      0x0001
484*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_2                                      0x0002
485*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_3                                      0x0004
486*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_4                                      0x0008
487*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_5                                      0x0010
488*53ee8cc1Swenshuai.xi     #define TSO_CLR_BYTE_CNT_6                                      0x0020
489*53ee8cc1Swenshuai.xi 
490*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_41_42[2];         //41~42
491*53ee8cc1Swenshuai.xi 
492*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG4;              //43
493*53ee8cc1Swenshuai.xi     #define TSO_CFG4_LOCK_RETURN_SYSTEM_TIMESTAMP                   0x0001
494*53ee8cc1Swenshuai.xi     #define TSO_CFG4_ENABLE_SYS_TIMESTAMP                           0x0002
495*53ee8cc1Swenshuai.xi     #define TSO_CFG4_SET_SYS_TIMESTAMP_TO_HW                        0x0004
496*53ee8cc1Swenshuai.xi     #define TSO_CFG4_TIMESTAMP_BASE                                 0x0008  //0:90k 1:27m
497*53ee8cc1Swenshuai.xi     #define TSO_CFG4_PDTABLE_SRAM_SD_EN                             0x0010
498*53ee8cc1Swenshuai.xi     //------------------------------------------------------------------------
499*53ee8cc1Swenshuai.xi     #define TSO_CFG4_FIX_TIMESTAMP_RING_BACK_EN                     0x0020
500*53ee8cc1Swenshuai.xi     #define TSO_CFG4_FIX_LPCR_RING_BACK_EN                          0x0040
501*53ee8cc1Swenshuai.xi     #define TSO_CFG4_INIT_TIMESTAMP_RESTART_EN                      0x0080
502*53ee8cc1Swenshuai.xi     //------------------------------------------------------------------------
503*53ee8cc1Swenshuai.xi     #define TSO_CFG4_NULL_PKT_ID_MASK                               0xFF00
504*53ee8cc1Swenshuai.xi     #define TSO_CFG4_NULL_PKT_ID_SHIFT                              8
505*53ee8cc1Swenshuai.xi 
506*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_CONFIG5;              //44
507*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_1                                 0x0001
508*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_2                                 0x0002
509*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_3                                 0x0004
510*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_4                                 0x0008
511*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_5                                 0x0010
512*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_3_WIRE_EN_6                                 0x0020
513*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_DIS_MIU_RQ                                  0x0040
514*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_FIXED_MIU_REG_FLUSH                         0x0080    // fix svq_tx error
515*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_EXTEND_ENABLE                               0x0100    // fix svq_tx error
516*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_VQ_IDLE_CNT_DIS                         0x0200    // fix svq_tx error
517*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_TSIO_MODE                               0x0400
518*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_TSIO2OPIF                               0x0800
519*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_BYPASS_SVQ_FOR_CH1                          0x1000
520*53ee8cc1Swenshuai.xi     #define TSO_CONFIG5_REG_CHECK_VQ_BURST_LEN                      0x2000
521*53ee8cc1Swenshuai.xi 
522*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_ADDR_L;           //45 ind R/W of L addr to pdtable
523*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_ADDR_H;           //46 ind R/W of H addr to pdtable
524*53ee8cc1Swenshuai.xi 
525*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_WDATA_L;          //47 ind R/W of L addr to pdtable
526*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_WDATA_H;          //48 ind R/W of L addr to pdtable
527*53ee8cc1Swenshuai.xi 
528*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_RDATA;            //49 ind of Rdata from pdtable
529*53ee8cc1Swenshuai.xi 
530*53ee8cc1Swenshuai.xi     REG16_TSO                             PDTABLE_EN;               //4a
531*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_W_EN                                        0x0001//Ind W flag to pdtable
532*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_R_EN                                        0x0002//Ind R flag to pdtable
533*53ee8cc1Swenshuai.xi 
534*53ee8cc1Swenshuai.xi     #define TSO_PDTABLE_RDATA_H_MASK                                0x3F00 // ind of Rdata[21:16] from pdtable
535*53ee8cc1Swenshuai.xi 
536*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_STATUS;               //4b
537*53ee8cc1Swenshuai.xi     #define TSO_STATUS_SVQ_MASK                                     0x7F00
538*53ee8cc1Swenshuai.xi     #define TSO_STATUS_SVQ_SHIFT                                    8
539*53ee8cc1Swenshuai.xi     #define TSO_STATUS_PDFLT                                        0x8000
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi     REG16_TSO                             FILE_TIMER[2];            //4c ~ 4d
542*53ee8cc1Swenshuai.xi 
543*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_STATUS1;              //4e
544*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_1                         0x0001
545*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_2                         0x0002
546*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_3                         0x0004
547*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_4                         0x0008
548*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_5                         0x0010
549*53ee8cc1Swenshuai.xi     #define TSO_STATUS1_EVEROVERFLOW_TSIF_6                         0x0020
550*53ee8cc1Swenshuai.xi 
551*53ee8cc1Swenshuai.xi     REG16_TSO                             CFG_TSO_4F_5A[12];        //4f~5a
552*53ee8cc1Swenshuai.xi 
553*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_HIGH;         //5b
554*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_LOW;          //5c
555*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_TRACING_1T;           //5d
556*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_BLOCK_SIZE_DB;        //5e
557*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_OPT_SZIE_DB;          //5f
558*53ee8cc1Swenshuai.xi 
559*53ee8cc1Swenshuai.xi     REG32_TSO                             CFG_TSO_60_63[2];         //60~63
560*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_Filein_Ctrl;          //64
561*53ee8cc1Swenshuai.xi     REG32_TSO                             CFG_TSO_65_68[2];         //65~68
562*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_Filein_Ctrl1;         //69
563*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_CTRL_MASK                                    0x0007
564*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_RSTART                                       0x0001
565*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_ABORT                                        0x0002
566*53ee8cc1Swenshuai.xi     #define TSO_FILEIN_TRUST                                        0x0004
567*53ee8cc1Swenshuai.xi 
568*53ee8cc1Swenshuai.xi     REG16_TSO                             PKT_CNT_SEL;              //6a
569*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_RETURN_SEL_MASK                             0x000F
570*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_RETURN_SEL_SHIFT                            0
571*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_LOCKED_PKT_CNT_MASK                     0x00F0
572*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_LOCKED_PKT_CNT_SHIFT                    4
573*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_PKT_CNTT_DBG_MASK                       0xFF00
574*53ee8cc1Swenshuai.xi     #define TSO_PKT_CNT_DBG_PKT_CNTT_DBG_SHIFT                      8
575*53ee8cc1Swenshuai.xi 
576*53ee8cc1Swenshuai.xi     REG16_TSO                             PKT_CHK_SIZE_FIN;         //6b
577*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN_MASK                               0x00FF
578*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN_SHIFT                              0
579*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN1_MASK                              0xFF00
580*53ee8cc1Swenshuai.xi     #define TSO_PKT_CHK_SIZE_FIN1_SHIFT                             8
581*53ee8cc1Swenshuai.xi 
582*53ee8cc1Swenshuai.xi     REG32_TSO                             LPCR2_BUF;                //6c~6d
583*53ee8cc1Swenshuai.xi     REG32_TSO                             LPCR2_BUF1;               //6e~6f
584*53ee8cc1Swenshuai.xi 
585*53ee8cc1Swenshuai.xi     REG32_TSO                             TIMESTAMP;                //70~71
586*53ee8cc1Swenshuai.xi     REG32_TSO                             TIMESTAMP1;               //72~73
587*53ee8cc1Swenshuai.xi 
588*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO2MI_RADDR;             //74~75
589*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO2MI_RADDR1;            //76~77
590*53ee8cc1Swenshuai.xi 
591*53ee8cc1Swenshuai.xi     REG16_TSO                             CMD_QUEUE_STATUS;         //78
592*53ee8cc1Swenshuai.xi     #define TSO_CMDQ_SIZE                                           16
593*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_COUNT_MASK                  0x000F
594*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_COUNT_SHIFT                 0
595*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_LEVEL_MASK                  0x0030
596*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_WR_LEVEL_SHIFT                 4
597*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_FIFO_FULL                      0x0040
598*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS_CMD_FIFO_EMPTY                     0x0080
599*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_COUNT_MASK                 0x0F00
600*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_COUNT_SHIFT                8
601*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_LEVEL_MASK                 0x3000
602*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_WR_LEVEL_SHIFT                12
603*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_FIFO_FULL                     0x4000
604*53ee8cc1Swenshuai.xi     #define TSO_CMD_QUEUE_STATUS1_CMD_FIFO_EMPTY                    0x8000
605*53ee8cc1Swenshuai.xi 
606*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_FILE_CONFIG;          //79
607*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO2MI_RPRIORITY                        0x0001
608*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_MEM_TS_DATA_ENDIAN                      0x0002
609*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_MEM_TS_W_ORDER                          0x0004
610*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_LPCR2_WLD                               0x0008
611*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_LPCR2_LOAD                              0x0010
612*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_DIS_MIU_RQ                              0x0020
613*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO_RADDR_READ                          0x0040
614*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TS_DATA_PORT_SEL                        0x0080
615*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSO_FILE_IN                             0x0100
616*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TIMER_EN                                0x0200
617*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_PKT_192_BLK_DISABLE                     0x0400
618*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_PKT_192_EN                              0x0800
619*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_TSP_FILE_SEGMENT                        0x1000
620*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_CLK_STAMP_27_EN                         0x2000
621*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG_INIT_TIMESTAMP                          0x4000
622*53ee8cc1Swenshuai.xi 
623*53ee8cc1Swenshuai.xi     REG16_TSO                             TSO_FILE_CONFIG1;         //7a
624*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO2MI_RPRIORITY                       0x0001
625*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_MEM_TS_DATA_ENDIAN                     0x0002
626*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_MEM_TS_W_ORDER                         0x0004
627*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_LPCR2_WLD                              0x0008
628*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_LPCR2_LOAD                             0x0010
629*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_DIS_MIU_RQ                             0x0020
630*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO_RADDR_READ                         0x0040
631*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TS_DATA_PORT_SEL                       0x0080
632*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSO_FILE_IN                            0x0100
633*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TIMER_EN                               0x0200
634*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_PKT_192_BLK_DISABLE                    0x0400
635*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_PKT_192_EN                             0x0800
636*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_TSP_FILE_SEGMENT                       0x1000
637*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_CLK_STAMP_27_EN                        0x2000
638*53ee8cc1Swenshuai.xi     #define TSO_FILE_CONFIG1_INIT_TIMESTAMP                         0x4000
639*53ee8cc1Swenshuai.xi 
640*53ee8cc1Swenshuai.xi     REG16_TSO                             INTERRUPT;                //7b
641*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_MASK                                        0x00FF
642*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_MASK                                        0xFF00
643*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
644*53ee8cc1Swenshuai.xi     #define TSO_INT_DMA_DONE                                        0x0001
645*53ee8cc1Swenshuai.xi     #define TSO_INT_DMA_DONE1                                       0x0002
646*53ee8cc1Swenshuai.xi     //--------------------------------//
647*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_TRAC_CLK_UPDATE                             0x0004
648*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_DMA_DONE                                    0x0100
649*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_DMA_DONE1                                   0x0200
650*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_TRAC_CLK_UPDATE                             0x0400
651*53ee8cc1Swenshuai.xi 
652*53ee8cc1Swenshuai.xi     REG16_TSO                             INTERRUPT1;               //7c
653*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT1_OVERFLOW                            0x0001
654*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT2_OVERFLOW                            0x0002
655*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT3_OVERFLOW                            0x0004
656*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT4_OVERFLOW                            0x0008
657*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT5_OVERFLOW                            0x0010
658*53ee8cc1Swenshuai.xi     #define TSO_INT_SRC_PIDFLT6_OVERFLOW                            0x0020
659*53ee8cc1Swenshuai.xi 
660*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT1_OVERFLOW                            0x0100
661*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT2_OVERFLOW                            0x0200
662*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT3_OVERFLOW                            0x0400
663*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT4_OVERFLOW                            0x0800
664*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT5_OVERFLOW                            0x1000
665*53ee8cc1Swenshuai.xi     #define TSO_INT_STS_PIDFLT6_OVERFLOW                            0x2000
666*53ee8cc1Swenshuai.xi 
667*53ee8cc1Swenshuai.xi     REG32_TSO                             TSO_DEBUG;                //7d~7e
668*53ee8cc1Swenshuai.xi 
669*53ee8cc1Swenshuai.xi     REG16_TSO                             DBG_SEL;                  //7f
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO;
672*53ee8cc1Swenshuai.xi 
673*53ee8cc1Swenshuai.xi 
674*53ee8cc1Swenshuai.xi //TSO1
675*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO1
676*53ee8cc1Swenshuai.xi {
677*53ee8cc1Swenshuai.xi     //----------------------------------------------
678*53ee8cc1Swenshuai.xi     // 0xBF802C00 MIPS direct access
679*53ee8cc1Swenshuai.xi     //----------------------------------------------
680*53ee8cc1Swenshuai.xi 
681*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_0;    //00
682*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_1_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
683*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_1_CONFIG_0_LOCAL_STREAMID_SHIFT     0
684*53ee8cc1Swenshuai.xi 
685*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_1;    //01
686*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_2;    //02
687*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_1_CONFIG_3;    //03
688*53ee8cc1Swenshuai.xi 
689*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_0;    //04
690*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_2_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
691*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_2_CONFIG_0_LOCAL_STREAMID_SHIFT     0
692*53ee8cc1Swenshuai.xi 
693*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_1;    //05
694*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_2;    //06
695*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_2_CONFIG_3;    //07
696*53ee8cc1Swenshuai.xi 
697*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_0;    //08
698*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_3_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
699*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_3_CONFIG_0_LOCAL_STREAMID_SHIFT     0
700*53ee8cc1Swenshuai.xi 
701*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_1;    //09
702*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_2;    //0a
703*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_3_CONFIG_3;    //0b
704*53ee8cc1Swenshuai.xi 
705*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_0;    //0c
706*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_4_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
707*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_4_CONFIG_0_LOCAL_STREAMID_SHIFT     0
708*53ee8cc1Swenshuai.xi 
709*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_1;    //0d
710*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_2;    //0e
711*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_4_CONFIG_3;    //0f
712*53ee8cc1Swenshuai.xi 
713*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_0;    //10
714*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_5_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
715*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_5_CONFIG_0_LOCAL_STREAMID_SHIFT     0
716*53ee8cc1Swenshuai.xi 
717*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_1;    //11
718*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_2;    //12
719*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_5_CONFIG_3;    //13
720*53ee8cc1Swenshuai.xi 
721*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_0;    //14
722*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_6_CONFIG_0_LOCAL_STREAMID_MASK      0x00FF
723*53ee8cc1Swenshuai.xi     #define TSO1_REG_PRE_HEADER_6_CONFIG_0_LOCAL_STREAMID_SHIFT     0
724*53ee8cc1Swenshuai.xi 
725*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_1;    //15
726*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_2;    //16
727*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_PRE_HEADER_6_CONFIG_3;    //17
728*53ee8cc1Swenshuai.xi 
729*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ1_BASE;                    //18~19
730*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_BASE_MASK                                     0x0FFFFFFF
731*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_BASE_SHIFT                                    0
732*53ee8cc1Swenshuai.xi 
733*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ1_SIZE_200BYTE;            //1a
734*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_SIZE_200BYTE_SVQ_SIZE_MASK                    0xFFFF
735*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_SIZE_200BYTE_SVQ_SIZE_SHIFT                   0
736*53ee8cc1Swenshuai.xi 
737*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ1_TX_CONFIG;               //1b
738*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_WR_THRESHOLD_MASK                   0x000F
739*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_WR_THRESHOLD_SHIFT                  0
740*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_PRIORITY_THRESHOLD_MASK             0x00F0
741*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_PRIORITY_THRESHOLD_SHIFT            4
742*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_FORCEFIRE_CNT_MASK                  0x0F00
743*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_FORCEFIRE_CNT_SHIFT                 8
744*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_TX_RESET                            0x1000
745*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_OVERFLOW_INT_EN                     0x2000
746*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_OVERFLOW_CLR                        0x4000
747*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_CONFIG_SVQ_TX_ENABLE                       0x8000
748*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ2_BASE;                    //1C~1D
749*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ2_SIZE_200BYTE;            //1E
750*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ2_TX_CONFIG;               //1F
751*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ3_BASE;                    //20~21
752*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ3_SIZE_200BYTE;            //22
753*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ3_TX_CONFIG;               //23
754*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ4_BASE;                    //24~25
755*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ4_SIZE_200BYTE;            //26
756*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ4_TX_CONFIG;               //27
757*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ5_BASE;                    //28~29
758*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ5_SIZE_200BYTE;            //2a
759*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ5_TX_CONFIG;               //2b
760*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ6_BASE;                    //2C~2D
761*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ6_SIZE_200BYTE;            //2E
762*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ6_TX_CONFIG;               //2F
763*53ee8cc1Swenshuai.xi 
764*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_CONFIG;                //30
765*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_MODE_MASK                            0x0003 //00=open cable 01=CI+ 10=192 mode
766*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_MODE_SHIT                            0
767*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
768*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_OPENCBL                             0x0000
769*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_CIPL                                0x0001
770*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_MODE_192PKT                              0x0002
771*53ee8cc1Swenshuai.xi     //--------------------------------//
772*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
773*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_RD_THRESHOLD_SHIT                    2
774*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
775*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_ARBITOR_MODE_SHIT                    5
776*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
777*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_RUNROBIN                         0x0000
778*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_FIXPRI                           0x0001
779*53ee8cc1Swenshuai.xi     #define TSO_SVQ_RX_CFG_ARBMODE_DYMPRI                           0x0002
780*53ee8cc1Swenshuai.xi     //--------------------------------//
781*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SRAM_SD_EN                           0x0080
782*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_FORCE_RESET                      0x0100
783*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MIU_NS                           0x0200
784*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MOBF_INDEX_MASK                  0x7C00
785*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_MOBF_INDEX_SHIFT                 10
786*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX_CONFIG_SVQ_DYNAMIC_PRI                      0x8000
787*53ee8cc1Swenshuai.xi 
788*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_1_2_PRIORITY;          //31
789*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX1_PRIORITY_MASK                              0x003F
790*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX1_PRIORITY_SHIFT                             0
791*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX2_PRIORITY_MASK                              0x3F00
792*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX2_PRIORITY_SHIFT                             8
793*53ee8cc1Swenshuai.xi 
794*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_3_4_PRIORITY;          //32
795*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX3_PRIORITY_MASK                              0x003F
796*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX3_PRIORITY_SHIFT                             0
797*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX4_PRIORITY_MASK                              0x3F00
798*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX4_PRIORITY_SHIFT                             8
799*53ee8cc1Swenshuai.xi 
800*53ee8cc1Swenshuai.xi     REG16_TSO                             SVQ_RX_5_6_PRIORITY;          //33
801*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX5_PRIORITY_MASK                              0x003F
802*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX5_PRIORITY_SHIFT                             0
803*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX6_PRIORITY_MASK                              0x3F00
804*53ee8cc1Swenshuai.xi     #define TSO1_SVQ_RX6_PRIORITY_SHIFT                             8
805*53ee8cc1Swenshuai.xi 
806*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ_STATUS;                   //34~35
807*53ee8cc1Swenshuai.xi     //----- for TV comaptibility -----//
808*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_MASK                                        0x000F
809*53ee8cc1Swenshuai.xi     #define TSO_SVQ1_STS_SHIFT                                      0
810*53ee8cc1Swenshuai.xi     #define TSO_SVQ2_STS_SHIFT                                      4
811*53ee8cc1Swenshuai.xi     #define TSO_SVQ3_STS_SHIFT                                      8
812*53ee8cc1Swenshuai.xi     #define TSO_SVQ4_STS_SHIFT                                      12
813*53ee8cc1Swenshuai.xi     #define TSO_SVQ5_STS_SHIFT                                      16
814*53ee8cc1Swenshuai.xi     #define TSO_SVQ6_STS_SHIFT                                      20
815*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EVER_FULL                                   0x0001
816*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EVER_OVF                                    0x0002
817*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_EMPTY                                       0x0004
818*53ee8cc1Swenshuai.xi     #define TSO_SVQ_STS_BUSY                                        0x0008
819*53ee8cc1Swenshuai.xi     //--------------------------------//
820*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_OVERFLOW_INT                                  0x01000000
821*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_OVERFLOW_INT                                  0x02000000
822*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_OVERFLOW_INT                                  0x04000000
823*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_OVERFLOW_INT                                  0x08000000
824*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_OVERFLOW_INT                                  0x10000000
825*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_OVERFLOW_INT                                  0x20000000
826*53ee8cc1Swenshuai.xi 
827*53ee8cc1Swenshuai.xi     REG32_TSO                             SVQ_STATUS2;                  //36~37
828*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_WATER_LEVEL_MASK                           0x00000003
829*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_WATER_LEVEL_SHIFT                          0
830*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_FULL_MASK                                  0x00000004
831*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_FULL_SHIFT                                 2
832*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_EMPTY_MASK                                 0x00000008
833*53ee8cc1Swenshuai.xi     #define TSO1_SVQ1_TX_EMPTY_SHIFT                                3
834*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_WATER_LEVEL_MASK                           0x00000030
835*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_WATER_LEVEL_SHIFT                          4
836*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_FULL_MASK                                  0x00000040
837*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_FULL_SHIFT                                 6
838*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_EMPTY_MASK                                 0x00000080
839*53ee8cc1Swenshuai.xi     #define TSO1_SVQ2_TX_EMPTY_SHIFT                                7
840*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_WATER_LEVEL_MASK                           0x00000300
841*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_WATER_LEVEL_SHIFT                          8
842*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_FULL_MASK                                  0x00000400
843*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_FULL_SHIFT                                 10
844*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_EMPTY_MASK                                 0x00000800
845*53ee8cc1Swenshuai.xi     #define TSO1_SVQ3_TX_EMPTY_SHIFT                                11
846*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_WATER_LEVEL_MASK                           0x00003000
847*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_WATER_LEVEL_SHIFT                          12
848*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_FULL_MASK                                  0x00004000
849*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_FULL_SHIFT                                 14
850*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_EMPTY_MASK                                 0x00008000
851*53ee8cc1Swenshuai.xi     #define TSO1_SVQ4_TX_EMPTY_SHIFT                                15
852*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_WATER_LEVEL_MASK                           0x00030000
853*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_WATER_LEVEL_SHIFT                          16
854*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_FULL_MASK                                  0x00040000
855*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_FULL_SHIFT                                 18
856*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_EMPTY_MASK                                 0x00080000
857*53ee8cc1Swenshuai.xi     #define TSO1_SVQ5_TX_EMPTY_SHIFT                                19
858*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_WATER_LEVEL_MASK                           0x00300000
859*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_WATER_LEVEL_SHIFT                          20
860*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_FULL_MASK                                  0x00400000
861*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_FULL_SHIFT                                 22
862*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_EMPTY_MASK                                 0x00800000
863*53ee8cc1Swenshuai.xi     #define TSO1_SVQ6_TX_EMPTY_SHIFT                                23
864*53ee8cc1Swenshuai.xi 
865*53ee8cc1Swenshuai.xi     REG32_TSO                             DELTA;                        //38~39
866*53ee8cc1Swenshuai.xi 
867*53ee8cc1Swenshuai.xi     REG16_TSO                             DELTA_CONFIG;                 //3a
868*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_MASK                      0x0007
869*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_SHIFT                     0
870*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_1                         1
871*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_2                         2
872*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_3                         3
873*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_4                         4
874*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_5                         5
875*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_SEL_CHANNEL_6                         6
876*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_DELTA_CLR                             0x0008
877*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_MAX_ID_MASK                           0x0070
878*53ee8cc1Swenshuai.xi     #define TSO1_DELTA_CONFIG_MAX_ID_SHIFT                          8
879*53ee8cc1Swenshuai.xi 
880*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO1_CFG3B_52[24];        //3b~52
881*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO_MIU_SEL_1;            //53
882*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX1_MASK                                 0x0003
883*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX1_SHIFT                                0
884*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX2_MASK                                 0x000C
885*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX2_SHIFT                                2
886*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX3_MASK                                 0x0030
887*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX3_SHIFT                                4
888*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX4_MASK                                 0x00C0
889*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX4_SHIFT                                6
890*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX5_MASK                                 0x0300
891*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX5_SHIFT                                8
892*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX6_MASK                                 0x0C00
893*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQTX6_SHIFT                                10
894*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQRX_MASK                                  0x300
895*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_SVQRX_SHIFT                                 12
896*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH5FILEIN_MASK                              0xC000
897*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH5FILEIN_SHIFT                             14
898*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO_MIU_SEL_2;            //54
899*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH6FILEIN_MASK                              0x0003
900*53ee8cc1Swenshuai.xi     #define REG_MIU_SEL_CH6FILEIN_SHIFT                             0
901*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO1;
902*53ee8cc1Swenshuai.xi 
903*53ee8cc1Swenshuai.xi 
904*53ee8cc1Swenshuai.xi //TSO2
905*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO2
906*53ee8cc1Swenshuai.xi {
907*53ee8cc1Swenshuai.xi     //----------------------------------------------
908*53ee8cc1Swenshuai.xi     // 0xBF802A00 MIPS direct access
909*53ee8cc1Swenshuai.xi     //----------------------------------------------
910*53ee8cc1Swenshuai.xi 
911*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PVR1_CONFIR1;                //00
912*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_REG_PINGPONG_EN                           0x0001
913*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_EN                                 0x0002
914*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_RST_WADR                           0x0004
915*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_PARSE                              0x0008
916*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_PKT192_EN                                 0x0010
917*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BURST_LEN_MASK                            0x0060
918*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BURST_LEN_SHIFT                           5
919*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_LPCR1_WLD                                 0x0080
920*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_PVR_ALIGN_EN                              0x0100
921*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_DSWAP                              0x0200
922*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_BT_ORDER                           0x0400
923*53ee8cc1Swenshuai.xi     #define TSO2_REG_REC_DATA_INV_EN                                0x0800
924*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_BLOCK_DIS                                 0x1000
925*53ee8cc1Swenshuai.xi     #define TSO2_REG_PID_BYPASS_REC                                 0x2000
926*53ee8cc1Swenshuai.xi     #define TSO2_REG_REC_ALL                                        0x4000
927*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_LPCR1_RLD                                 0x8000
928*53ee8cc1Swenshuai.xi 
929*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_HEAD;            //01~02
930*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_MID;             //03~04
931*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_TAIL;            //05~06
932*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_HEAD2;           //07~08
933*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_MID2;            //09~0A
934*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_STR2MI_TAIL2;           //0B~0C
935*53ee8cc1Swenshuai.xi 
936*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PVR1_CONFIR2;                //0D
937*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_SRAM_SD_EN                                0x0001
938*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FLUSH_DATA                                0x0002
939*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_STR2MI_WP_LD                              0x0004
940*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_CLR                                       0x0008
941*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_DMA_FLUSH_EN                              0x0010
942*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FORCE_SYNC_EN                             0x0020
943*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_RECORD_DIS_SYNC_EN                        0x0040
944*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_MIU_HIGHPRI                               0x0080
945*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_RECORD_ALL_OLD                            0x0100
946*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_WRITE_POINTER_TO_NEXT_ADDR_EN             0x0200
947*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_DMAW_PROTECT_EN                           0x0400
948*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_CLR_NO_HIT_INT                            0x0800
949*53ee8cc1Swenshuai.xi 
950*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_LBUD;             //0E~0F
951*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_UBUD;             //10~11
952*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_LPCR1;                 //12~13
953*53ee8cc1Swenshuai.xi 
954*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG14;                      //14
955*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_SRC_MASK                                  0x0003     //01 : from svq merge stream,     10:  MMT function
956*53ee8cc1Swenshuai.xi     #define TSO2_REG_CLK_27M_90K                                    0x0004     // 0 : 90k, 1: 27M
957*53ee8cc1Swenshuai.xi 
958*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG15_1F[11];               //15~1F
959*53ee8cc1Swenshuai.xi 
960*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG20;                      //20
961*53ee8cc1Swenshuai.xi     #define TSO2_REG_SYNC_RISING_DETECT                             0x0001
962*53ee8cc1Swenshuai.xi     #define TSO2_REG_VALID_FALLING_DETECT_INV                       0x0002
963*53ee8cc1Swenshuai.xi     #define TSO2_REG_FROCE_SYNCBYTE                                 0x0004
964*53ee8cc1Swenshuai.xi     #define TSO2_REG_P_SEL                                          0x0008
965*53ee8cc1Swenshuai.xi     #define TSO2_REG_EXT_SYNC_SEL                                   0x0010
966*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_CHK_2T                                    0x0020
967*53ee8cc1Swenshuai.xi     #define TSO2_REG_SERIAL_EXT_SYNC_1T                             0x0040
968*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSIF_EVER_OVERFLOW_CLR                         0x0080
969*53ee8cc1Swenshuai.xi     #define TSO2_REG_PKT_CHK_SIZE_MASK                              0xFF00
970*53ee8cc1Swenshuai.xi     #define TSO2_REG_PKT_CHK_SIZE_SHIFT                             8
971*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MMT_CFG21;                  //21
972*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSO_MMT_EN                                     0x0001
973*53ee8cc1Swenshuai.xi     #define TSO2_REG_3_WIRE_EN_MMT                                  0x0002
974*53ee8cc1Swenshuai.xi     #define TSO2_REG_SW_RST_TS_MMT                                  0x0004
975*53ee8cc1Swenshuai.xi     #define TSO2_REG_LOCKED_PKT_CNT_MMT_LOAD                        0x0008
976*53ee8cc1Swenshuai.xi     #define TSO2_REG_LOCKED_PKT_CNT_MMT_CLR                         0x0010
977*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PVR1_DMAW_WADDR_ERR;        //22~23
978*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MOBF_CFG24;                 //24
979*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_STR2MI_WADR_R;              //25~26
980*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG27;                      //27
981*53ee8cc1Swenshuai.xi     #define TSO2_REG_TSIF_EVER_OVERFLOW_FLAG                        0x0001
982*53ee8cc1Swenshuai.xi     #define TSO2_REG_FLUSH_DATA_PVR1_STATUS                         0x0002
983*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FIFO_STATUS_MASK                          0x003C
984*53ee8cc1Swenshuai.xi     #define TSO2_REG_PVR1_FIFO_STATUS_SHIFT                         2
985*53ee8cc1Swenshuai.xi 
986*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG28_2F[8];               //28~2F
987*53ee8cc1Swenshuai.xi 
988*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR_CFG30;                  //30
989*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR1                              0x0001
990*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_RESET                                     0x0002
991*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_READ                                      0x0004
992*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR2                              0x0010
993*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_RESET                                     0x0020
994*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_READ                                      0x0040
995*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR3                              0x0100
996*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_RESET                                     0x0200
997*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_READ                                      0x0400
998*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR4                              0x1000
999*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_RESET                                     0x2000
1000*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_READ                                      0x4000
1001*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR2_CFG31;                 //31
1002*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR5                              0x0001
1003*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_RESET                                     0x0002
1004*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_READ                                      0x0004
1005*53ee8cc1Swenshuai.xi     #define TSO2_REG_TEI_SKIP_PKT_PCR6                              0x0010
1006*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_RESET                                     0x0020
1007*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_READ                                      0x0040
1008*53ee8cc1Swenshuai.xi 
1009*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PIDFLT_PCR_CFG32_37[6];     //32~37
1010*53ee8cc1Swenshuai.xi     #define TSO2_REG_PIDFLT_PCR_PID_MASK                           0x1FFF
1011*53ee8cc1Swenshuai.xi     #define TSO2_REG_PIDFLT_PCR_ENPCR                              0x8000
1012*53ee8cc1Swenshuai.xi 
1013*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR1_LOW32_CFG38_39;        //38~39
1014*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR1_VAILD_CFG3A;           //3A
1015*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_33_HIGH                             0x0001
1016*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_EXT_MASK                            0x03FE
1017*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR1_VALID_EXT_SHIFT                           1
1018*53ee8cc1Swenshuai.xi 
1019*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR2_LOW32_CFG3B_3C;        //3B~3C
1020*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR2_VAILD_CFG3D;           //3D
1021*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_33_HIGH                             0x0001
1022*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_EXT_MASK                            0x03FE
1023*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR2_VALID_EXT_SHIFT                           1
1024*53ee8cc1Swenshuai.xi 
1025*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR3_LOW32_CFG3E_3F;        //3E~3F
1026*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR3_VAILD_CFG40;           //40
1027*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_33_HIGH                             0x0001
1028*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_EXT_MASK                            0x03FE
1029*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR3_VALID_EXT_SHIFT                           1
1030*53ee8cc1Swenshuai.xi 
1031*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR4_LOW32_CFG41_42;        //41~42
1032*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR4_VAILD_CFG43;           //43
1033*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_33_HIGH                             0x0001
1034*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_EXT_MASK                            0x03FE
1035*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR4_VALID_EXT_SHIFT                           1
1036*53ee8cc1Swenshuai.xi 
1037*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR5_LOW32_CFG44_45;        //44~45
1038*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR5_VAILD_CFG46;           //46
1039*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_33_HIGH                             0x0001
1040*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_EXT_MASK                            0x03FE
1041*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR5_VALID_EXT_SHIFT                           1
1042*53ee8cc1Swenshuai.xi 
1043*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_PCR6_LOW32_CFG47_48;        //47~48
1044*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PCR6_VAILD_CFG49;           //49
1045*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_33_HIGH                             0x0001
1046*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_EXT_MASK                            0x03FE
1047*53ee8cc1Swenshuai.xi     #define TSO2_REG_PCR6_VALID_EXT_SHIFT                           1
1048*53ee8cc1Swenshuai.xi 
1049*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG4A_4F[6];                //4A~4F
1050*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PDFLT_CONFIG0_CFG50;     //50
1051*53ee8cc1Swenshuai.xi     #define TSO2_REG_SG_PD_FLT_DISABLE                              0x0001
1052*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_REC_ALL                                  0x0010
1053*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_REC_NULL                                 0x0020
1054*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_OVERFLOW_INT_EN                          0x0040
1055*53ee8cc1Swenshuai.xi     #define TSO2_REG_PDFLT_OVERFLOW_CLR                             0x0080
1056*53ee8cc1Swenshuai.xi     #define TSO2_REG_SKIP_TEI_PKT                                   0x0200
1057*53ee8cc1Swenshuai.xi 
1058*53ee8cc1Swenshuai.xi     REG32_TSO                             REG_TSO2_SG_PDFLT_SVID_EN[2];        //51~54
1059*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PDTABLE_RDATA_CFG55;     //55
1060*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_SG_PD_CFG56;                //56
1061*53ee8cc1Swenshuai.xi     #define TSO2_REG_SG_PDTABLE_RDATA_H_MASK                        0x003F
1062*53ee8cc1Swenshuai.xi     #define TSO2_REG_READ_SG_PDFLT_EVER_OVERFLOW                    0x0100
1063*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_CFG57_5F[9];                //57~5F
1064*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_PKT_TIME_THRESHOLD_CFG60;   //60
1065*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_DATA_TRACING_CONFIG_CFG61;  //61
1066*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_TRACING_ST_CLR                            0x0001     // 1: data rate trace status clear
1067*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_TRACING_ST_LD                             0x0002     // 1: load latest info  0: keep old info
1068*53ee8cc1Swenshuai.xi     #define TSO2_REG_MAX_MIN_EVER_CURRENT                           0x0004     // 1: max/min ever,     0: max/min in current sample period
1069*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_RATE_SRC_SEL_MASK                         0x00F0
1070*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_RATE_SRC_SEL_SHIFT                        4
1071*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_TRACING_SHIFT_VAL_MASK                    0x0F00
1072*53ee8cc1Swenshuai.xi     #define TSO2_REG_DATA_TRACING_SHIFT_VAL_SHIFT                   8
1073*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_REG_AVG_PKT_TIME_CFG62;     //62
1074*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MIN_PKT_TIME_CFG63;         //63
1075*53ee8cc1Swenshuai.xi     REG16_TSO                             REG_TSO2_MAX_PKT_TIME_CFG64;         //64
1076*53ee8cc1Swenshuai.xi 
1077*53ee8cc1Swenshuai.xi } REG_Ctrl_TSO2;
1078*53ee8cc1Swenshuai.xi 
1079*53ee8cc1Swenshuai.xi 
1080*53ee8cc1Swenshuai.xi #endif // _TSO_REG_H_
1081