xref: /utopia/UTPA2-700.0.x/modules/dscmb/hal/kano/nsk2/regNDSRASP.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) 2008-2009 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: regRASP.h
98*53ee8cc1Swenshuai.xi //  Description: RASP Register Definition
99*53ee8cc1Swenshuai.xi //
100*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////////////////////////
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi #ifndef _RASP_REG_H_
103*53ee8cc1Swenshuai.xi #define _RASP_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 
132*53ee8cc1Swenshuai.xi 
133*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
134*53ee8cc1Swenshuai.xi //  Global Definition
135*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
136*53ee8cc1Swenshuai.xi 
137*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
138*53ee8cc1Swenshuai.xi //  Compliation Option
139*53ee8cc1Swenshuai.xi //--------------------------------------------------------------------------------------------------
140*53ee8cc1Swenshuai.xi 
141*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
142*53ee8cc1Swenshuai.xi //  Harware Capability
143*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
144*53ee8cc1Swenshuai.xi #define RASP_PIDFLT_NUM             24
145*53ee8cc1Swenshuai.xi #define RASP_PIDFLT_DEF             0x1fff
146*53ee8cc1Swenshuai.xi #define RASP_EVENT_NUM              16
147*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_DEPTH       32*4
148*53ee8cc1Swenshuai.xi 
149*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
150*53ee8cc1Swenshuai.xi //  Type and Structure
151*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
152*53ee8cc1Swenshuai.xi 
153*53ee8cc1Swenshuai.xi #define REG_RASP0_BASE           (0x111B00<<1)
154*53ee8cc1Swenshuai.xi #define REG_RASP0_FILE_BASE      (0x112500<<1)
155*53ee8cc1Swenshuai.xi 
156*53ee8cc1Swenshuai.xi #define REG_RASP1_BASE           (0x111D00<<1)
157*53ee8cc1Swenshuai.xi #define REG_RASP1_FILE_BASE      (0x112600<<1)
158*53ee8cc1Swenshuai.xi 
159*53ee8cc1Swenshuai.xi #define REG_CHIPTOP_RP_BASE      (0x101E00<<1)
160*53ee8cc1Swenshuai.xi #define REG_CLKGEN_RP_BASE       (0x100B00<<1)
161*53ee8cc1Swenshuai.xi #define REG_CLKGEN2_BASE         (0x100A00<<1)
162*53ee8cc1Swenshuai.xi 
163*53ee8cc1Swenshuai.xi #define RASP_PID_PKT_CORPT_EN    0x2000
164*53ee8cc1Swenshuai.xi 
165*53ee8cc1Swenshuai.xi 
166*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_TIMER_L        0x0000
167*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_TIMER_H        0x0001
168*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_NUM_L          0x0002
169*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_NUM_H          0x0003
170*53ee8cc1Swenshuai.xi #define REG_RASP_CORRUPTION         0x0004
171*53ee8cc1Swenshuai.xi #define RASP_FROMTO_MASK            0x00FF
172*53ee8cc1Swenshuai.xi #define RASP_TO_SHIFT               8
173*53ee8cc1Swenshuai.xi 
174*53ee8cc1Swenshuai.xi #define REG_RASP_CORPT_PKTSIZE      0x0005
175*53ee8cc1Swenshuai.xi #define RASP_CORPT_DATA             0x00FF
176*53ee8cc1Swenshuai.xi #define RASP_PKT_SIZE               0xFF00
177*53ee8cc1Swenshuai.xi #define RASP_PKT_SIZE_188           0xBB
178*53ee8cc1Swenshuai.xi #define RASP_PKT_SHIFT              8
179*53ee8cc1Swenshuai.xi 
180*53ee8cc1Swenshuai.xi #define REG_RASP_EVENTLOG_STATUS    0x0006
181*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_NUM_MASK    0x0000001F
182*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_FULL        0X00000020
183*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_EMPTY       0x00000040
184*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_RDLV_MASK   0x00000300
185*53ee8cc1Swenshuai.xi #define RASP_EVENT_FIFO_RDLV_SHIFT  8
186*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WTLV_MASK   0x00000C00
187*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WTLV_SHIFT  10
188*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_RD_OVF      0x00001000
189*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WT_OVF      0x00002000
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi #define REG_RASP_CONFIG_TSIF2       0x0007
192*53ee8cc1Swenshuai.xi 
193*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL0           0x0008
194*53ee8cc1Swenshuai.xi     #define RASP_SW_RESET               0x00000001
195*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_ENABLE           0x00000002
196*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_DATA_SWP         0x00000004
197*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_PARA_SEL         0x00000008
198*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_EXT_SYNC         0x00000010
199*53ee8cc1Swenshuai.xi     #define RASP_FILEIN_EN              0x00000020
200*53ee8cc1Swenshuai.xi     #define RASP_RISING_SYNC_DETECT     0x00000080
201*53ee8cc1Swenshuai.xi     #define RASP_FALLING_VALID_DETECT   0x00000100
202*53ee8cc1Swenshuai.xi     #define RASP_CLR_EVENT_OVERFLOW     0x00000200
203*53ee8cc1Swenshuai.xi     #define RASP_REC_EVENT_FIFO_EN      0x00001000
204*53ee8cc1Swenshuai.xi     #define RASP_CLEAR_ECM_PKT_NUM      0x00002000
205*53ee8cc1Swenshuai.xi 
206*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL1           0x0009
207*53ee8cc1Swenshuai.xi     #define RASP_REC_PID                0x00000001
208*53ee8cc1Swenshuai.xi     #define RASP_STR2MIU_EN             0x00000002
209*53ee8cc1Swenshuai.xi     #define RASP_PINGPONG_EN            0x00000004
210*53ee8cc1Swenshuai.xi     #define RASP_ALT_TS_SIZE_EN         0x00000080
211*53ee8cc1Swenshuai.xi     #define RASP_STR2MIU_RST_WADDR      0x00000010
212*53ee8cc1Swenshuai.xi     #define RASP_SERIAL_EXT_SYNC_1T     0x00000400
213*53ee8cc1Swenshuai.xi //192 aligement
214*53ee8cc1Swenshuai.xi     #define RASP_BURST_LEN_MASK         0x00001800
215*53ee8cc1Swenshuai.xi     #define RASP_BURST_LEN_SHIFT        0x0000000B
216*53ee8cc1Swenshuai.xi 
217*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_READ        0x00008000
218*53ee8cc1Swenshuai.xi 
219*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL2           0x000A
220*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_EN           0x00000001
221*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_EN           0x00000002
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_MASK         0x0000000C
224*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_SHIFT        2
225*53ee8cc1Swenshuai.xi 
226*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_MASK         0x000001F0
227*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_SHIFT        4
228*53ee8cc1Swenshuai.xi 
229*53ee8cc1Swenshuai.xi     #define RASP_PAYLOAD_BURST_LEN      0x00000400
230*53ee8cc1Swenshuai.xi     #define RASP_ECM_BURST_LEN          0x00001000
231*53ee8cc1Swenshuai.xi 
232*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL3           0x000B
233*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_EN           0x00000001
234*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_PINGPONE     0x00000002
235*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_SWAP         0x00000004
236*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_RST_WADDR    0x00000008
237*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2_PKT_192_DIS      0x00000040
238*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_LPCR_WT      0x00000080
239*53ee8cc1Swenshuai.xi     #define RASP_ECM2MIU_EN             0x00000100
240*53ee8cc1Swenshuai.xi     #define RASP_ECM2MIU_RST_WADDR      0x00000800
241*53ee8cc1Swenshuai.xi     #define RASP_ECMPKT_192_DIS          0x00004000
242*53ee8cc1Swenshuai.xi     #define RASP_ECM2MIU_LPCR_WT        0x00008000
243*53ee8cc1Swenshuai.xi 
244*53ee8cc1Swenshuai.xi #define REG_RASP_CLK90K_DIV         0x000C
245*53ee8cc1Swenshuai.xi #define REG_RASP_INT_CLR            0x000D
246*53ee8cc1Swenshuai.xi #define REG_RASP_INT_ENABLE         0x000E
247*53ee8cc1Swenshuai.xi #define REG_RASP_INT_STATUS         0x000F
248*53ee8cc1Swenshuai.xi     #define RASP_INT_EFRAME_RD_OVF      0x00000001
249*53ee8cc1Swenshuai.xi     #define RASP_INT_EFRAME_WT_OVF      0x00000002
250*53ee8cc1Swenshuai.xi     #define RASP_INT_STR2MIU            0x0000000C           // 2 BIT FOR WHAT ?
251*53ee8cc1Swenshuai.xi     #define RASP_INT_PAYLD2MIU          0x00000030
252*53ee8cc1Swenshuai.xi     #define RASP_INT_ECM2MIU            0x000000C0
253*53ee8cc1Swenshuai.xi     #define RASP_INT_TIME_WATER_MARK    0x00000100
254*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_WATER_MARK   0x00000200
255*53ee8cc1Swenshuai.xi     #define RASP_INT_ECM_PKT_RDY        0x00000400
256*53ee8cc1Swenshuai.xi     #define RASP_INT_PVR2MIU            0x00001800
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_HEAD1_L    0x0010
259*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_HEAD1_H    0x0011
260*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_TAIL1_L    0x0012
261*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_TAIL1_H    0x0013
262*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_MID1_L     0x0014
263*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_MID1_H     0x0015
264*53ee8cc1Swenshuai.xi 
265*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_HEAD2_L    0x0016
266*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_HEAD2_H    0x0017
267*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_TAIL2_L    0x0018
268*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_TAIL2_H    0x0019
269*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_MID2_L     0x001A
270*53ee8cc1Swenshuai.xi #define REG_RASP_STR2MIU_MID2_H     0x001B
271*53ee8cc1Swenshuai.xi 
272*53ee8cc1Swenshuai.xi 
273*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL4           0x001C
274*53ee8cc1Swenshuai.xi     #define RASP_STREAM_192_EN          0x0001
275*53ee8cc1Swenshuai.xi     #define RASP_STREAM_LPCR_WLD        0x0002
276*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_BYPASS           0x0004
277*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_CLR_OVERFLOW     0x0008
278*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_FULL_SEL_MASK    0x0070
279*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_FULL_SEL_SHFT    4
280*53ee8cc1Swenshuai.xi     #define RASP_TS_STR2MI_WP_LD_DIS    0x0080
281*53ee8cc1Swenshuai.xi     #define RASP_TS_PAY2MI_WP_LD_DIS    0x0100
282*53ee8cc1Swenshuai.xi     #define RASP_REC_AT_SYNC_DIS        0x0400
283*53ee8cc1Swenshuai.xi     #define RASP_AUTO_STREAM_47_48      0x2000
284*53ee8cc1Swenshuai.xi 
285*53ee8cc1Swenshuai.xi #define REG_RASP_HW_CTRL5           0x001D
286*53ee8cc1Swenshuai.xi 
287*53ee8cc1Swenshuai.xi #define REG_RASP_PIDFLT_N(n)        (0x0020 + n)
288*53ee8cc1Swenshuai.xi 
289*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_DESCR_L      0x0050
290*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_DESCR_H      0x0051
291*53ee8cc1Swenshuai.xi 
292*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_NUM_L    0x0052
293*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_NUM_H    0x0053
294*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_TIMER_L  0x0054
295*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_TIMER_H  0x0055
296*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_PCR_L    0x0056
297*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_PCR_H    0x0057
298*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_PKT_PID      0x0058
299*53ee8cc1Swenshuai.xi 
300*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_HEAD1_L    0x0060
301*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_HEAD1_H    0x0061
302*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_TAIL1_L    0x0062
303*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_TAIL1_H    0x0063
304*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_MID1_L     0x0064
305*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_MID1_H     0x0065
306*53ee8cc1Swenshuai.xi 
307*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_HEAD2_L    0x0066
308*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_HEAD2_H    0x0067
309*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_TAIL2_L    0x0068
310*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_TAIL2_H    0x0069
311*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_MID2_L     0x006A
312*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD2MIU_MID2_H     0x006B
313*53ee8cc1Swenshuai.xi 
314*53ee8cc1Swenshuai.xi #define REG_RASP_PAY_LPCR1_BUF_L    0x006C
315*53ee8cc1Swenshuai.xi #define REG_RASP_PAY_LPCR1_BUF_H    0x006D
316*53ee8cc1Swenshuai.xi #define REG_RASP_PAY_LPCR1_L        0x006E
317*53ee8cc1Swenshuai.xi #define REG_RASP_PAY_LPCR1_H        0x006F
318*53ee8cc1Swenshuai.xi 
319*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_HEAD1_L    0x0070
320*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_HEAD1_H    0x0071
321*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_TAIL1_L    0x0072
322*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_TAIL1_H    0x0073
323*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_MID1_L     0x0074
324*53ee8cc1Swenshuai.xi #define REG_RASP_ECM2MIU_MID1_H     0x0075
325*53ee8cc1Swenshuai.xi 
326*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_LPCR1_BUF_L    0x0076
327*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_LPCR1_BUF_H    0x0077
328*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_LPCR1_L        0x0078
329*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_LPCR1_H        0x0079
330*53ee8cc1Swenshuai.xi 
331*53ee8cc1Swenshuai.xi #define REG_RASP_STR_LPCR1_BUF_L    0x007A
332*53ee8cc1Swenshuai.xi #define REG_RASP_STR_LPCR1_BUF_H    0x007B
333*53ee8cc1Swenshuai.xi #define REG_RASP_STR_LPCR1_L        0x007C
334*53ee8cc1Swenshuai.xi #define REG_RASP_STR_LPCR1_H        0x007D
335*53ee8cc1Swenshuai.xi 
336*53ee8cc1Swenshuai.xi #define REG_RASP_STATUS             0x007F
337*53ee8cc1Swenshuai.xi 
338*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_PID_N(n)      (0x0080 + 0x0012 + n)
339*53ee8cc1Swenshuai.xi 
340*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_TID           (0x0080 + 0x0016)
341*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_LOCK_CTRL     (0x0080 + 0x0017)
342*53ee8cc1Swenshuai.xi #define REG_RASP_CA_INT            (0x0080 + 0x0018)
343*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_INT_STATE     (0x0080 + 0x0019)
344*53ee8cc1Swenshuai.xi 
345*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_PID_4         (0x0080 + 0x0030)
346*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_PID_5         (0x0080 + 0x0031)
347*53ee8cc1Swenshuai.xi 
348*53ee8cc1Swenshuai.xi #define REG_RASP_ECM45_LOCK_CTRL   (0x0080 + 0x0032)
349*53ee8cc1Swenshuai.xi 
350*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_PACKET_NUM_L  (0x0080 + 0x0034)
351*53ee8cc1Swenshuai.xi #define REG_RASP_ECM_PACKET_NUM_H  (0x0080 + 0x0035)
352*53ee8cc1Swenshuai.xi 
353*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_MEET_SIZE_L   (0x0080 + 0x003A)
354*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_MEET_SIZE_H   (0x0080 + 0x003B)
355*53ee8cc1Swenshuai.xi #define REG_RASP_PKT_SET		   (0x0080 + 0x003C)
356*53ee8cc1Swenshuai.xi 	#define RASP_PKT_RESET_NUMBER		0x0100
357*53ee8cc1Swenshuai.xi 	#define RASP_PKT_RESET_TIMER		0x0200
358*53ee8cc1Swenshuai.xi 
359*53ee8cc1Swenshuai.xi #define REG_RASP_PAYLOAD_MASK_N(n) (0x0080 + 0x0040 + 2*n)
360*53ee8cc1Swenshuai.xi 
361*53ee8cc1Swenshuai.xi #define REG_RASP_EVENT_MASK_N(n)   (0x0080 + 0x0060 + 2*n)
362*53ee8cc1Swenshuai.xi 
363*53ee8cc1Swenshuai.xi #define REG_RFILEIN_RESET           0x0000
364*53ee8cc1Swenshuai.xi #define REG_RFILEIN_RESET_ALL           0x001F
365*53ee8cc1Swenshuai.xi 
366*53ee8cc1Swenshuai.xi #define REG_RFILEIN_CTRL_0              0x0001
367*53ee8cc1Swenshuai.xi #define REG_RFILEIN_PKT_CHK_SIZE    0x00FF
368*53ee8cc1Swenshuai.xi #define REG_RFILEIN_PKT_CHK_SIZE_188    0x00BB
369*53ee8cc1Swenshuai.xi #define REG_RFILEIN_PKT_CHK_SIZE_192    0x00BF
370*53ee8cc1Swenshuai.xi #define RASP_RFILEIN_PORT_SEL_FILE    0x0100
371*53ee8cc1Swenshuai.xi #define RASP_RFILEIN_ALIGN_EN        0x0200
372*53ee8cc1Swenshuai.xi #define RASP_RFILEIN_TIMER_EN        0x0400
373*53ee8cc1Swenshuai.xi #define RASP_RFILEIN_INPUT_EN        0x0800
374*53ee8cc1Swenshuai.xi 
375*53ee8cc1Swenshuai.xi 	#define RASP_RFILEIN_PKT192_EN			0x1000
376*53ee8cc1Swenshuai.xi 	#define RASP_RFILEIN_PKT192_BLK_DIS		0x2000
377*53ee8cc1Swenshuai.xi 
378*53ee8cc1Swenshuai.xi #define REG_RFILEIN_TIMER           0x0002
379*53ee8cc1Swenshuai.xi #define REG_RFILEIN_CTRL_1          0x0003
380*53ee8cc1Swenshuai.xi #define REG_RFILEIN_LPCR2_WLD    0x0002
381*53ee8cc1Swenshuai.xi #define REG_RFILEIN_LPCR2_LOAD    0x0020
382*53ee8cc1Swenshuai.xi #define REG_RFILEIN_FLUSH_AUTO    0x0100
383*53ee8cc1Swenshuai.xi #define REG_RFILEIN_FLUSH        0x0200
384*53ee8cc1Swenshuai.xi #define REG_RFILEIN_TIMER_192FIX		0x0800	//fix 192 mode issue
385*53ee8cc1Swenshuai.xi #define REG_RFILEIN_RST_PKT_TSTAMP      0x1000  //reset file in stream timestamp
386*53ee8cc1Swenshuai.xi 
387*53ee8cc1Swenshuai.xi 
388*53ee8cc1Swenshuai.xi #define REG_RFILEIN_DTS_CONFIG_0    0x0004
389*53ee8cc1Swenshuai.xi #define REG_RFILEIN_DBG_SEL         0x000A
390*53ee8cc1Swenshuai.xi 
391*53ee8cc1Swenshuai.xi #define REG_RFILEIN_ADDR_L          0x0020
392*53ee8cc1Swenshuai.xi #define REG_RFILEIN_ADDR_H          0x0021
393*53ee8cc1Swenshuai.xi #define REG_RFILEIN_SIZE_L          0x0022
394*53ee8cc1Swenshuai.xi #define REG_RFILEIN_SIZE_H          0x0023
395*53ee8cc1Swenshuai.xi #define REG_RFILEIN_START           0x0024
396*53ee8cc1Swenshuai.xi #define RASP_FILEIN_START            0x0001
397*53ee8cc1Swenshuai.xi #define REG_RFILEIN_LPCR2_BUF_L        0x0025
398*53ee8cc1Swenshuai.xi #define REG_RFILEIN_LPCR2_RD_L        0x0027
399*53ee8cc1Swenshuai.xi #define REG_RFILEIN_STREAM_TIMESTAMP_L		0x002f
400*53ee8cc1Swenshuai.xi #define REG_RFILEIN_STREAM_TIMESTAMP_H		0x0030
401*53ee8cc1Swenshuai.xi 
402*53ee8cc1Swenshuai.xi 
403*53ee8cc1Swenshuai.xi //there are still some registers not defined....maybe type later.....
404*53ee8cc1Swenshuai.xi 
405*53ee8cc1Swenshuai.xi #define REG_RFILEIN_CMDQ_STATUS     0x002B
406*53ee8cc1Swenshuai.xi     #define RFILEIN_CMD_WR_CNT_MASK     0xF
407*53ee8cc1Swenshuai.xi     #define RFILEIN_CMD_FIFO_FULL       (0x1<<6)
408*53ee8cc1Swenshuai.xi     #define RFILEIN_CMD_FIFO_EMPTY      (0x1<<7)
409*53ee8cc1Swenshuai.xi     #define RFILEIN_CMD_WR_LEVEL_MASK   (0x3<<8)
410*53ee8cc1Swenshuai.xi     #define RFILEIN_CMD_WR_COUNT_MASK   (0x1F)
411*53ee8cc1Swenshuai.xi 
412*53ee8cc1Swenshuai.xi #define REG_RFILEIN_DBG_L           0x002C
413*53ee8cc1Swenshuai.xi #define REG_RFILEIN_DBG_H           0x002D
414*53ee8cc1Swenshuai.xi 
415*53ee8cc1Swenshuai.xi // Software
416*53ee8cc1Swenshuai.xi #define RASP0_BANK0_REG_CTRL_BASE           (0x23600)   //0x11B<<9   //bank 0x111B
417*53ee8cc1Swenshuai.xi #define RASP0_BANK1_REG_CTRL_BASE           (0x23800)   //0x11C<<9   //bank 0x111C
418*53ee8cc1Swenshuai.xi 
419*53ee8cc1Swenshuai.xi #define RASP0_BANK0_PIDFLT_BASE             (RASP0_BANK0_REG_CTRL_BASE+0x80)
420*53ee8cc1Swenshuai.xi #define RASP0_BANK1_EVENT_MASK_BASE         (RASP0_BANK1_REG_CTRL_BASE+0x180)
421*53ee8cc1Swenshuai.xi #define RASP0_BANK1_PAYLOAD_MASK_BASE       (RASP0_BANK1_REG_CTRL_BASE+0x100)
422*53ee8cc1Swenshuai.xi #define RASP0_BANK1_ECM_PIDFLT_BASE         (RASP0_BANK1_REG_CTRL_BASE+0x48)
423*53ee8cc1Swenshuai.xi 
424*53ee8cc1Swenshuai.xi 
425*53ee8cc1Swenshuai.xi #define RASP1_BANK0_REG_CTRL_BASE           (0x23A00)   //0x11D<<9   //bank 0x111D
426*53ee8cc1Swenshuai.xi #define RASP1_BANK1_REG_CTRL_BASE           (0x23C00)   //0x11E<<9   //bank 0x111E
427*53ee8cc1Swenshuai.xi 
428*53ee8cc1Swenshuai.xi #define RASP1_BANK0_PIDFLT_BASE             (RASP1_BANK0_REG_CTRL_BASE+0x80)
429*53ee8cc1Swenshuai.xi #define RASP1_BANK1_EVENT_MASK_BASE         (RASP1_BANK1_REG_CTRL_BASE+0x180)
430*53ee8cc1Swenshuai.xi #define RASP1_BANK1_PAYLOAD_MASK_BASE       (RASP1_BANK1_REG_CTRL_BASE+0x100)
431*53ee8cc1Swenshuai.xi #define RASP1_BANK1_ECM_PIDFLT_BASE         (RASP1_BANK1_REG_CTRL_BASE+0x48)
432*53ee8cc1Swenshuai.xi 
433*53ee8cc1Swenshuai.xi 
434*53ee8cc1Swenshuai.xi // Payload/Event Mask flag
435*53ee8cc1Swenshuai.xi #define RASP_BYPASS_MASK            0xffffffff
436*53ee8cc1Swenshuai.xi #define RASP_BYPASS_AFE             0x00000001      // adaptation field extension
437*53ee8cc1Swenshuai.xi #define RASP_BYPASS_TPD             0x00000002      // transport private data
438*53ee8cc1Swenshuai.xi #define RASP_BYPASS_SP              0x00000004      // splicing point
439*53ee8cc1Swenshuai.xi #define RASP_BYPASS_OPCR            0x00000008      // OPCR
440*53ee8cc1Swenshuai.xi #define RASP_BYPASS_PCR             0x00000010      // PCR
441*53ee8cc1Swenshuai.xi #define RASP_BYPASS_ESPI            0x00000020      // elementary stream priority indicator
442*53ee8cc1Swenshuai.xi #define RASP_BYPASS_RAI             0x00000040      //random access indicator
443*53ee8cc1Swenshuai.xi #define RASP_BYPASS_DI              0x00000080      // discontinue indicator
444*53ee8cc1Swenshuai.xi #define RASP_BYPASS_ESOS            0x00000100      // elementary stream not scrambled
445*53ee8cc1Swenshuai.xi #define RASP_BYPASS_ESES            0x00000200      // elementary stream even scrambled
446*53ee8cc1Swenshuai.xi #define RASP_BYPASS_ESNS            0x00000400      // elementary stream odd scrambled
447*53ee8cc1Swenshuai.xi #define RASP_BYPASS_PUSI            0x00000800      // payload unit start indicator
448*53ee8cc1Swenshuai.xi #define RASP_BYPASS_FPR             0x00001000      // first packet recorded
449*53ee8cc1Swenshuai.xi #define RASP_BYPASS_RASP_Tick       0x80000000      // rasp tick
450*53ee8cc1Swenshuai.xi 
451*53ee8cc1Swenshuai.xi //Ctrl MASK
452*53ee8cc1Swenshuai.xi #define RASP_CTRL_MASK              0x0000ffff
453*53ee8cc1Swenshuai.xi 
454*53ee8cc1Swenshuai.xi typedef struct _REG32
455*53ee8cc1Swenshuai.xi {
456*53ee8cc1Swenshuai.xi     volatile MS_U16                 L;
457*53ee8cc1Swenshuai.xi     volatile MS_U16                 empty_L;
458*53ee8cc1Swenshuai.xi     volatile MS_U16                 H;
459*53ee8cc1Swenshuai.xi     volatile MS_U16                 empty_H;
460*53ee8cc1Swenshuai.xi } REG32;
461*53ee8cc1Swenshuai.xi 
462*53ee8cc1Swenshuai.xi typedef struct _REG16
463*53ee8cc1Swenshuai.xi {
464*53ee8cc1Swenshuai.xi     volatile MS_U16                 data;
465*53ee8cc1Swenshuai.xi     volatile MS_U16                 _resv;
466*53ee8cc1Swenshuai.xi } REG16;
467*53ee8cc1Swenshuai.xi 
468*53ee8cc1Swenshuai.xi typedef enum
469*53ee8cc1Swenshuai.xi {
470*53ee8cc1Swenshuai.xi     E_NDSRASP_FILEIN = 0,
471*53ee8cc1Swenshuai.xi     E_NDSRASP_LIVEIN,
472*53ee8cc1Swenshuai.xi } FILEIN_TSIF_Mode;
473*53ee8cc1Swenshuai.xi 
474*53ee8cc1Swenshuai.xi typedef REG16                       REG_PidFlt;
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi typedef struct _REG_RASP
477*53ee8cc1Swenshuai.xi {
478*53ee8cc1Swenshuai.xi     //----------------------------------------------
479*53ee8cc1Swenshuai.xi     // 0xBF223600 MIPS direct access
480*53ee8cc1Swenshuai.xi     //----------------------------------------------
481*53ee8cc1Swenshuai.xi     REG32                           RASP_PktTimer;                          // 0xbf201c00   0x00
482*53ee8cc1Swenshuai.xi     REG32                           RASP_PktNum;                            // 0xbf201c08   0x02
483*53ee8cc1Swenshuai.xi     REG16                           RASP_CorptFromTo;                       // 0xbf201c10   0x04
484*53ee8cc1Swenshuai.xi     #define RASP_FROMTO_MASK            0x00FF
485*53ee8cc1Swenshuai.xi     #define RASP_TO_SHIFT               8
486*53ee8cc1Swenshuai.xi     REG16                           RASP_CorptData_PktSize2;                // 0xbf201c14   0x05
487*53ee8cc1Swenshuai.xi     #define RASP_CORPT_DATA             0x00FF
488*53ee8cc1Swenshuai.xi     #define RASP_PKT_SIZE               0xFF00
489*53ee8cc1Swenshuai.xi     #define RASP_PKT_SIZE_188           0xBB
490*53ee8cc1Swenshuai.xi     #define RASP_PKT_SHIFT              8
491*53ee8cc1Swenshuai.xi     REG16                           RASP_EventlogCtrlStatus;                // 0xbf201c18   0x06
492*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_NUM_MASK    0x0000001F
493*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_FULL        0X00000020
494*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_EMPTY       0x00000040
495*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_RDLV_MASK 0x00000300
496*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_RDLV_SHIFT 8
497*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WTLV_MASK 0x00000C00
498*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WTLV_SHIFT 10
499*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_RD_OVF      0x00001000
500*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_WT_OVF      0x00002000
501*53ee8cc1Swenshuai.xi 
502*53ee8cc1Swenshuai.xi     REG16                           RASP_PktChkSize2_SyncByte2;             // 0xbf201c1c   0x07
503*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL0;                          // 0xbf201c20   0x08
504*53ee8cc1Swenshuai.xi     #define RASP_SW_RESET               0x00000001
505*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_ENABLE           0x00000002
506*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_DATA_SWP         0x00000004
507*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_PARA_SEL         0x00000008
508*53ee8cc1Swenshuai.xi     #define RASP_TSIF2_EXT_SYNC         0x00000010
509*53ee8cc1Swenshuai.xi     #define RASP_FILEIN_EN              0x00000020
510*53ee8cc1Swenshuai.xi     #define RASP_RISING_SYNC_DETECT     0x00000080
511*53ee8cc1Swenshuai.xi     #define RASP_FALLING_VALID_DETECT   0x00000100
512*53ee8cc1Swenshuai.xi     #define RASP_CLR_EVENT_OVERFLOW     0x00000200
513*53ee8cc1Swenshuai.xi     #define RASP_REC_EVENT_FIFO_EN      0x00001000
514*53ee8cc1Swenshuai.xi     #define RASP_CLEAR_ECM_PKT_NUM      0x00002000
515*53ee8cc1Swenshuai.xi 
516*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL1;                          // 0xbf201c24   0x09
517*53ee8cc1Swenshuai.xi     #define RASP_REC_PID                0x00000001
518*53ee8cc1Swenshuai.xi     #define RASP_STR2MIU_EN             0x00000002
519*53ee8cc1Swenshuai.xi     #define RASP_PINGPONG_EN            0x00000004
520*53ee8cc1Swenshuai.xi     #define RASP_ALT_TS_SIZE_EN         0x00000080
521*53ee8cc1Swenshuai.xi     #define RASP_STR2MIU_RST_WADDR      0x00000010
522*53ee8cc1Swenshuai.xi     #define RASP_SERIAL_EXT_SYNC_1T     0x00000400
523*53ee8cc1Swenshuai.xi //192 aligement
524*53ee8cc1Swenshuai.xi     #define RASP_BURST_LEN_MASK         0x00001800
525*53ee8cc1Swenshuai.xi     #define RASP_BURST_LEN_SHIFT        0x0000000B
526*53ee8cc1Swenshuai.xi     #define RASP_BURST_LEN              0x00000002
527*53ee8cc1Swenshuai.xi 
528*53ee8cc1Swenshuai.xi     #define RASP_EVENT_FIFO_READ        0x00008000
529*53ee8cc1Swenshuai.xi 
530*53ee8cc1Swenshuai.xi 
531*53ee8cc1Swenshuai.xi 
532*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL2;                          // 0xbf201c28   0x0a
533*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_EN           0x00000001
534*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_EN           0x00000002
535*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_MASK         0x0000000C
536*53ee8cc1Swenshuai.xi     #define RASP_INT_TIMER_SHIFT        2
537*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_MASK         0x000001F0
538*53ee8cc1Swenshuai.xi     #define RASP_INT_EVENT_SHIFT        4
539*53ee8cc1Swenshuai.xi     #define RASP_PAYLOAD_BURST_LEN      0x00000400
540*53ee8cc1Swenshuai.xi     #define RASP_ECM_BURST_LEN          0x00001000
541*53ee8cc1Swenshuai.xi 
542*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL3;                          // 0xbf201c2c   0x0b
543*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_EN           0x00000001
544*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_PINGPONE     0x00000002
545*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_SWAP         0x00000004
546*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_RST_WADDR    0x00000008
547*53ee8cc1Swenshuai.xi     #define RASP_PAYLD2MIU_LPCR_WT      0x00000080
548*53ee8cc1Swenshuai.xi     //#define RASP_ECM2MIU_EN             0X00000100
549*53ee8cc1Swenshuai.xi     //#define RASP_ECM2MIU_RST_WADDR      0X00000800
550*53ee8cc1Swenshuai.xi     //#define RASP_ECM2MIU_LPCR_WT        0X00008000
551*53ee8cc1Swenshuai.xi 
552*53ee8cc1Swenshuai.xi 
553*53ee8cc1Swenshuai.xi     REG16                           RASP_C90K_Divisor;                      // 0xbf201c30   0x0c
554*53ee8cc1Swenshuai.xi     REG16                           RASP_Int_CLR;                           // 0xbf201c34   0x0d
555*53ee8cc1Swenshuai.xi     REG16                           RASP_Int_EN;                            // 0xbf201c38   0x0e
556*53ee8cc1Swenshuai.xi     REG16                           RASP_Int_Status;                        // 0xbf201c3c   0x0f
557*53ee8cc1Swenshuai.xi 
558*53ee8cc1Swenshuai.xi 
559*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Head;                      // 0xbf201c40   0x10
560*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Tail;                      // 0xbf201c48   0x12
561*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Mid;                       // 0xbf201c50   0x14
562*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Head2;                     // 0xbf201c58   0x16
563*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Tail2;                     // 0xbf201c60   0x18
564*53ee8cc1Swenshuai.xi     REG32                           RASP_Str2miu_Mid2;                      // 0xbf201c68   0x1a
565*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL4;                          // 0xbf201c70   0x1c
566*53ee8cc1Swenshuai.xi     #define RASP_STREAM_192_EN          0x0001
567*53ee8cc1Swenshuai.xi     #define RASP_STREAM_LPCR_WLD        0x0002
568*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_BYPASS           0x0004
569*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_CLR_OVERFLOW     0x0008
570*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_FULL_SEL_MASK    0x0070
571*53ee8cc1Swenshuai.xi     #define RASP_TS_FF_FULL_SEL_SHFT    4
572*53ee8cc1Swenshuai.xi     #define RASP_TS_STR2MI_WP_LD_DIS    0x0080
573*53ee8cc1Swenshuai.xi     #define RASP_TS_PAY2MI_WP_LD_DIS    0x0100
574*53ee8cc1Swenshuai.xi     #define RASP_REC_AT_SYNC_DIS        0x0400
575*53ee8cc1Swenshuai.xi     #define RASP_AUTO_STREAM_47_48      0x2000
576*53ee8cc1Swenshuai.xi 
577*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_CTRL5;                          // 0xbf201c74   0x1d
578*53ee8cc1Swenshuai.xi 
579*53ee8cc1Swenshuai.xi     REG16                           _bf201c78;                              // 0xbf201c78   0x1e
580*53ee8cc1Swenshuai.xi 
581*53ee8cc1Swenshuai.xi     REG16                           RASP_HW_Status1;                        // 0xbf201c7C   0x1f
582*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_0;                          // 0xbf201c80   0x20
583*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_1;                          // 0xbf201c84   0x21
584*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_2;                          // 0xbf201c88   0x22
585*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_3;                          // 0xbf201c8c   0x23
586*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_4;                          // 0xbf201c90   0x24
587*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_5;                          // 0xbf201c94   0x25
588*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_6;                          // 0xbf201c98   0x26
589*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_7;                          // 0xbf201c9c   0x27
590*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_8;                          // 0xbf201ca0   0x28
591*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_9;                          // 0xbf201ca4   0x29
592*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_a;                          // 0xbf201ca8   0x2a
593*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_b;                          // 0xbf201cac   0x2b
594*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_c;                          // 0xbf201cb0   0x2c
595*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_d;                          // 0xbf201cb4   0x2d
596*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_e;                          // 0xbf201cb8   0x2e
597*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_f;                          // 0xbf201cbc   0x2f
598*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_10;                         // 0xbf201cc0   0x30
599*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_11;                         // 0xbf201cc4   0x31
600*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_12;                         // 0xbf201cc8   0x32
601*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_13;                         // 0xbf201ccc   0x33
602*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_14;                         // 0xbf201cd0   0x34
603*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_15;                         // 0xbf201cd4   0x35
604*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_16;                         // 0xbf201cd8   0x36
605*53ee8cc1Swenshuai.xi     REG16                           RASP_Pidflt_17;                         // 0xbf201cdc   0x37
606*53ee8cc1Swenshuai.xi     #define RASP_PID_PKT_CORPT_EN    0x2000
607*53ee8cc1Swenshuai.xi 
608*53ee8cc1Swenshuai.xi     REG16                           _bf201d00[0x50-0x38];                   // 0xbf201ce0-bf201d38   0x38-0x4f
609*53ee8cc1Swenshuai.xi 
610*53ee8cc1Swenshuai.xi     REG32                           RASP_EventDescriptor;                   // 0xbf201d40   0x50
611*53ee8cc1Swenshuai.xi     REG32                           RASP_EventPktNum;                       // 0xbf201d48   0x52
612*53ee8cc1Swenshuai.xi     REG32                           RASP_EventPktTimer;                     // 0xbf201d50   0x54
613*53ee8cc1Swenshuai.xi     REG32                           RASP_EventPktPCR;                       // 0xbf201d58   0x56
614*53ee8cc1Swenshuai.xi     REG16                           RASP_EventPktPID;                       // 0xbf201d60   0x58
615*53ee8cc1Swenshuai.xi 
616*53ee8cc1Swenshuai.xi     REG16                           _bf201d68_bf201d68[0x60-0x59];          // 0xbf201d64-bf201d7c   0x59-0x5f
617*53ee8cc1Swenshuai.xi 
618*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Head;                  // 0xbf201d80   0x60
619*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Tail;                  // 0xbf201d88   0x62
620*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Mid;                   // 0xbf201d90   0x64
621*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Head2;                 // 0xbf201d98   0x66
622*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Tail2;                 // 0xbf201da0   0x68
623*53ee8cc1Swenshuai.xi     REG32                           RASP_Payload2miu_Mid2;                  // 0xbf201da8   0x6a
624*53ee8cc1Swenshuai.xi 
625*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLPCR1Buf;                       // 0xbf201db0   0x6c
626*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLPCR1;                          // 0xbf201db8   0x6e
627*53ee8cc1Swenshuai.xi     REG32                           RASP_Ecm2miu_Head;                      // 0xbf201dc0   0x70
628*53ee8cc1Swenshuai.xi     REG32                           RASP_Ecm2miu_Tail;                      // 0xbf201dc8   0x72
629*53ee8cc1Swenshuai.xi     REG32                           RASP_Ecm2miu_Mid;                       // 0xbf201dd0   0x74
630*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmLPCR1Buf;                       // 0xbf201dd8   0x76
631*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmLPCR1;                          // 0xbf201de0   0x78
632*53ee8cc1Swenshuai.xi     REG32                           RASP_StrLPCR1Buf;                       // 0xbf201de8   0x7a
633*53ee8cc1Swenshuai.xi     REG32                           RASP_StrLPCR1;                          // 0xbf201df0   0x7c
634*53ee8cc1Swenshuai.xi 
635*53ee8cc1Swenshuai.xi     REG32                           _bf201db8;                              // 0xbf201df8   0x7e-0x7f
636*53ee8cc1Swenshuai.xi 
637*53ee8cc1Swenshuai.xi     //----------------------------------------------
638*53ee8cc1Swenshuai.xi     // 0xBF223800 MIPS direct access
639*53ee8cc1Swenshuai.xi     //----------------------------------------------
640*53ee8cc1Swenshuai.xi     REG16                           _bf201e00_bf201e44[0x12-0x0];           // 0xbf201e00-bf201e44   0x00-0x11
641*53ee8cc1Swenshuai.xi 
642*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_0;                       // 0xbf201e48   0x12
643*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_1;                       // 0xbf201e4c   0x13
644*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_2;                       // 0xbf201e50   0x14
645*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_3;                       // 0xbf201e54   0x15
646*53ee8cc1Swenshuai.xi     REG16                           RASP_Ecm_reg_16;                        // 0xbf201e58   0x16
647*53ee8cc1Swenshuai.xi     REG16                           RASP_Ecm_reg_17;                        // 0xbf201e5c   0x17
648*53ee8cc1Swenshuai.xi 
649*53ee8cc1Swenshuai.xi     REG16                           RASP_Ecm_reg_18;                        // 0xbf201e60   0x18
650*53ee8cc1Swenshuai.xi     REG16                           RASP_Ecm_reg_19;                        // 0xbf201e64   0x19
651*53ee8cc1Swenshuai.xi 
652*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy1a;                        // 0xbf201e68   0x1a
653*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy1c;                        // 0xbf201e70   0x1c
654*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy1e;                        // 0xbf201e78   0x1e
655*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy20;                        // 0xbf201e80   0x20
656*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy22;                        // 0xbf201e88   0x22
657*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy24;                        // 0xbf201e90   0x24
658*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy26;                        // 0xbf201e98   0x26
659*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy28;                        // 0xbf201ea0   0x28
660*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy2a;                        // 0xbf201ea8   0x2a
661*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy2c;                        // 0xbf201eb0   0x2c
662*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy2e;                        // 0xbf201eb8   0x2e
663*53ee8cc1Swenshuai.xi 
664*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_4;                       // 0xbf201ec0   0x30
665*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmPidflt_5;                       // 0xbf201ec4   0x31
666*53ee8cc1Swenshuai.xi     REG16                           RASP_Ecm_reg_32;                        // 0xbf201ec8   0x32
667*53ee8cc1Swenshuai.xi     REG16                           RASP_EcmDummy33;                        // 0xbf201ecc   0x33
668*53ee8cc1Swenshuai.xi 
669*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmPktNum;                         // 0xbf201ed0   0x34
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy36;                        // 0xbf201ed8   0x36
672*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy38;                        // 0xbf201ee0   0x38
673*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy3a;                        // 0xbf201ee8   0x3a
674*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy3c;                        // 0xbf201ef0   0x3c
675*53ee8cc1Swenshuai.xi     REG32                           RASP_EcmDummy3e;                        // 0xbf201ef8   0x3e
676*53ee8cc1Swenshuai.xi 
677*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_0;                     // 0xbf201f00   0x40
678*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_1;                     // 0xbf201f08   0x42
679*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_2;                     // 0xbf201f10   0x44
680*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_3;                     // 0xbf201f18   0x46
681*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_4;                     // 0xbf201f20   0x48
682*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_5;                     // 0xbf201f28   0x4a
683*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_6;                     // 0xbf201f30   0x4c
684*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_7;                     // 0xbf201f38   0x4e
685*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_8;                     // 0xbf201f40   0x50
686*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_9;                     // 0xbf201f48   0x52
687*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_a;                     // 0xbf201f50   0x54
688*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_b;                     // 0xbf201f58   0x56
689*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_c;                     // 0xbf201f60   0x58
690*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_d;                     // 0xbf201f68   0x5a
691*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_e;                     // 0xbf201f70   0x5c
692*53ee8cc1Swenshuai.xi     REG32                           RASP_PayLoadMask_f;                     // 0xbf201f78   0x5e
693*53ee8cc1Swenshuai.xi 
694*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_0;                       // 0xbf201f80   0x60
695*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_1;                       // 0xbf201f88   0x62
696*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_2;                       // 0xbf201f90   0x64
697*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_3;                       // 0xbf201f98   0x66
698*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_4;                       // 0xbf201f70   0x68
699*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_5;                       // 0xbf201f78   0x6a
700*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_6;                       // 0xbf201f80   0x6c
701*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_7;                       // 0xbf201f88   0x6e
702*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_8;                       // 0xbf201f90   0x70
703*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_9;                       // 0xbf201f98   0x72
704*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_a;                       // 0xbf201fa0   0x74
705*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_b;                       // 0xbf201fa8   0x76
706*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_c;                       // 0xbf201fb0   0x78
707*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_d;                       // 0xbf201fb8   0x7a
708*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_e;                       // 0xbf201fc0   0x7c
709*53ee8cc1Swenshuai.xi     REG32                           RASP_EventMask_f;                       // 0xbf201fc8   0x7e
710*53ee8cc1Swenshuai.xi } REG_RASP;
711*53ee8cc1Swenshuai.xi 
712*53ee8cc1Swenshuai.xi #endif // _RASP_REG_H_
713