xref: /utopia/UTPA2-700.0.x/modules/dmx/hal/k6/tsio/regTSIO.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 _TSIO_REG_H_
103*53ee8cc1Swenshuai.xi #define _TSIO_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 #define TSIO_ENGINE_NUM                     (1)
138*53ee8cc1Swenshuai.xi #define TSIO_SERVICE_NUM                    (64)
139*53ee8cc1Swenshuai.xi #define TSIO_LOCKEY_LEN                     (16)
140*53ee8cc1Swenshuai.xi #define TSIO_MAX_SYNCTHRESHOLD              (16)
141*53ee8cc1Swenshuai.xi #define TSIO_MIN_SYNCTHRESHOLD              (1)
142*53ee8cc1Swenshuai.xi #define TSIO_SGDMAIN_PIDFLT_NUM             (512)
143*53ee8cc1Swenshuai.xi #define TSIO_FILTER_NUM                     (32)
144*53ee8cc1Swenshuai.xi #define TSIO_MIU_BUS                        (4)
145*53ee8cc1Swenshuai.xi #define TSIO_SVQ_UNIT_SIZE                  (200)
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi #define TSIO_LOCDEC_KEY_LEN                 (16)
148*53ee8cc1Swenshuai.xi #define TSIO_PID_NULL                       (0x1FFF)
149*53ee8cc1Swenshuai.xi #define TSIO_SERVICE_NULL                   (0xFF)
150*53ee8cc1Swenshuai.xi 
151*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
152*53ee8cc1Swenshuai.xi //  Harware Capability
153*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
154*53ee8cc1Swenshuai.xi #define BITTRAINING_SW_MODE_ENABLE          (1)
155*53ee8cc1Swenshuai.xi 
156*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
157*53ee8cc1Swenshuai.xi //  Type and Structure
158*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
159*53ee8cc1Swenshuai.xi #define REG_SGDMAIN_PIDFLT_BASE             (0x220000UL)
160*53ee8cc1Swenshuai.xi 
161*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO0                 (0xE3400UL)                            // 0x171A
162*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO1                 (0xE3600UL)                            // 0x171B
163*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO2                 (0xE3800UL)                            // 0x171C
164*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO3                 (0xE7200UL)                            // 0x1739
165*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO_LOCDEC           (0xE3C00UL)                            // 0x171E
166*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSIO_PHY              (0xE3E00UL)                            // 0x171F
167*53ee8cc1Swenshuai.xi 
168*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO0                  (0xE0C00UL)                            // 0x1706
169*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO2                  (0xA7200UL)                            // 0x1539
170*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_TSO3                  (0xE3A00UL)                            // 0x171D
171*53ee8cc1Swenshuai.xi 
172*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_CLOCKGEN0             (0x01600UL)                            // 0x100B
173*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_CHIPTOP               (0x03C00UL)                            // 0x101E
174*53ee8cc1Swenshuai.xi #define REG_CTRL_BASE_STRLD                 (0x05200UL)                            // 0x1029
175*53ee8cc1Swenshuai.xi 
176*53ee8cc1Swenshuai.xi typedef struct _REG32_TSIO
177*53ee8cc1Swenshuai.xi {
178*53ee8cc1Swenshuai.xi     volatile MS_U16                L;
179*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_L;
180*53ee8cc1Swenshuai.xi     volatile MS_U16                H;
181*53ee8cc1Swenshuai.xi     volatile MS_U16                empty_H;
182*53ee8cc1Swenshuai.xi } REG32_TSIO;
183*53ee8cc1Swenshuai.xi 
184*53ee8cc1Swenshuai.xi typedef struct _REG16_TSIO
185*53ee8cc1Swenshuai.xi {
186*53ee8cc1Swenshuai.xi     volatile MS_U16                data;
187*53ee8cc1Swenshuai.xi     volatile MS_U16                _resv;
188*53ee8cc1Swenshuai.xi } REG16_TSIO;
189*53ee8cc1Swenshuai.xi 
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi //CLOCKGEN0
192*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_CLOCKGEN0
193*53ee8cc1Swenshuai.xi {
194*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_24[37];         //00~24
195*53ee8cc1Swenshuai.xi 
196*53ee8cc1Swenshuai.xi     REG16_TSIO                          REG_CLKGEN0_TSIO;           //25
197*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSIO_DISABLE_CLOCK                          0x0100
198*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSIO_INVERT_CLOCK                           0x0200
199*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSIO_CLKSOURCE_MASK                         0x1C00
200*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSIO_CLKSOURCE_SHIFT                        10
201*53ee8cc1Swenshuai.xi 
202*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_26_29[4];          //26~29
203*53ee8cc1Swenshuai.xi 
204*53ee8cc1Swenshuai.xi     REG16_TSIO                          REG_CLKGEN0_TSP;            //2A
205*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSP_DISABLE_CLOCK                           0x0001
206*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSP_INVERT_CLOCK                            0x0002
207*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSP_CLKSOURCE_MASK                          0x001C
208*53ee8cc1Swenshuai.xi     #define REG_CLKGEN0_TSP_CLKSOURCE_SHIFT                         2
209*53ee8cc1Swenshuai.xi 
210*53ee8cc1Swenshuai.xi }REG_Ctrl_CLOCKGEN0;
211*53ee8cc1Swenshuai.xi 
212*53ee8cc1Swenshuai.xi //CHIP TOP
213*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_CHIPTOP
214*53ee8cc1Swenshuai.xi {
215*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_53[84];         //00~53
216*53ee8cc1Swenshuai.xi 
217*53ee8cc1Swenshuai.xi     REG16_TSIO                          REG_TOP_TSIO;               //54
218*53ee8cc1Swenshuai.xi     #define REG_TOP_TSIO_TSP_BOOT_CLK_SEL                           0x0100
219*53ee8cc1Swenshuai.xi 
220*53ee8cc1Swenshuai.xi }REG_Ctrl_CHIPTOP;
221*53ee8cc1Swenshuai.xi 
222*53ee8cc1Swenshuai.xi //STRLD
223*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_STRLD
224*53ee8cc1Swenshuai.xi {
225*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_31[50];         //00~31
226*53ee8cc1Swenshuai.xi 
227*53ee8cc1Swenshuai.xi     REG16_TSIO                          REG_STRLD_32;               //32
228*53ee8cc1Swenshuai.xi     #define TEST_SDLDO_SEL_MASK                                     0x0030
229*53ee8cc1Swenshuai.xi     #define TEST_SDLDO_SEL_SHIFT                                    4
230*53ee8cc1Swenshuai.xi }REG_Ctrl_STRLD;
231*53ee8cc1Swenshuai.xi 
232*53ee8cc1Swenshuai.xi //TSIO0
233*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO0
234*53ee8cc1Swenshuai.xi {
235*53ee8cc1Swenshuai.xi     REG16_TSIO                          SW_RSTZ;                    //00
236*53ee8cc1Swenshuai.xi     #define TSIO0_SW_RSTZ                                           0x0001
237*53ee8cc1Swenshuai.xi     #define TSIO0_SW_RST_ANA_TX                                     0x0002
238*53ee8cc1Swenshuai.xi     #define TSIO0_SW_RST_ANA_RX                                     0x0004
239*53ee8cc1Swenshuai.xi 
240*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CONFIG0;                 //01
241*53ee8cc1Swenshuai.xi     #define TSIO0_STUFF_SVID_MASK                                   0x003F
242*53ee8cc1Swenshuai.xi     #define TSIO0_STUFF_SVID_SHIFT                                  0
243*53ee8cc1Swenshuai.xi     #define TSIO0_VALID_LOCKED_CLR                                  0x0040
244*53ee8cc1Swenshuai.xi     #define TSIO0_PKT_OVERFLOW_CLR                                  0x0080
245*53ee8cc1Swenshuai.xi     #define TSIO0_TSIO_TX_IDLE_CLR                                  0x0100
246*53ee8cc1Swenshuai.xi     #define TSIO0_TX_DIRECT_RX_8                                    0x0200
247*53ee8cc1Swenshuai.xi     #define TSIO0_CTS_DISABLE                                       0x0400
248*53ee8cc1Swenshuai.xi     #define TSIO0_INSERT_CTS_IN_TX                                  0x0800
249*53ee8cc1Swenshuai.xi     #define TSIO0_INSERT_EVEN_KEY_IN_TX                             0x1000
250*53ee8cc1Swenshuai.xi     #define TSIO0_INSERT_LE_EN_IN_TX                                0x2000
251*53ee8cc1Swenshuai.xi     #define TSIO0_TURN_OFF_MCM_TSIO                                 0x4000
252*53ee8cc1Swenshuai.xi     #define TSIO0_BYOASS_TSIOTX_FIFO                                0x8000
253*53ee8cc1Swenshuai.xi 
254*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_STATUS;                  //02
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi     REG16_TSIO                          ECO0;                       //03
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi     REG16_TSIO                          ECO1;                       //04
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi     REG16_TSIO                          CKG_TSP_TSIO;               //05
261*53ee8cc1Swenshuai.xi     #define TSIO0_CKG_TSP_TSIO                                      0x0001
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_SOC_DEFINE_VAL[4];       //06~09
264*53ee8cc1Swenshuai.xi 
265*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CONFIG1;                 //0a
266*53ee8cc1Swenshuai.xi     #define TSIO0_STUFF_WHEN_LOSE_LOCK_EN                           0x0001
267*53ee8cc1Swenshuai.xi 
268*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_0B_0F[5];          //0b~0f
269*53ee8cc1Swenshuai.xi 
270*53ee8cc1Swenshuai.xi     //C&C: h10~h3f
271*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CC_CNTRL;                //10
272*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_INT_EN                                      0x0002
273*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_CLR                                         0x0004
274*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_INT_CLR                                     0x0008
275*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_START                                       0x8000
276*53ee8cc1Swenshuai.xi 
277*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CC_CNTRL2;               //11
278*53ee8cc1Swenshuai.xi     #define TSIO0_TX_ACPU_ST                                        0x0001
279*53ee8cc1Swenshuai.xi     #define TSIO0_TX_ACPU_RW                                        0x0002
280*53ee8cc1Swenshuai.xi     #define TSIO0_TX_ACPU_CONT                                      0x0004
281*53ee8cc1Swenshuai.xi     #define TSIO0_TX_ACPU_ADDR_MASK                                 0xFF00
282*53ee8cc1Swenshuai.xi     #define TSIO0_TX_ACPU_ADDR_SHIFT                                8
283*53ee8cc1Swenshuai.xi 
284*53ee8cc1Swenshuai.xi     REG32_TSIO                          TX_CC_WDATA;                //12~13
285*53ee8cc1Swenshuai.xi 
286*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CC_SIZE;                 //14
287*53ee8cc1Swenshuai.xi     #define TSIO0_CC_SIZE_MASK                                      0x01FF
288*53ee8cc1Swenshuai.xi     #define TSIO0_CC_SIZE_SHIFT                                     0
289*53ee8cc1Swenshuai.xi 
290*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_15_17[3];          //15~17
291*53ee8cc1Swenshuai.xi 
292*53ee8cc1Swenshuai.xi     REG16_TSIO                          TX_CC_STATUS;               //18
293*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_STATUS_TX_ACPU_ADDR_MASK                    0x00FF
294*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_STATUS_TX_ACPU_ADDR_SHIFT                   0
295*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_STATUS_TX_CC_DONE                           0x0100
296*53ee8cc1Swenshuai.xi     #define TSIO0_TX_CC_STATUS_INT_TX_CC                            0x8000
297*53ee8cc1Swenshuai.xi 
298*53ee8cc1Swenshuai.xi     REG32_TSIO                          TX_CC_RDATA;                //19~1a
299*53ee8cc1Swenshuai.xi 
300*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_1B_1F[5];          //1b~1f
301*53ee8cc1Swenshuai.xi 
302*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_CC_CNTRL;                //20
303*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_INT_EN                                      0x0002
304*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_CLR                                         0x0004
305*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_INT_CLR                                     0x0008
306*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ERR_INT_EN_MASK                                0x0FF0
307*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ERR_INT_EN_SHIFT                               4
308*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_RECEIVE_EN                                  0x8000
309*53ee8cc1Swenshuai.xi 
310*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_CC_CNTRL2;               //21
311*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_ST                                        0x0001
312*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_RW                                        0x0002
313*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_CONT                                      0x0004
314*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_ADDR_MASK                                 0x0FF0
315*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_ADDR_SHIFT                                4
316*53ee8cc1Swenshuai.xi     #define TSIO0_RX_ACPU_ADDR_CONT_TRI                             0x8000
317*53ee8cc1Swenshuai.xi 
318*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_22_27[6];          //22~27
319*53ee8cc1Swenshuai.xi 
320*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_CC_STATUS;               //28
321*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_DONE                                        0x0001
322*53ee8cc1Swenshuai.xi     #define TSIO0_FLAG_MID_IN_IDLE                                  0x0010
323*53ee8cc1Swenshuai.xi     #define TSIO0_FLAG_LAST_IN_IDLE                                 0x0020
324*53ee8cc1Swenshuai.xi     #define TSIO0_FLAG_FIRST_IN_MID                                 0x0040
325*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_PROTOCOL                                    0x0100
326*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_MISSED                                      0x0200
327*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_OVERFLOW                                    0x0400
328*53ee8cc1Swenshuai.xi     #define TSIO0_ERR_FLAG_MASK                                     0x0770
329*53ee8cc1Swenshuai.xi     #define TSIO0_INT_RX_CC                                         0x1000
330*53ee8cc1Swenshuai.xi 
331*53ee8cc1Swenshuai.xi     REG32_TSIO                          RX_CC_RDATA;                //29~2a
332*53ee8cc1Swenshuai.xi 
333*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_CC_SIZE;                 //2b
334*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_SIZE_MASK                                   0x01FF
335*53ee8cc1Swenshuai.xi     #define TSIO0_RX_CC_SIZE_SHIFT                                  0
336*53ee8cc1Swenshuai.xi 
337*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_2C_3F[20];         //2c~3f
338*53ee8cc1Swenshuai.xi 
339*53ee8cc1Swenshuai.xi     //Power up handler: h40~h5f
340*53ee8cc1Swenshuai.xi     REG16_TSIO                          PUH_CONFIG0;                //40
341*53ee8cc1Swenshuai.xi 
342*53ee8cc1Swenshuai.xi     REG16_TSIO                          PUH_CONFIG1;                //41
343*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG1_VCC_POWER_GOOD_SET_HIGHT              0x0010
344*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG1_VCC_POWER_GOOD_SET_LOW                0x0020
345*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG1_TSIO_RX_DATA_VALID_SET_HIGH           0x0040
346*53ee8cc1Swenshuai.xi 
347*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_IDLE;         //42
348*53ee8cc1Swenshuai.xi 
349*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_IDLE;         //43
350*53ee8cc1Swenshuai.xi 
351*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_RST_PWR;      //44
352*53ee8cc1Swenshuai.xi 
353*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_RST_PWR;      //45
354*53ee8cc1Swenshuai.xi 
355*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_RST_CLK_PRE;  //46
356*53ee8cc1Swenshuai.xi 
357*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_RST_CLK_PRE;  //47
358*53ee8cc1Swenshuai.xi 
359*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_RST_CLK;      //48
360*53ee8cc1Swenshuai.xi 
361*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_RST_CLK;      //49
362*53ee8cc1Swenshuai.xi 
363*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_4A_4F[6];          //4a~4f
364*53ee8cc1Swenshuai.xi 
365*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_SC_TRAINING;  //50
366*53ee8cc1Swenshuai.xi 
367*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_SC_TRAINING;  //51
368*53ee8cc1Swenshuai.xi 
369*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_SOC_TRAINING; //52
370*53ee8cc1Swenshuai.xi 
371*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_SOC_TRAINING; //53
372*53ee8cc1Swenshuai.xi 
373*53ee8cc1Swenshuai.xi     REG16_TSIO                          MIN_PERIOD_OF_PKT_SYNC;     //54
374*53ee8cc1Swenshuai.xi 
375*53ee8cc1Swenshuai.xi     REG16_TSIO                          MAX_PERIOD_OF_PKT_SYNC;     //55
376*53ee8cc1Swenshuai.xi 
377*53ee8cc1Swenshuai.xi     REG16_TSIO                          RETRY_THRESHOLD;            //56
378*53ee8cc1Swenshuai.xi 
379*53ee8cc1Swenshuai.xi     REG16_TSIO                          DELAY_CNT_SMALL;            //57
380*53ee8cc1Swenshuai.xi 
381*53ee8cc1Swenshuai.xi     REG16_TSIO                          DELAY_CNT_MID;              //58
382*53ee8cc1Swenshuai.xi 
383*53ee8cc1Swenshuai.xi     REG16_TSIO                          PUH_STATUS0;                //59
384*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_OC_FLAG_TX_CH0                        0x0001
385*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_OC_FLAG_TX_CH1                        0x0002
386*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_NO_SUPPORT                            0x0004
387*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_PKT_SYNC_TIMEOUT                      0x0008
388*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_POWER_STATUS_MASK                     0x00F0
389*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_POWER_STATUS_SHIFT                    4
390*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_RETRY_TIMES                           0x0100
391*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_OPERATION                             0x0200
392*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_POWER_OFF                             0x0400
393*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_STATUS0_POWER_ON                              0x0800
394*53ee8cc1Swenshuai.xi 
395*53ee8cc1Swenshuai.xi     REG16_TSIO                          PUH_CONFIG2;                //5a
396*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OC_FLAG_TX_CH0_INT_CLR                0x0001
397*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OC_FLAG_TX_CH0_INT_EN                 0x0002
398*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OC_FLAG_TX_CH1_INT_CLR                0x0004
399*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OC_FLAG_TX_CH1_INT_EN                 0x0008
400*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_NO_SUPPORT_CLR                        0x0010
401*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_NO_SUPPORT_EN                         0x0020
402*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_PKT_SYNC_TIMEOUT_CLR                  0x0040
403*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_PKT_SYNC_TIMEOUT_EN                   0x0080
404*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_RETRY_TIMES_CLR                       0x0100
405*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_RETRY_TIMES_EN                        0x0200
406*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OPERATION_START_CLR                   0x0400
407*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_OPERATION_START_EN                    0x0800
408*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_POWER_OFF_CLR                         0x1000
409*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_POWER_OFF_EN                          0x2000
410*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_POWER_ON_CLR                          0x4000
411*53ee8cc1Swenshuai.xi     #define TSIO0_PUH_CONFIG2_POWER_ON_EN                           0x8000
412*53ee8cc1Swenshuai.xi 
413*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_5B_5F[5];          //5b~5f
414*53ee8cc1Swenshuai.xi 
415*53ee8cc1Swenshuai.xi     //AD_IF:h60~h6b
416*53ee8cc1Swenshuai.xi     REG16_TSIO                          AD_TX_CONFIG0;              //60
417*53ee8cc1Swenshuai.xi     #define TSIO0_TX_DATA_PN_SWAP                                   0x0001
418*53ee8cc1Swenshuai.xi     #define TSIO0_CLK_PN_SWAP                                       0x0002
419*53ee8cc1Swenshuai.xi     #define TSIO0_CH_SWAP                                           0x0004
420*53ee8cc1Swenshuai.xi     #define TSIO0_TX_BIG_ENDIAN                                     0x0008
421*53ee8cc1Swenshuai.xi     #define TSIO0_TX2ATOP_STATUS_CLR                                0x0010
422*53ee8cc1Swenshuai.xi     #define TSIO0_BYPASS_AD_OUT_FIFO                                0x0020
423*53ee8cc1Swenshuai.xi     #define TSIO0_PRBS_TX_TSIO                                      0x0040
424*53ee8cc1Swenshuai.xi     #define TSIO0_PBRS_TX_ATOP                                      0x0080
425*53ee8cc1Swenshuai.xi     #define TSIO0_PD_SMC_LDO_FPGA                                   0x0100
426*53ee8cc1Swenshuai.xi     #define TSIO0_TX_BYTE_SWAP                                      0x0200
427*53ee8cc1Swenshuai.xi 
428*53ee8cc1Swenshuai.xi     REG16_TSIO                          AD_RX_CONFIG0;              //61
429*53ee8cc1Swenshuai.xi 
430*53ee8cc1Swenshuai.xi     REG16_TSIO                          AD_TX_ST;                   //62
431*53ee8cc1Swenshuai.xi 
432*53ee8cc1Swenshuai.xi     REG16_TSIO                          PRBS_CONFIG0;               //63
433*53ee8cc1Swenshuai.xi 
434*53ee8cc1Swenshuai.xi     REG16_TSIO                          DP_PHY_PRBS_ERRCNT;         //64
435*53ee8cc1Swenshuai.xi 
436*53ee8cc1Swenshuai.xi     REG16_TSIO                          PRBS_CONFIG1;               //65
437*53ee8cc1Swenshuai.xi 
438*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_66_6B[6];          //66~6b
439*53ee8cc1Swenshuai.xi 
440*53ee8cc1Swenshuai.xi     //test mode:h6c~6f
441*53ee8cc1Swenshuai.xi     REG16_TSIO                          PUH_TEST_CONFIG;            //6c
442*53ee8cc1Swenshuai.xi 
443*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_TEST_CONFIG0;        //6d
444*53ee8cc1Swenshuai.xi 
445*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_TEST_CONFIG1;        //6e
446*53ee8cc1Swenshuai.xi 
447*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_TEST_CONFIG2;        //6f
448*53ee8cc1Swenshuai.xi 
449*53ee8cc1Swenshuai.xi     //bit training status: h70~h7f
450*53ee8cc1Swenshuai.xi     REG16_TSIO                          PH_INFO_0;                  //70
451*53ee8cc1Swenshuai.xi 
452*53ee8cc1Swenshuai.xi     REG16_TSIO                          PH_INFO_1;                  //71
453*53ee8cc1Swenshuai.xi 
454*53ee8cc1Swenshuai.xi     REG16_TSIO                          PH_INFO_2;                  //72
455*53ee8cc1Swenshuai.xi     #define TSIO0_PH_INFO_2_REG_PHASE_MASK                          0x003F
456*53ee8cc1Swenshuai.xi     #define TSIO0_PH_INFO_2_REG_PHASE_SHIFT                         0
457*53ee8cc1Swenshuai.xi 
458*53ee8cc1Swenshuai.xi     REG16_TSIO                          EL_INFO[3];                 //73~75
459*53ee8cc1Swenshuai.xi 
460*53ee8cc1Swenshuai.xi     REG16_TSIO                          CH_INFO;                    //76
461*53ee8cc1Swenshuai.xi 
462*53ee8cc1Swenshuai.xi     REG16_TSIO                          ATOP_IN;                    //77
463*53ee8cc1Swenshuai.xi 
464*53ee8cc1Swenshuai.xi     REG16_TSIO                          FT_STATUS;                  //78
465*53ee8cc1Swenshuai.xi 
466*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_ST_0;                //79
467*53ee8cc1Swenshuai.xi     #define TSIO0_BTRAIN_ST_0_SW_MODE_DONE                          0x0001
468*53ee8cc1Swenshuai.xi     #define TSIO0_BTRAIN_ST_0_SW_MODE_DONE_CH                       0x0002
469*53ee8cc1Swenshuai.xi     #define TSIO0_BTRAIN_ST_0_SW_REMAP_MODE                         0x0004
470*53ee8cc1Swenshuai.xi     #define TSIO0_BTRAIN_ST_0_CHG_PH_START_REMAP                    0x0008
471*53ee8cc1Swenshuai.xi     #define TSIO0_BTRAIN_ST_0_CHG_PH_START_REMAP_SHIFT              3
472*53ee8cc1Swenshuai.xi 
473*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_7A_7F[6];          //7a~7f
474*53ee8cc1Swenshuai.xi } REG_Ctrl_TSIO0;
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi //TSIO1
477*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO1
478*53ee8cc1Swenshuai.xi {
479*53ee8cc1Swenshuai.xi     REG16_TSIO                          SVID_SRCID[64];             //00~3f
480*53ee8cc1Swenshuai.xi     #define TSIO1_SOURCE_ID_MASK                                    0x00FF
481*53ee8cc1Swenshuai.xi     #define TSIO1_SOURCE_ID_SHIFT                                   0
482*53ee8cc1Swenshuai.xi     #define TSIO1_SERVICE_ID_MASK                                   0x3F00
483*53ee8cc1Swenshuai.xi     #define TSIO1_SERVICE_ID_SHIFT                                  8
484*53ee8cc1Swenshuai.xi     #define TSIO1_ENABLE                                            0x8000
485*53ee8cc1Swenshuai.xi 
486*53ee8cc1Swenshuai.xi     REG16_TSIO                          SVID_INFO[8];               //40~47
487*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_0_ENABLE                                     0x0001
488*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_1_ENABLE                                     0x0004
489*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_2_ENABLE                                     0x0010
490*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_3_ENABLE                                     0x0040
491*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_4_ENABLE                                     0x0100
492*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_5_ENABLE                                     0x0400
493*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_6_ENABLE                                     0x1000
494*53ee8cc1Swenshuai.xi     #define TSIO1_LIVE_7_ENABLE                                     0x4000
495*53ee8cc1Swenshuai.xi 
496*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_48_4F[8];          //48~4f
497*53ee8cc1Swenshuai.xi 
498*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_CONFIG0;                 //50
499*53ee8cc1Swenshuai.xi     #define TSIO1_DECRYPT_DISABLE                                   0x0001
500*53ee8cc1Swenshuai.xi     #define TSIO1_SECURE_FLAG_DBG                                   0x0002
501*53ee8cc1Swenshuai.xi     #define TSIO1_BIT_TRAINING_BYPASS                               0x0004
502*53ee8cc1Swenshuai.xi     #define TSIO1_TX_DIRECT_RX_16                                   0x0008
503*53ee8cc1Swenshuai.xi     #define TSIO1_STUFF_RM_CLR                                      0x0010
504*53ee8cc1Swenshuai.xi     #define TSIO1_BYPASS_TSIORX_FIFO                                0x0080
505*53ee8cc1Swenshuai.xi     #define TSIO1_BEST_PH_OFFSET_MASK                               0x0700
506*53ee8cc1Swenshuai.xi     #define TSIO1_BEST_PH_OFFSET_SHIFT                              8
507*53ee8cc1Swenshuai.xi     #define TSIO1_BEST_PH_ADD                                       0x0800
508*53ee8cc1Swenshuai.xi     #define TSIO1_BEST_PH_MINUS                                     0x1000
509*53ee8cc1Swenshuai.xi     #define TSIO1_MAX_CDR_CNT_MASK                                  0xE000
510*53ee8cc1Swenshuai.xi     #define TSIO1_MAX_CDR_CNT_SHIFT                                 13
511*53ee8cc1Swenshuai.xi 
512*53ee8cc1Swenshuai.xi     REG16_TSIO                          PKT_SYNC_CTRL;              //51
513*53ee8cc1Swenshuai.xi     #define TSIO1_PKT_SYNC_EN                                       0x0001
514*53ee8cc1Swenshuai.xi     #define TSIO1_PKT_SYNC_CLR                                      0x0010
515*53ee8cc1Swenshuai.xi 
516*53ee8cc1Swenshuai.xi     REG16_TSIO                          MATCH_PATTERN;              //52
517*53ee8cc1Swenshuai.xi     #define TSIO1_MATCH_PATTERN_MASK                                0x00FF
518*53ee8cc1Swenshuai.xi     #define TSIO1_MATCH_PATTERN_SHIFT                               0
519*53ee8cc1Swenshuai.xi 
520*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_SYNC_THRESHOLD;        //53
521*53ee8cc1Swenshuai.xi     #define TSIO1_TSIO_N_SYNC_MASK                                  0x000F
522*53ee8cc1Swenshuai.xi     #define TSIO1_TSIO_N_SYNC_SHIFT                                 0
523*53ee8cc1Swenshuai.xi     #define TSIO1_TSIO_SYNC_CNT_MASK                                0x00F0
524*53ee8cc1Swenshuai.xi     #define TSIO1_TSIO_SYNC_CNT_SHIFT                               4
525*53ee8cc1Swenshuai.xi 
526*53ee8cc1Swenshuai.xi     REG32_TSIO                          MISSED_NUMOFBYTES;          //54~55
527*53ee8cc1Swenshuai.xi 
528*53ee8cc1Swenshuai.xi     REG16_TSIO                          PKT_SYNC_STATUS;            //56
529*53ee8cc1Swenshuai.xi     #define TSIO1_ANAFIFO_OVERFLOW                                  0x0001
530*53ee8cc1Swenshuai.xi     #define TSIO1_MISSED_MUCH_FLAG                                  0x0002
531*53ee8cc1Swenshuai.xi     #define TSIO1_EVER_LOSE_LOCK                                    0x0004
532*53ee8cc1Swenshuai.xi     #define TSIO1_PKT_SYNC_RX_DONE                                  0x0080
533*53ee8cc1Swenshuai.xi     #define TSIO1_STUFF_RM_OVERFLOW                                 0x8000
534*53ee8cc1Swenshuai.xi 
535*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_BIST_FAIL;             //57~58
536*53ee8cc1Swenshuai.xi 
537*53ee8cc1Swenshuai.xi     REG16_TSIO                          LOSE_LOCK_CNT;              //59
538*53ee8cc1Swenshuai.xi 
539*53ee8cc1Swenshuai.xi     REG16_TSIO                          RX_SOC_DEFINE_VAL[4];       //5a~5d
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi     REG16_TSIO                          RXANA_TO_PVR;               //5e
542*53ee8cc1Swenshuai.xi     #define TSIO1_RXANA_TO_PVR_EN                                   0x0001
543*53ee8cc1Swenshuai.xi     #define TSIO1_RXANA_WINDOW_INDEX_MASK                           0x00F0
544*53ee8cc1Swenshuai.xi     #define TSIO1_RXANA_WINDOW_INDEX_SHIFT                          4
545*53ee8cc1Swenshuai.xi 
546*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_5F;                //5f
547*53ee8cc1Swenshuai.xi 
548*53ee8cc1Swenshuai.xi     //bit training: h60~h70
549*53ee8cc1Swenshuai.xi     REG16_TSIO                          CHECK_PH_TIME;              //60
550*53ee8cc1Swenshuai.xi 
551*53ee8cc1Swenshuai.xi     REG16_TSIO                          CHG_PH_STABLE_TIME;         //61
552*53ee8cc1Swenshuai.xi     #define TSIO1_CHG_PH_STABLE_TIME_GUARD_PH_MASK                  0x0F00
553*53ee8cc1Swenshuai.xi     #define TSIO1_CHG_PH_STABLE_TIME_GUARD_PH_SHIFT                 8
554*53ee8cc1Swenshuai.xi     #define TSIO1_CHG_PH_STABLE_TIME_GUARD_PH_LOAD                  0x1000
555*53ee8cc1Swenshuai.xi 
556*53ee8cc1Swenshuai.xi     REG32_TSIO                          DYN_ADJ_TIMER_PERIOD;       //62~63
557*53ee8cc1Swenshuai.xi 
558*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG0;             //64
559*53ee8cc1Swenshuai.xi     #define TSIO1_SW_JUMP_PH_CH                                     0x4000
560*53ee8cc1Swenshuai.xi 
561*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG1;             //65
562*53ee8cc1Swenshuai.xi 
563*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG2;             //66
564*53ee8cc1Swenshuai.xi 
565*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG3;             //67
566*53ee8cc1Swenshuai.xi     #define TSIO1_SW_PH_CHNAGE                                      0x0001
567*53ee8cc1Swenshuai.xi     #define TSIO1_SW_PH_INCR                                        0x0002
568*53ee8cc1Swenshuai.xi     #define TSIO1_SW_PH_DECR                                        0x0004
569*53ee8cc1Swenshuai.xi     #define TSIO1_SW_PH_STEP_MODE                                   0x0008
570*53ee8cc1Swenshuai.xi     #define TSIO1_SW_CH_PH_REMAP                                    0x0010
571*53ee8cc1Swenshuai.xi     #define TSIO1_SW_REMAP_WHEN_STUCK                               0x0020
572*53ee8cc1Swenshuai.xi     #define TSIO1_SW_EARLY                                          0x0040
573*53ee8cc1Swenshuai.xi     #define TSIO1_SW_LATE                                           0x0080
574*53ee8cc1Swenshuai.xi     #define TSIO1_SW_CHG_PH_DONE                                    0x0100
575*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_INT_CLR                                    0x0200
576*53ee8cc1Swenshuai.xi     #define TSIO1_DONE_EVER_CLR                                     0x0400
577*53ee8cc1Swenshuai.xi     #define TSIO1_CHANNEL_SEL_MASK                                  0x1800
578*53ee8cc1Swenshuai.xi     #define TSIO1_CHANNEL_SEL_SHIFT                                 11
579*53ee8cc1Swenshuai.xi     #define TSIO1_EL_INFO_SEL                                       0x2000
580*53ee8cc1Swenshuai.xi     #define TSIO1_PH_INFO_SEL                                       0x4000
581*53ee8cc1Swenshuai.xi     #define TSIO1_DEBUG_REG_LOAD                                    0x8000
582*53ee8cc1Swenshuai.xi 
583*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_INT_EN;              //68
584*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_INT_EN                                     0x0001
585*53ee8cc1Swenshuai.xi 
586*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_INT_STATUS;          //69
587*53ee8cc1Swenshuai.xi     #define TSIO1_GUARD_REACH_MIN                                   0x0001
588*53ee8cc1Swenshuai.xi 
589*53ee8cc1Swenshuai.xi     REG32_TSIO                          MAX_DYN_CDR_EL_TIMER;       //6a~6b
590*53ee8cc1Swenshuai.xi 
591*53ee8cc1Swenshuai.xi     REG16_TSIO                          DYN_CDR_EL_CNT;             //6c
592*53ee8cc1Swenshuai.xi 
593*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG4;             //6d
594*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_CONFIG4_SW_MODE_CH_READ_ST_DIS             0x0001
595*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_CONFIG4_DISABLE_BITTRAIN                   0x0020
596*53ee8cc1Swenshuai.xi 
597*53ee8cc1Swenshuai.xi     REG16_TSIO                          FT_PRBS_TIMEOUT;            //6e
598*53ee8cc1Swenshuai.xi 
599*53ee8cc1Swenshuai.xi     REG16_TSIO                          BTRAIN_CONFIG5;             //6f
600*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_CONFIG5_MAX_EYE_REGION_MASK                0x003F
601*53ee8cc1Swenshuai.xi     #define TSIO1_BTRAIN_CONFIG5_MAX_EYE_REGION_SHIFT               0
602*53ee8cc1Swenshuai.xi 
603*53ee8cc1Swenshuai.xi     //unpack : h70
604*53ee8cc1Swenshuai.xi     REG16_TSIO                          UNPACK_CTRL;                //70
605*53ee8cc1Swenshuai.xi     #define TSIO1_BYPASS_ERRPKT_TSBLK_LIVEDMA                       0x0001
606*53ee8cc1Swenshuai.xi     #define TSIO1_BYPASS_ERRPKT_WITHOUT_SERVICEID                   0x0002
607*53ee8cc1Swenshuai.xi     #define TSIO1_BYPASS_ERRPKT_DMAEND                              0x0004
608*53ee8cc1Swenshuai.xi     #define TSIO1_DMAEND_DISABLE                                    0x0010
609*53ee8cc1Swenshuai.xi     #define TSIO1_CLR_ALL_ERR_FLAG                                  0x0080
610*53ee8cc1Swenshuai.xi     #define TSIO1_UNPACK_CTS_DISABLE                                0x0100
611*53ee8cc1Swenshuai.xi 
612*53ee8cc1Swenshuai.xi     REG32_TSIO                          UNPACK_STATUS;              //71~72
613*53ee8cc1Swenshuai.xi 
614*53ee8cc1Swenshuai.xi     REG16_TSIO                          UNDECLARE_SVID[4];          //73~76
615*53ee8cc1Swenshuai.xi 
616*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIORX_INT_EN;              //77
617*53ee8cc1Swenshuai.xi 
618*53ee8cc1Swenshuai.xi     REG16_TSIO                          DESYNC_CTRL;                //78
619*53ee8cc1Swenshuai.xi 
620*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_79_7A[2];          //79~7a
621*53ee8cc1Swenshuai.xi 
622*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_INT_STATUS;            //7b~7c
623*53ee8cc1Swenshuai.xi 
624*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_DEBUG;                 //7d~7e
625*53ee8cc1Swenshuai.xi     #define D45_PH_INCR                                             0x00800000
626*53ee8cc1Swenshuai.xi     #define D45_PH_DECR                                             0x00400000
627*53ee8cc1Swenshuai.xi     #define D45_GUARD_PH_SMALL                                      0x00080000
628*53ee8cc1Swenshuai.xi     #define D45_GUARD_PH_LARGE                                      0x00040000
629*53ee8cc1Swenshuai.xi 
630*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_DBG_SEL;               //7f
631*53ee8cc1Swenshuai.xi 
632*53ee8cc1Swenshuai.xi } REG_Ctrl_TSIO1;
633*53ee8cc1Swenshuai.xi 
634*53ee8cc1Swenshuai.xi //TSIO2
635*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO2
636*53ee8cc1Swenshuai.xi {
637*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PVR_CONFIG;            //00
638*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_STR2MI_EN                                     0x0001
639*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_STR2MI_RST_WADR                               0x0002
640*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_STR2MI_PAUSE                                  0x0004
641*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_BURST_LEN_MASK                                0x0018
642*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_BURST_LEN_SHIFT                               3
643*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_SRAM_AD_EN                                    0x0020
644*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_STR2MI_WP_LD                                  0x0040
645*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_CLR                                           0x0080
646*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_DMA_FLUSH_EN                                  0x0100
647*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_MIU_HIGHPRI                                   0x0200
648*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_WRITE_POINTER_TO_NEXT_ADDR_EN                 0x0400
649*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_DMAW_PROTECT_EN                               0x0800
650*53ee8cc1Swenshuai.xi     #define TSIO2_PVR_CLR_NO_HIT_INT                                0x1000
651*53ee8cc1Swenshuai.xi     #define TSIO2_FLUSH_DATA_TSIO_PVR_STATUS                        0x2000
652*53ee8cc1Swenshuai.xi 
653*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_DMAW_WADDR_ERR;    //01~02
654*53ee8cc1Swenshuai.xi 
655*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_03;                //03
656*53ee8cc1Swenshuai.xi 
657*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_STR2MI_WADR_R;     //04~05
658*53ee8cc1Swenshuai.xi 
659*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PVR_FIFO_STATUS;       //06
660*53ee8cc1Swenshuai.xi 
661*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_DMAW_LBND;         //07~08
662*53ee8cc1Swenshuai.xi 
663*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_DMAW_UBND;         //09~0a
664*53ee8cc1Swenshuai.xi 
665*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PVR2MI_SEL;            //0b
666*53ee8cc1Swenshuai.xi 
667*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_0C_1F[20];         //0c~1f
668*53ee8cc1Swenshuai.xi 
669*53ee8cc1Swenshuai.xi     REG16_TSIO                          PVR_CTRL;                   //20
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi     REG16_TSIO                          PVR_CTRL_STATUS;            //21
672*53ee8cc1Swenshuai.xi 
673*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_22;                //22
674*53ee8cc1Swenshuai.xi 
675*53ee8cc1Swenshuai.xi     REG16_TSIO                          SW_RST_SG_TSIO;             //23
676*53ee8cc1Swenshuai.xi     #define TSIO2_SW_RST_SG_TSIO_ROUNDROBIN                         0x0200
677*53ee8cc1Swenshuai.xi     #define TSIO2_SW_RST_SG_TSIO_SG_FSM                             0x0400
678*53ee8cc1Swenshuai.xi     #define TSIO2_SW_RST_SG_TSIO_VC_TABLE                           0x0800
679*53ee8cc1Swenshuai.xi     #define TSIO2_SW_RST_SG_TSIO_VCDMA_READ_MIU                     0x1000
680*53ee8cc1Swenshuai.xi     #define TSIO2_SW_RST_SG_TSIO_VC_FSM                             0x2000
681*53ee8cc1Swenshuai.xi 
682*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_24_3D[26];         //24~3d
683*53ee8cc1Swenshuai.xi 
684*53ee8cc1Swenshuai.xi     REG32_TSIO                          SGDMAOUT_DBG;               //3e~3f
685*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMAOUT_DBG_MASK                                 0x00FFFFFF
686*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMAOUT_DBG_SHIFT                                0
687*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMAOUT_DBG_SEL_MASK                             0xFF000000
688*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMAOUT_DBG_SEL_SHIFT                            24
689*53ee8cc1Swenshuai.xi 
690*53ee8cc1Swenshuai.xi     REG16_TSIO                          VCFSM_START;                //40
691*53ee8cc1Swenshuai.xi     #define TSIO2_VCFSM_START                                       0x0001
692*53ee8cc1Swenshuai.xi 
693*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_ACTIVE;                //41
694*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_ACTIVE                                       0x0001
695*53ee8cc1Swenshuai.xi 
696*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_CMD;                   //42
697*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_VC_ID_MASK                               0x003F
698*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_VC_ID_SHIFT                              0
699*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_RD_POSITION_MASK                         0x01C0
700*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_RD_POSITION_SHIFT                        6
701*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_CLR                                      0x0200
702*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_RW                                       0x0400
703*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_ACTIVE                                   0x0800
704*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_CMD_RD_ADDR_LSB                              0x1000
705*53ee8cc1Swenshuai.xi 
706*53ee8cc1Swenshuai.xi     REG32_TSIO                          ACPU_WDATA;                 //43~44
707*53ee8cc1Swenshuai.xi 
708*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_FLAG;                  //45
709*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_INTERRUPT_ENABLE                        0x0010
710*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_MOBF_MASK                               0x03E0
711*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_MOBF_SHIFT                              5
712*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_SECURE_FLAG                             0x0400
713*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_DMA_END_MASK                            0x0800
714*53ee8cc1Swenshuai.xi     #define TSIO2_ACPU_FLAG_DMA_END_CONTINUE_DMA                    0x1000
715*53ee8cc1Swenshuai.xi 
716*53ee8cc1Swenshuai.xi     REG32_TSIO                          ACPU_RDATA;                 //46~47
717*53ee8cc1Swenshuai.xi 
718*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_CTRL;             //48
719*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_INT_CLR                                 0x0001
720*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_PAUSE                                   0x0002
721*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_DBG_SEL_MASK                            0x00FC
722*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_DBG_SEL_SHIFT                           2
723*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_INT_MASK                                0x0100
724*53ee8cc1Swenshuai.xi     #define TSIO2_VCDMA_MIU_PRIORITY                                0x0200
725*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_INT_TRIGGER                          0x0400
726*53ee8cc1Swenshuai.xi 
727*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_DBG;              //49
728*53ee8cc1Swenshuai.xi 
729*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_VC_INT[4];        //4a~4d
730*53ee8cc1Swenshuai.xi 
731*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_INFO;             //4e
732*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_INT_VC_ID_MASK                       0x003F
733*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_INT_VC_ID_SHIFT                      0
734*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_INT_CLR                              0x0040
735*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_INT_MASK                             0x0080
736*53ee8cc1Swenshuai.xi     #define TSIO2_PACE_DBG_VCID_MASK                                0x3F00
737*53ee8cc1Swenshuai.xi     #define TSIO2_PACE_DBG_VCID_SHIFT                               8
738*53ee8cc1Swenshuai.xi     #define TSIO2_PACE_DBG_CLR                                      0x4000
739*53ee8cc1Swenshuai.xi     #define TSIO2_PACE_DBG_EN                                       0x8000
740*53ee8cc1Swenshuai.xi 
741*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_4F;                //4f
742*53ee8cc1Swenshuai.xi 
743*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_VC_STATUS_SEL;    //50
744*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_SEL_MASK                      0x00FC
745*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_SEL_SHIFT                     2
746*53ee8cc1Swenshuai.xi 
747*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_VC_STATUS;        //51
748*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_LASTNODE                      0x0200
749*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_NODEINT                       0x0400
750*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_DROP                          0x0800
751*53ee8cc1Swenshuai.xi     #define TSIO2_SGDMA_OUT_VC_STATUS_DMAEND                        0x1000
752*53ee8cc1Swenshuai.xi 
753*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_CONFIG0;          //52
754*53ee8cc1Swenshuai.xi 
755*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_OUT_CONFIG1;          //53
756*53ee8cc1Swenshuai.xi 
757*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_54_5F[12];         //54~5f
758*53ee8cc1Swenshuai.xi 
759*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_STR2MI_HEAD_DEBUG; //60~61
760*53ee8cc1Swenshuai.xi 
761*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PVR_STR2MI_TAIL_DEBUG; //62~63
762*53ee8cc1Swenshuai.xi 
763*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_RXANA_TO_PVR_DEBUG;    //64
764*53ee8cc1Swenshuai.xi     #define TSIO2_TSIO_RXANA_TO_PVR_DEBG                            0x0001
765*53ee8cc1Swenshuai.xi 
766*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_65_7F[27];         //65~7f
767*53ee8cc1Swenshuai.xi } REG_Ctrl_TSIO2;
768*53ee8cc1Swenshuai.xi 
769*53ee8cc1Swenshuai.xi //TSIO3
770*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO3
771*53ee8cc1Swenshuai.xi {
772*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_FILTER[32];            //00~3f
773*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_ENABLE                                     0x00000001
774*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_SERVICE_ID_MASK                            0x0000007E
775*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_SERVICE_ID_SHIFT                           1
776*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_PID_MASK                                   0x000FFF10
777*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_PID_SHIFT                                  7
778*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_USE_SERVICE_ID_IN_FILTERING                0x00100000
779*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_USE_PID_IN_FILTERING                       0x00200000
780*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_DATA_TO_SM                                 0x00400000
781*53ee8cc1Swenshuai.xi     #define TSIO3_FILTER_DATA_TO_TSIO_RX                            0x00800000
782*53ee8cc1Swenshuai.xi 
783*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_WHITE_LIST;            //40
784*53ee8cc1Swenshuai.xi     #define TSIO3_WHITE_LIST_SM_ENABLE                              0x0001
785*53ee8cc1Swenshuai.xi     #define TSIO3_WHITE_LIST_RX_ENABLE                              0x0002
786*53ee8cc1Swenshuai.xi 
787*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO3_CONFIG0;              //41
788*53ee8cc1Swenshuai.xi     #define TSIO3_BULK_ALWAYS_TO_SM                                 0x0001
789*53ee8cc1Swenshuai.xi 
790*53ee8cc1Swenshuai.xi 
791*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PKT_MERGE_CONFIG;      //42
792*53ee8cc1Swenshuai.xi     #define TSIO3_NO_NEED_MERGE_BYPASS_SM                           0x0001
793*53ee8cc1Swenshuai.xi     #define TSIO3_CLR_PKT_LENGTH_FLAG                               0x0020
794*53ee8cc1Swenshuai.xi 
795*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PKT_LENGTH;            //43
796*53ee8cc1Swenshuai.xi     #define TSIO3_PKT_LENGTH_MORE_212                               0x0001
797*53ee8cc1Swenshuai.xi     #define TSIO3_PKT_LENGTH_LESS_212                               0x0002
798*53ee8cc1Swenshuai.xi 
799*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_ONEWAY_MERGE;          //44
800*53ee8cc1Swenshuai.xi     #define TSIO3_TSIO_ONE_WAY_MERGRE                               0x0001
801*53ee8cc1Swenshuai.xi 
802*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_BYPASS_MERGE_DISABLE;  //45
803*53ee8cc1Swenshuai.xi     #define TSIO3_BYPASS_MERGE_DIABLE                               0x0001
804*53ee8cc1Swenshuai.xi 
805*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_SVID_BYPASS_SMC_EN[4]; //46~49
806*53ee8cc1Swenshuai.xi 
807*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_4A_7F[54];         //4A~7f
808*53ee8cc1Swenshuai.xi } REG_Ctrl_TSIO3;
809*53ee8cc1Swenshuai.xi 
810*53ee8cc1Swenshuai.xi //TSIO_LOCDEC
811*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO_LOCDEC
812*53ee8cc1Swenshuai.xi {
813*53ee8cc1Swenshuai.xi     REG16_TSIO                          SW_KEY[8];                  //00~07
814*53ee8cc1Swenshuai.xi 
815*53ee8cc1Swenshuai.xi     REG32_TSIO                          SW_KEY_PROPERTY;            //08~09
816*53ee8cc1Swenshuai.xi 
817*53ee8cc1Swenshuai.xi     REG16_TSIO                          CMD;                        //0a
818*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CMD_SERVICE_ID_MASK                         0x003F
819*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CMD_SERVICE_ID_SHIFT                        0
820*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CMD_KEY_SEL                                 0x0100
821*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CMD_CMD                                     0x0200
822*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CMD_CMD_FPGA                                0x0400
823*53ee8cc1Swenshuai.xi 
824*53ee8cc1Swenshuai.xi     REG16_TSIO                          KT_GO;                      //0b
825*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_GO                                       0x0001
826*53ee8cc1Swenshuai.xi 
827*53ee8cc1Swenshuai.xi     REG16_TSIO                          KT_DONE;                    //0c
828*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_DONE                                     0x0001
829*53ee8cc1Swenshuai.xi 
830*53ee8cc1Swenshuai.xi     REG16_TSIO                          SCBFIXRULE;                 //0d
831*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_SCBFIXRULE                                  0x0001
832*53ee8cc1Swenshuai.xi 
833*53ee8cc1Swenshuai.xi     REG16_TSIO                          XIU;                        //0e
834*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_XIU_ID_MASK                                 0x000F
835*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_XIU_ID_SHIFT                                0
836*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_XIU_NS                                      0x0010
837*53ee8cc1Swenshuai.xi 
838*53ee8cc1Swenshuai.xi     REG16_TSIO                          SECURE;                     //0f
839*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_TO_SECURE                                   0x0001
840*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_WRITE_SECURE_FORBID                         0x0010
841*53ee8cc1Swenshuai.xi 
842*53ee8cc1Swenshuai.xi     REG16_TSIO                          BYPASS_STATUS;              //10
843*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_KEY_ENABLE_BIT                     0x0001
844*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_EVEN_KEY_VLD                       0x0002
845*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_EVEN_KEY_DECRYPT                   0x0004
846*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_EVEN_KEY_ENTROPY                   0x0008
847*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_EVEN_KEY_USAGE                     0x0010
848*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_ODD_KEY_VLD                        0x0020
849*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_ODD_KEY_DECRYPT                    0x0040
850*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_ODD_KEY_ENTROPY                    0x0080
851*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_ODD_KEY_USAGE                      0x0100
852*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_AF_ONLY                            0x0200
853*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_AF_LENGTH                          0x0400
854*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_TS_MODE                            0x0800
855*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_BULK_MODE                          0x1000
856*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_BYPASS_EN                          0x2000
857*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BPSTATUS_BYPASS_VLD                         0x8000
858*53ee8cc1Swenshuai.xi 
859*53ee8cc1Swenshuai.xi     REG32_TSIO                          SCPU_CTRL;                  //11~12
860*53ee8cc1Swenshuai.xi 
861*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_13;                //13
862*53ee8cc1Swenshuai.xi 
863*53ee8cc1Swenshuai.xi     REG16_TSIO                          KEY_ENABLE_BIT[4];          //14~17
864*53ee8cc1Swenshuai.xi 
865*53ee8cc1Swenshuai.xi     REG16_TSIO                          ODD_KEY_VLD[4];             //18~1b
866*53ee8cc1Swenshuai.xi 
867*53ee8cc1Swenshuai.xi     REG16_TSIO                          EVEN_KEY_VLD[4];            //1c~1f
868*53ee8cc1Swenshuai.xi 
869*53ee8cc1Swenshuai.xi     REG32_TSIO                          CHK_BANK_VERSION;           //20~21
870*53ee8cc1Swenshuai.xi 
871*53ee8cc1Swenshuai.xi     REG16_TSIO                          FORCESCB_BIT[4];            //22~25
872*53ee8cc1Swenshuai.xi 
873*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_26_2F[10];         //26~2f
874*53ee8cc1Swenshuai.xi 
875*53ee8cc1Swenshuai.xi     REG16_TSIO                          DEBUG;                      //30
876*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_DEBUG_ID_MASK                               0x003F
877*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_DEBUG_ID_SHIFT                              0
878*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_DEBUG_CLR                                   0x0080
879*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_PKT_CNT_CLR                                 0x0100
880*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_BYPASS_CLR                                  0x0200
881*53ee8cc1Swenshuai.xi 
882*53ee8cc1Swenshuai.xi     REG16_TSIO                          KT_ERROR;                   //31
883*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_ERROR_NO_ENABLE                          0x0001
884*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_ERROR_NO_KEY                             0x0002
885*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_ERROR_ERR_ALGO                           0x0010
886*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_ERROR_ERR_ENTROPY                        0x0020
887*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_ERROR_ERR_ENCDEC                         0x0040
888*53ee8cc1Swenshuai.xi 
889*53ee8cc1Swenshuai.xi     REG16_TSIO                          KT_WARNING;                 //32
890*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_WARNING_ERR_SYNC                         0x0001
891*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_KT_WARNING_NONE_212                         0x0002
892*53ee8cc1Swenshuai.xi 
893*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_33_37[5];          //33~37
894*53ee8cc1Swenshuai.xi 
895*53ee8cc1Swenshuai.xi     REG16_TSIO                          PKT_CNT;                    //38
896*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_DEC_PKT_CNT_MASK                            0x00FF
897*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_DEC_PKT_CNT_SHIFT                           0
898*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CLR_PKT_CNT_MASK                            0xFF00
899*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_CLR_PKT_CNT_SHIFT                           8
900*53ee8cc1Swenshuai.xi 
901*53ee8cc1Swenshuai.xi     REG16_TSIO                          INPUT_PKT_CNT;              //39
902*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_INPUT_PKT_CNT_MASK                          0x00FF
903*53ee8cc1Swenshuai.xi     #define TSIO_LOCDEC_INPUT_PKT_CNT_SHIFT                         0
904*53ee8cc1Swenshuai.xi 
905*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_3A_3F[6];          //3a~3f
906*53ee8cc1Swenshuai.xi 
907*53ee8cc1Swenshuai.xi     REG16_TSIO                          NO_EN_IRQ_EN[4];            //40~43
908*53ee8cc1Swenshuai.xi 
909*53ee8cc1Swenshuai.xi     REG16_TSIO                          ERROR_IRQ_EN[4];            //44~47
910*53ee8cc1Swenshuai.xi 
911*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_48_4F[8];          //48~4f
912*53ee8cc1Swenshuai.xi 
913*53ee8cc1Swenshuai.xi     REG16_TSIO                          NO_EN_IRQ_STA[4];           //50~53
914*53ee8cc1Swenshuai.xi 
915*53ee8cc1Swenshuai.xi     REG16_TSIO                          ERROR_IRQ_STA[4];           //54~57
916*53ee8cc1Swenshuai.xi 
917*53ee8cc1Swenshuai.xi     REG16_TSIO                          WARNING_STA[4];             //58~5b
918*53ee8cc1Swenshuai.xi 
919*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_5C_5F[4];          //5c~5f
920*53ee8cc1Swenshuai.xi 
921*53ee8cc1Swenshuai.xi     REG16_TSIO                          FPGA_READ[8];               //60~67
922*53ee8cc1Swenshuai.xi 
923*53ee8cc1Swenshuai.xi     REG16_TSIO                          SLOT_SECURE[4];             //68~6b
924*53ee8cc1Swenshuai.xi 
925*53ee8cc1Swenshuai.xi     REG16_TSIO                          SLOT_PRIVILEGE[4];          //6c~6f
926*53ee8cc1Swenshuai.xi 
927*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_70_7F[16];         //70~7f
928*53ee8cc1Swenshuai.xi } REG_Ctrl_TSIO_LOCDEC;
929*53ee8cc1Swenshuai.xi 
930*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSIO_PHY
931*53ee8cc1Swenshuai.xi {
932*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_00;                //0x00
933*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_EN_RX_TERM                                  0x0001
934*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_EN_TX_SKEWCLK                               0x0002
935*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_GCR_CKEN_RX                                 0x0004
936*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_GCR_CKEN_RX_GUARD                           0x0008
937*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_GCR_CKEN_TX                                 0x0010
938*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_EN_REG                                      0x0020
939*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_EN_TX_SKEW                                  0x0040
940*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_REG_REF_SEL                                 0x0080
941*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_TX_CAL_EN                                   0x0100
942*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_TX_CAL_SRC                                  0x0200
943*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_PDN_TSIO_RX_PREAMP                          0x0400
944*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_PDN_TSIO_RX_TED                             0x0800
945*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_PD_IB_TSIO                                  0x1000
946*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_PD_RX_REF                                   0x2000
947*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_PD_TX_OCP                                   0x4000
948*53ee8cc1Swenshuai.xi     #define TSIO_PHY_00_START_RX_CAL                                0x8000
949*53ee8cc1Swenshuai.xi 
950*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_01;                //0x01
951*53ee8cc1Swenshuai.xi 
952*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_02;                //0x02
953*53ee8cc1Swenshuai.xi     #define TSIO_PHY_02_TEST_REG_MASK                               0x0300
954*53ee8cc1Swenshuai.xi     #define TSIO_PHY_02_TEST_REG_SHIFT                              8
955*53ee8cc1Swenshuai.xi 
956*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_03;                //0x03
957*53ee8cc1Swenshuai.xi 
958*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_04_05[2];          //0x04 ~0x05
959*53ee8cc1Swenshuai.xi 
960*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_06;                //0x06
961*53ee8cc1Swenshuai.xi     #define TSIO_PHY_06_GCR_RX_CA_DA_OV_MASK                        0x007F
962*53ee8cc1Swenshuai.xi     #define TSIO_PHY_06_GCR_RX_CA_DA_OV_SHIFT                       0
963*53ee8cc1Swenshuai.xi     #define TSIO_PHY_06_GCR_RX_CA_DB_OV_MASK                        0x7F00
964*53ee8cc1Swenshuai.xi     #define TSIO_PHY_06_GCR_RX_CA_DB_OV_SHIFT                       8
965*53ee8cc1Swenshuai.xi 
966*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_07_0A[4];          //0x07 ~0x0A
967*53ee8cc1Swenshuai.xi 
968*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_0B;                //0x0B
969*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_DATA_A_MASK                          0x003F
970*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_DATA_A_SHIFT                         0
971*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_DATA_B_MASK                          0x3F00
972*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_DATA_B_SHIFT                         8
973*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_END                                  0x8000
974*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0B_RX_CAL_END_SHIFT                            15
975*53ee8cc1Swenshuai.xi 
976*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_0C_0E[3];          //0x0C ~0x0E
977*53ee8cc1Swenshuai.xi 
978*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_0F;                //0x0F
979*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0F_HW_CAL_BIAS_CON_MASK                        0x001F
980*53ee8cc1Swenshuai.xi     #define TSIO_PHY_0F_HW_CAL_BIAS_CON_SHIFT                       0
981*53ee8cc1Swenshuai.xi 
982*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_10_11[2];          //0x10~0x11
983*53ee8cc1Swenshuai.xi 
984*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_12;                //0x12
985*53ee8cc1Swenshuai.xi 
986*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_13;                //0x13
987*53ee8cc1Swenshuai.xi 
988*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_14_17[4];          //0x14~0x17
989*53ee8cc1Swenshuai.xi 
990*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_18;                //0x18
991*53ee8cc1Swenshuai.xi     #define TSIO_PHY_18_TEST_TSIO_MASK                              0x00FF
992*53ee8cc1Swenshuai.xi     #define TSIO_PHY_18_TEST_TSIO_SHIFT                             0
993*53ee8cc1Swenshuai.xi 
994*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_19_1A[2];          //0x19~0x1A
995*53ee8cc1Swenshuai.xi 
996*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_1B;                //0x1B
997*53ee8cc1Swenshuai.xi 
998*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_1C_1F[4];          //0x1C~0x1F
999*53ee8cc1Swenshuai.xi 
1000*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_20;                //0x20
1001*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_PD                                     0x0001
1002*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_DMY_SKEW2                              0x0002
1003*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_DMY_SKEW3                              0x0004
1004*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_DMY_SKEW4                              0x0008
1005*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_PHDAC_RST                              0x0010
1006*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_PHDAC_SELECT                           0x0020
1007*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_PHDAC_UPDATE                           0x0040
1008*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_DUAL_LP_EN                             0x0080
1009*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SEL_SKEW1_DELAYlt                      0x0100
1010*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SEL_SKEW2_DELAYlt                      0x0200
1011*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SEL_SKEW3_DELAYlt                      0x0400
1012*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SEL_SKEW4_DELAYlt                      0x0800
1013*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SKEW_EN_FIXCLK                         0x1000
1014*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SKEW_EN_SKEWCLK                        0x2000
1015*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_SYN_CLKIN                              0x4000
1016*53ee8cc1Swenshuai.xi     #define TSIO_PHY_20_LPLL_XTAL_LV                                0x8000
1017*53ee8cc1Swenshuai.xi 
1018*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_21;                //0x21
1019*53ee8cc1Swenshuai.xi     #define TSIO_PHY_21_EN_DDR                                      0x0001
1020*53ee8cc1Swenshuai.xi     #define TSIO_PHY_21_EN_MINI                                     0x0002
1021*53ee8cc1Swenshuai.xi     #define TSIO_PHY_21_LPLL_RX_CLKIN_10                            0x0004
1022*53ee8cc1Swenshuai.xi     #define TSIO_PHY_21_LPLL_EN_FT_BACKUP                           0x0008
1023*53ee8cc1Swenshuai.xi 
1024*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_22;                //0x22
1025*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_INPUT_DIV_FIRST_MASK                   0x0003
1026*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_INPUT_DIV_FIRST_SHIFT                  0
1027*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_LOOP_DIV_FIRST_MASK                    0x000C
1028*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_LOOP_DIV_FIRST_SHIFT                   2
1029*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_LOOP_DIV_SECOND_MASK                   0x00F0
1030*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_LOOP_DIV_SECOND_SHIFT                  4
1031*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_ICTRL_MASK                             0x0700
1032*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_ICTRL_SHIFT                            8
1033*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_SKEW_DIV_MASK                          0x7000
1034*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_SKEW_DIV_SHIFT                         12
1035*53ee8cc1Swenshuai.xi     #define TSIO_PHY_22_LPLL_SW_DEBUG_EN                            0x8000
1036*53ee8cc1Swenshuai.xi 
1037*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_23;                //0x23
1038*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW1_FINE_MASK                        0x000F
1039*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW1_FINE_SHIFT                       0
1040*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW4_FINE_MASK                        0x00F0
1041*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW4_FINE_SHIFT                       4
1042*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW2_FINE_MASK                        0x0F00
1043*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW2_FINE_SHIFT                       8
1044*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW3_FINE_MASK                        0xF000
1045*53ee8cc1Swenshuai.xi     #define TSIO_PHY_23_LPLL_SKEW3_FINE_SHIFT                       12
1046*53ee8cc1Swenshuai.xi 
1047*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_24;                //0x24
1048*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW1_COARSE_MASK                      0x001F
1049*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW1_COARSE_SHIFT                     0
1050*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW2_COARSE_MASK                      0x1F00
1051*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW2_COARSE_SHIFT                     8
1052*53ee8cc1Swenshuai.xi 
1053*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSIO_PHY_25;                //0x25
1054*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW4_COARSE_MASK                      0x001F
1055*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW4_COARSE_SHIFT                     0
1056*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW3_COARSE_MASK                      0x1F00
1057*53ee8cc1Swenshuai.xi     #define TSIO_PHY_24_LPLL_SKEW3_COARSE_SHIFT                     8
1058*53ee8cc1Swenshuai.xi 
1059*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_26_2F[10];         //0x26~0x2F
1060*53ee8cc1Swenshuai.xi 
1061*53ee8cc1Swenshuai.xi     REG32_TSIO                          TSIO_PHY_30_31;             //0x30~31
1062*53ee8cc1Swenshuai.xi     #define TSIO_PHY_30_31_LPLL_SYNTH_SET_MASK                      0x00FFFFFF
1063*53ee8cc1Swenshuai.xi     #define TSIO_PHY_30_31_LPLL_SYNTH_SET_SHIFT                     0
1064*53ee8cc1Swenshuai.xi 
1065*53ee8cc1Swenshuai.xi }REG_Ctrl_TSIO_PHY;
1066*53ee8cc1Swenshuai.xi 
1067*53ee8cc1Swenshuai.xi 
1068*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO0 //for sgdmain pidflt
1069*53ee8cc1Swenshuai.xi {
1070*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_43[68];         //0x00~0x43
1071*53ee8cc1Swenshuai.xi 
1072*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSO_CONFIG5;                //0x44
1073*53ee8cc1Swenshuai.xi     #define TSO0_TSIO2OPIF                                          0x0800
1074*53ee8cc1Swenshuai.xi     #define TSO0_TSIO_MODE                                          0x0400
1075*53ee8cc1Swenshuai.xi 
1076*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_ADDR_L;             //45 ind R/W of L addr to pdtable
1077*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_ADDR_H;             //46 ind R/W of H addr to pdtable
1078*53ee8cc1Swenshuai.xi 
1079*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_WDATA_L;            //47 ind R/W of L addr to pdtable
1080*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_WDATA_H;            //48 ind R/W of L addr to pdtable
1081*53ee8cc1Swenshuai.xi     #define TSO0_PID_MASK                                           0x00001FFF
1082*53ee8cc1Swenshuai.xi     #define TSO0_PID_SHIFT                                          0
1083*53ee8cc1Swenshuai.xi     #define TSO0_ONE_MASK                                           0x0000E000
1084*53ee8cc1Swenshuai.xi     #define TSO0_ONE_SHIFT                                          13
1085*53ee8cc1Swenshuai.xi     #define TSO0_SVID_MASK                                          0x003F0000
1086*53ee8cc1Swenshuai.xi     #define TSO0_SVID_SHIFT                                         16
1087*53ee8cc1Swenshuai.xi     #define TSO0_ZERO_MASK                                          0xFFC00000
1088*53ee8cc1Swenshuai.xi     #define TSO0_ZERO_SHIFT                                         22
1089*53ee8cc1Swenshuai.xi 
1090*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_RDATA;              //49 ind of Rdata from pdtable
1091*53ee8cc1Swenshuai.xi 
1092*53ee8cc1Swenshuai.xi     REG16_TSIO                          PDTABLE_EN;                 //4A
1093*53ee8cc1Swenshuai.xi     #define TSO0_PDTABLE_W_EN                                       0x0001
1094*53ee8cc1Swenshuai.xi     #define TSO0_PDTABLE_R_EN                                       0x0002
1095*53ee8cc1Swenshuai.xi 
1096*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_4b_7F[53];         //4B~7F
1097*53ee8cc1Swenshuai.xi }REG_Ctrl_TSO0;
1098*53ee8cc1Swenshuai.xi 
1099*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO2 //Part of SGDMA_in
1100*53ee8cc1Swenshuai.xi {
1101*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_50[81];         //00~50
1102*53ee8cc1Swenshuai.xi 
1103*53ee8cc1Swenshuai.xi     REG16_TSIO                          SG_PDFLT_SVID_EN[4];        //51~54
1104*53ee8cc1Swenshuai.xi     REG16_TSIO                          SG_PDTABLE_RDATA;           //55 ind of Rdata from pdtable
1105*53ee8cc1Swenshuai.xi     REG16_TSIO                          SG_PDTABLE_RDATA_H;         //56 ind of Rdata from pdtable
1106*53ee8cc1Swenshuai.xi     #define TSO2_PDTABLE_RDATA_H_MASK           0x003F
1107*53ee8cc1Swenshuai.xi 
1108*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_57_7F[41];         //57~7F
1109*53ee8cc1Swenshuai.xi }REG_Ctrl_TSO2;
1110*53ee8cc1Swenshuai.xi 
1111*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSO3 //SGDMA_in
1112*53ee8cc1Swenshuai.xi {
1113*53ee8cc1Swenshuai.xi     REG16_TSIO                          TSO3_CTRL;                  //00
1114*53ee8cc1Swenshuai.xi     #define TSO3_MEM_TS_W_ORDER                                     0x0001
1115*53ee8cc1Swenshuai.xi     #define TSO3_FILE_PAUSE                                         0x0002
1116*53ee8cc1Swenshuai.xi     #define TSO3_RADDR_LD                                           0x0004
1117*53ee8cc1Swenshuai.xi     #define TSO3_DIS_MIU_RQ                                         0x0008
1118*53ee8cc1Swenshuai.xi     #define TSO3_BYTE_TIMER_EN                                      0x0010
1119*53ee8cc1Swenshuai.xi     #define TSO3_MEM_TS_DATA_ENDIAN                                 0x0020
1120*53ee8cc1Swenshuai.xi     #define TSO3_SGFI2MI_PRIORITY                                   0x0040
1121*53ee8cc1Swenshuai.xi 
1122*53ee8cc1Swenshuai.xi     REG16_TSIO                          BYTE_TIMER;                 //01
1123*53ee8cc1Swenshuai.xi     #define TSO3_BYTE_TIMER_MASK                                    0x00FF
1124*53ee8cc1Swenshuai.xi     #define TSO3_BYTE_TIMER_SHIFT                                   0
1125*53ee8cc1Swenshuai.xi 
1126*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGCTRL;                     //02
1127*53ee8cc1Swenshuai.xi     #define TSO3_SGCTRL_RSTART                                      0x0001
1128*53ee8cc1Swenshuai.xi     #define TSO3_SGCTRL_RDONE                                       0x0002
1129*53ee8cc1Swenshuai.xi     #define TSO3_SGCTRL_BYTECNT_MASK                                0xFF00
1130*53ee8cc1Swenshuai.xi     #define TSO3_SGCTRL_BYTECNT_SHIFT                               8
1131*53ee8cc1Swenshuai.xi 
1132*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_03_07[5];          //03~07
1133*53ee8cc1Swenshuai.xi 
1134*53ee8cc1Swenshuai.xi     REG32_TSIO                          SGVQ1_BASE;                 //08~09
1135*53ee8cc1Swenshuai.xi 
1136*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGVQ1_SIZE_200BYTE;         //0a
1137*53ee8cc1Swenshuai.xi 
1138*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGVQ1_TX_CONFIG;            //0b
1139*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_WR_THRESHOLD_MASK                        0x000F
1140*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_WR_THRESHOLD_SHIFT                       0
1141*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_PRIORITY_THRESHOLD_MASK                  0x00F0
1142*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_PRIORITY_THRESHOLD_SHIFT                 4
1143*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_FORCEFIRE_CNT_MASK                       0x0F00
1144*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_FORCEFIRE_CNT_SHIFT                      8
1145*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_TX_RESET                                 0x1000
1146*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_OVERFLOW_INT_EN                          0x2000
1147*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_OVERFLOW_CLR                             0x4000
1148*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_SVQ_TX_ENABLE                            0x8000
1149*53ee8cc1Swenshuai.xi 
1150*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGVQ1_TX_CONFIG_2;          //0c
1151*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_2_FORCEFIRE_CNT_EXT_MASK                 0x0003
1152*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_2_FORCEFIRE_CNT_EXT_SHIFT                0
1153*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_2_DISABLE_FORCEFIRE                      0x0004
1154*53ee8cc1Swenshuai.xi     #define TSO3_TX_CONFIG_2_FIX_MIU_REG_FLUSH_VQ                   0x0008
1155*53ee8cc1Swenshuai.xi 
1156*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGVQ_RX_CONFIG;             //0d
1157*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_MODE_MASK                           0x0003
1158*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_MODE_SHIFT                          0
1159*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_RD_THRESHOLD_MASK                   0x001C
1160*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_RD_THRESHOLD_SHIFT                  2
1161*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_ARBITOR_MODE_MASK                   0x0060
1162*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_ARBITOR_MODE_SHIFT                  5
1163*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SRAM_SD_EN                          0x0080
1164*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SVQ_FORCE_RESET                     0x0100
1165*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SVQ_MIU_NS                          0x0200
1166*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SVQ_MOBF_INDEX_MASK                 0x7C00
1167*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SVQ_MOBF_INDEX_SHIFT                10
1168*53ee8cc1Swenshuai.xi     #define TSO3_SGVQ_RX_CONFIG_SVQ_DYNAMIC_PRI                     0x8000
1169*53ee8cc1Swenshuai.xi 
1170*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGVQ_STATUS;                //0e
1171*53ee8cc1Swenshuai.xi 
1172*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_0F;                //0f
1173*53ee8cc1Swenshuai.xi 
1174*53ee8cc1Swenshuai.xi     REG16_TSIO                          PRE_HEADER_1_CONFIG[4];     //10~13
1175*53ee8cc1Swenshuai.xi 
1176*53ee8cc1Swenshuai.xi     REG16_TSIO                          DBG_SEL;                    //14
1177*53ee8cc1Swenshuai.xi     #define TSO3_DBG_SEL_MASK                                       0x00FF
1178*53ee8cc1Swenshuai.xi     #define TSO3_DBG_SEL_SHIFT                                      0
1179*53ee8cc1Swenshuai.xi 
1180*53ee8cc1Swenshuai.xi     REG16_TSIO                          LAST_PKT;                   //15
1181*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_EN                                 0x0001
1182*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_RST_WADR                           0x0002
1183*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_PAUSE                              0x0004
1184*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_BURST_LEN_MASK                            0x0018
1185*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_BURST_LEN_SHIFT                           3
1186*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_SRAM_SD_EN                                0x0020
1187*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_FLUSH_DATA                                0x0040
1188*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_WP_LD                              0x0080
1189*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_CLR                                       0x0100
1190*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_DMA_FLUSH_EN                              0x0200
1191*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_MIU_HIGHPRI                               0x0400
1192*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_WRITE_POINTER_TO_NEXT_ADDR_EN             0x0800
1193*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_DMAW_PROTECT_EN                           0x1000
1194*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_CLR_NO_HIT_INT                            0x2000
1195*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_FLUSH_DATA_LAST_PKT_STATUS                0x4000
1196*53ee8cc1Swenshuai.xi 
1197*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_STR2MI_HEAD;       //16~17
1198*53ee8cc1Swenshuai.xi 
1199*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_STR2MI_TAIL;       //18~19
1200*53ee8cc1Swenshuai.xi 
1201*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_DMAW_WADDR_ERR;    //1a~1b
1202*53ee8cc1Swenshuai.xi 
1203*53ee8cc1Swenshuai.xi     REG16_TSIO                          LAST_PKT_STR2MI_MOBF_INDEX0;//1c
1204*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_MOBF_INDEX0_MASK                   0x001F
1205*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_STR2MI_MOBF_INDEX0_SHIFT                  0
1206*53ee8cc1Swenshuai.xi 
1207*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_STR2MI_WADR_R;     //1d~1e
1208*53ee8cc1Swenshuai.xi 
1209*53ee8cc1Swenshuai.xi     REG16_TSIO                          LAST_PKT_STATUS;            //1f
1210*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_FIFO_STATUS_MASK                          0x000F
1211*53ee8cc1Swenshuai.xi     #define TSO3_LAST_PKT_FIFO_STATUS_SHIFT                         0
1212*53ee8cc1Swenshuai.xi     #define TSO3_ABT_STATUS_MASK                                    0x03F0
1213*53ee8cc1Swenshuai.xi     #define TSO3_ABT_STATUS_SHIFT                                   4
1214*53ee8cc1Swenshuai.xi 
1215*53ee8cc1Swenshuai.xi     REG32_TSIO                          SG_DEBUG_PORT;              //20~21
1216*53ee8cc1Swenshuai.xi     #define TSO3_SG_DEBUG_PORT_MASK                                 0x00FFFFFF
1217*53ee8cc1Swenshuai.xi     #define TSO3_SG_DEBUG_PORT_SHIFT                                1
1218*53ee8cc1Swenshuai.xi 
1219*53ee8cc1Swenshuai.xi     REG16_TSIO                          REG_ABT;                    //22
1220*53ee8cc1Swenshuai.xi     #define TSO3_MIU_RR_PRI_ABT                                     0x0001
1221*53ee8cc1Swenshuai.xi     #define TSO3_DIS_MIU_RQ_ABT                                     0x0002
1222*53ee8cc1Swenshuai.xi     #define TSO3_MERGE_EN_ABT                                       0x0004
1223*53ee8cc1Swenshuai.xi 
1224*53ee8cc1Swenshuai.xi     REG16_TSIO                          SW_RSTZ;                    //23
1225*53ee8cc1Swenshuai.xi     #define TSO3_SW_RSTZ                                            0x0001
1226*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_DMA_READ                                 0x0002
1227*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_DMA_READ_MIU                             0x0004
1228*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_LAST_PKT                                 0x0008
1229*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_LAST_PKT_MIU                             0x0010
1230*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_PINGPONG_FIFO                            0x0020
1231*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSIF                                     0x0040
1232*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_VQ_TX                                    0x0080
1233*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_VQ_TX_MIU                                0x0100
1234*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSO_ROUNDROBIN                           0x0200
1235*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSO_SGDMA_CTRL                           0x0400
1236*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSO_VC_TABLE                             0x0800
1237*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSO_VCDMA_READ_MIU                       0x1000
1238*53ee8cc1Swenshuai.xi     #define TSO3_SW_RST_SG_TSO_PACE_TRANSFER                        0x2000
1239*53ee8cc1Swenshuai.xi 
1240*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_DMAW_LBND;         //24~25
1241*53ee8cc1Swenshuai.xi 
1242*53ee8cc1Swenshuai.xi     REG32_TSIO                          LAST_PKT_DMAW_UBND;         //26~27
1243*53ee8cc1Swenshuai.xi 
1244*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_28_29[2];          //28~29
1245*53ee8cc1Swenshuai.xi 
1246*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_IN_CONFIG0;           //2a
1247*53ee8cc1Swenshuai.xi 
1248*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_IN_CONFIG1;           //2b
1249*53ee8cc1Swenshuai.xi 
1250*53ee8cc1Swenshuai.xi     REG16_TSIO                          SID_DISABLE[4];             //2c~2f
1251*53ee8cc1Swenshuai.xi 
1252*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGCTRL_START;               //30
1253*53ee8cc1Swenshuai.xi     #define TSO3_SGCTRL_START                                       0x0001
1254*53ee8cc1Swenshuai.xi 
1255*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_ACTIVE;                //31
1256*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_ACTIVE                                        0x0001
1257*53ee8cc1Swenshuai.xi 
1258*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_CMD;                   //32
1259*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_VC_ID_MASK                           0x003F
1260*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_VC_ID_SHIFT                          0
1261*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_POSITION_MASK                        0x01C0
1262*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_POSITION_SHIFT                       6
1263*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_START_A_NEW_PACKAGE                       0x0200
1264*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_RW                                   0x0400
1265*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_ACPU_ACTIVE                               0x0800
1266*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_CMD_M_PRIORITY                                0x1000
1267*53ee8cc1Swenshuai.xi 
1268*53ee8cc1Swenshuai.xi     REG32_TSIO                          ACPU_WDATA;                 //33~34
1269*53ee8cc1Swenshuai.xi 
1270*53ee8cc1Swenshuai.xi     REG16_TSIO                          ACPU_FLAG;                  //35
1271*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_MODE_INFO_MIU_SEL_MASK                   0x0003
1272*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_MODE_INFO_MIU_SEL_SHIFT                  0
1273*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_LAST_NODE_FLUSH                          0x0004
1274*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_PKT_MODE_188                             0x0008
1275*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_INTERRUPT_ENABLE                         0x0010
1276*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_MOBF_MASK                                0x03E0
1277*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_MOBF_SHIFT                               5
1278*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_SERVICE_ID_MASK                          0xFC00
1279*53ee8cc1Swenshuai.xi     #define TSO3_ACPU_FLAG_SERVICE_ID_SHIFT                         10
1280*53ee8cc1Swenshuai.xi 
1281*53ee8cc1Swenshuai.xi     REG32_TSIO                          ACPU_RDATA;                 //36~37
1282*53ee8cc1Swenshuai.xi 
1283*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_IN;                   //38
1284*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_INT_CLR                                   0x0001
1285*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_PAUSE                                     0x0002
1286*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_DBG_SEL_MASK                              0x00FC
1287*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_DBG_SEL_SHIFT                             2
1288*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_INT_MASK                                  0x0100
1289*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VCDMA_MIU_PRIORITY                        0x0200
1290*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VC_INT_TRIGGER                            0x0400
1291*53ee8cc1Swenshuai.xi 
1292*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_IN_DBG;               //39
1293*53ee8cc1Swenshuai.xi 
1294*53ee8cc1Swenshuai.xi     REG16_TSIO                          SGDMA_IN_VC_INT[4];         //3a~3d
1295*53ee8cc1Swenshuai.xi 
1296*53ee8cc1Swenshuai.xi     REG16_TSIO                          PACE_DBG;                   //3e
1297*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VC_INT_VC_ID_MASK                         0x003F
1298*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VC_INT_VC_ID_SHIFT                        0
1299*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VC_INT_CLR                                0x0040
1300*53ee8cc1Swenshuai.xi     #define TSO3_SGDMA_IN_VC_INT_MASK                               0x0080
1301*53ee8cc1Swenshuai.xi     #define TSO3_PACE_DBG_VCID_MASK                                 0x3F00
1302*53ee8cc1Swenshuai.xi     #define TSO3_PACE_DBG_VCID_SHIFT                                8
1303*53ee8cc1Swenshuai.xi     #define TSO3_PACE_DBG_CLR                                       0x4000
1304*53ee8cc1Swenshuai.xi     #define TSO3_PACE_DBG_EN                                        0x8000
1305*53ee8cc1Swenshuai.xi 
1306*53ee8cc1Swenshuai.xi     REG16_TSIO                          GLOBAL_TICK_COUNT_SET;      //3f
1307*53ee8cc1Swenshuai.xi     #define TSO3_GLOBAL_TICK_COUNT_SET_MASK                         0x00FF
1308*53ee8cc1Swenshuai.xi     #define TSO3_GLOBAL_TICK_COUNT_SET_SHIFT                        0
1309*53ee8cc1Swenshuai.xi 
1310*53ee8cc1Swenshuai.xi     REG16_TSIO                          TICK_COUNT_SET[64];         //40~7f
1311*53ee8cc1Swenshuai.xi     #define TSO3_TICK_COUNT_SET_MASK                                0x03FF
1312*53ee8cc1Swenshuai.xi     #define TSO3_TICK_COUNT_SET_SHIFT                               0
1313*53ee8cc1Swenshuai.xi }REG_Ctrl_TSO3;
1314*53ee8cc1Swenshuai.xi 
1315*53ee8cc1Swenshuai.xi typedef struct _REG_Ctrl_TSP8 //TSP8
1316*53ee8cc1Swenshuai.xi {
1317*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_00_62[99];         //00~62
1318*53ee8cc1Swenshuai.xi     REG16_TSIO                          HW8_CONFIG3;      //63
1319*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO0_BLK_EN                                  0x0001
1320*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO1_BLK_EN                                  0x0002
1321*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO2_BLK_EN                                  0x0004
1322*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO3_BLK_EN                                  0x0008
1323*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO4_BLK_EN                                  0x0010
1324*53ee8cc1Swenshuai.xi     #define TSP_TSIF0_TSIO5_BLK_EN                                  0x0020
1325*53ee8cc1Swenshuai.xi     REG16_TSIO                          RESERVED_64_7F[28];         //64~7f
1326*53ee8cc1Swenshuai.xi }REG_Ctrl_TSP8;
1327*53ee8cc1Swenshuai.xi 
1328*53ee8cc1Swenshuai.xi #endif // _TSIO_REG_H_
1329