xref: /utopia/UTPA2-700.0.x/modules/njpd/hal/M7621/njpd_ex/regNJPD.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-2011 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    regNJPD.h
98*53ee8cc1Swenshuai.xi /// @brief  NJPD Register Table
99*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc.
100*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////////////////////
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi #ifndef _REG_NJPD_H_
103*53ee8cc1Swenshuai.xi #define _REG_NJPD_H_
104*53ee8cc1Swenshuai.xi 
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
107*53ee8cc1Swenshuai.xi //  Hardware Capability
108*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
109*53ee8cc1Swenshuai.xi 
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
112*53ee8cc1Swenshuai.xi //  Macro and Define
113*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
114*53ee8cc1Swenshuai.xi #define NJPD_MEM_SCWGIF_BASE         0x0000
115*53ee8cc1Swenshuai.xi #define NJPD_MEM_SYMIDX_BASE         0x0400
116*53ee8cc1Swenshuai.xi #define NJPD_MEM_QTBL_BASE           0x0800
117*53ee8cc1Swenshuai.xi #define NJPD_MEM_TBL_TOTAL_SIZE      0x1000
118*53ee8cc1Swenshuai.xi 
119*53ee8cc1Swenshuai.xi 
120*53ee8cc1Swenshuai.xi #define NJPD_CLKGEN0_BASE                0x00B00
121*53ee8cc1Swenshuai.xi #define NJPD1_REG_BASE                   0x23200
122*53ee8cc1Swenshuai.xi #define NJPD2_REG_BASE                   0x23300
123*53ee8cc1Swenshuai.xi 
124*53ee8cc1Swenshuai.xi 
125*53ee8cc1Swenshuai.xi // NJPD1 register=======================================================================
126*53ee8cc1Swenshuai.xi 
127*53ee8cc1Swenshuai.xi // Global Setting
128*53ee8cc1Swenshuai.xi #define BK_NJPD1_GLOBAL_SETTING00                    (NJPD1_REG_BASE+NJPD_OFFSET(0x00))
129*53ee8cc1Swenshuai.xi #define BK_NJPD1_GLOBAL_SETTING01                    (NJPD1_REG_BASE+NJPD_OFFSET(0x01))
130*53ee8cc1Swenshuai.xi #define BK_NJPD1_GLOBAL_SETTING02                    (NJPD1_REG_BASE+NJPD_OFFSET(0x02))
131*53ee8cc1Swenshuai.xi 
132*53ee8cc1Swenshuai.xi // Pitch Width
133*53ee8cc1Swenshuai.xi #define BK_NJPD1_PITCH_WIDTH                         (NJPD1_REG_BASE+NJPD_OFFSET(0x03))
134*53ee8cc1Swenshuai.xi 
135*53ee8cc1Swenshuai.xi // Restart Interval
136*53ee8cc1Swenshuai.xi #define BK_NJPD1_RESTART_INTERVAL                    (NJPD1_REG_BASE+NJPD_OFFSET(0x05))
137*53ee8cc1Swenshuai.xi 
138*53ee8cc1Swenshuai.xi // Image Size
139*53ee8cc1Swenshuai.xi #define BK_NJPD1_IMG_HSIZE                           (NJPD1_REG_BASE+NJPD_OFFSET(0x06))
140*53ee8cc1Swenshuai.xi #define BK_NJPD1_IMG_VSIZE                           (NJPD1_REG_BASE+NJPD_OFFSET(0x07))
141*53ee8cc1Swenshuai.xi 
142*53ee8cc1Swenshuai.xi // Write-one-clear
143*53ee8cc1Swenshuai.xi #define BK_NJPD1_WRITE_ONE_CLEAR                     (NJPD1_REG_BASE+NJPD_OFFSET(0x08))
144*53ee8cc1Swenshuai.xi 
145*53ee8cc1Swenshuai.xi // Region of Interest
146*53ee8cc1Swenshuai.xi #define BK_NJPD1_ROI_H_START                         (NJPD1_REG_BASE+NJPD_OFFSET(0x09))
147*53ee8cc1Swenshuai.xi #define BK_NJPD1_ROI_V_START                         (NJPD1_REG_BASE+NJPD_OFFSET(0x0a))
148*53ee8cc1Swenshuai.xi #define BK_NJPD1_ROI_H_SIZE                          (NJPD1_REG_BASE+NJPD_OFFSET(0x0b))
149*53ee8cc1Swenshuai.xi #define BK_NJPD1_ROI_V_SIZE                          (NJPD1_REG_BASE+NJPD_OFFSET(0x0c))
150*53ee8cc1Swenshuai.xi 
151*53ee8cc1Swenshuai.xi // Gated-Clock Control
152*53ee8cc1Swenshuai.xi #define BK_NJPD1_GATED_CLOCK_CTRL                    (NJPD1_REG_BASE+NJPD_OFFSET(0x0d))
153*53ee8cc1Swenshuai.xi 
154*53ee8cc1Swenshuai.xi // Miu Interface
155*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_STATUS                     (NJPD1_REG_BASE+NJPD_OFFSET(0x0e))
156*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_IBUFFER_CNT                     (NJPD1_REG_BASE+NJPD_OFFSET(0x0f))
157*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_START_ADDR_L               (NJPD1_REG_BASE+NJPD_OFFSET(0x10))
158*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_START_ADDR_H               (NJPD1_REG_BASE+NJPD_OFFSET(0x11))
159*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER0_START_ADDR_L       (NJPD1_REG_BASE+NJPD_OFFSET(0x12))
160*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER0_START_ADDR_H       (NJPD1_REG_BASE+NJPD_OFFSET(0x13))
161*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER0_END_ADDR_L         (NJPD1_REG_BASE+NJPD_OFFSET(0x14))
162*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER0_END_ADDR_H         (NJPD1_REG_BASE+NJPD_OFFSET(0x15))
163*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER1_START_ADDR_L       (NJPD1_REG_BASE+NJPD_OFFSET(0x16))
164*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER1_START_ADDR_H       (NJPD1_REG_BASE+NJPD_OFFSET(0x17))
165*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER1_END_ADDR_L         (NJPD1_REG_BASE+NJPD_OFFSET(0x18))
166*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_BUFFER1_END_ADDR_H         (NJPD1_REG_BASE+NJPD_OFFSET(0x19))
167*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_WRITE_START_ADDR_L              (NJPD1_REG_BASE+NJPD_OFFSET(0x1a))
168*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_WRITE_START_ADDR_H              (NJPD1_REG_BASE+NJPD_OFFSET(0x1b))
169*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_WRITE_POINTER_ADDR_L            (NJPD1_REG_BASE+NJPD_OFFSET(0x1c))
170*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_WRITE_POINTER_ADDR_H            (NJPD1_REG_BASE+NJPD_OFFSET(0x1d))
171*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_POINTER_ADDR_L             (NJPD1_REG_BASE+NJPD_OFFSET(0x1e))
172*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_READ_POINTER_ADDR_H             (NJPD1_REG_BASE+NJPD_OFFSET(0x1f))
173*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_HTABLE_START_ADDR_L             (NJPD1_REG_BASE+NJPD_OFFSET(0x20))
174*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_HTABLE_START_ADDR_H             (NJPD1_REG_BASE+NJPD_OFFSET(0x21))
175*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_GTABLE_START_ADDR_L             (NJPD1_REG_BASE+NJPD_OFFSET(0x22))
176*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_GTABLE_START_ADDR_H             (NJPD1_REG_BASE+NJPD_OFFSET(0x23))
177*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_QTABLE_START_ADDR_L             (NJPD1_REG_BASE+NJPD_OFFSET(0x24))
178*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_QTABLE_START_ADDR_H             (NJPD1_REG_BASE+NJPD_OFFSET(0x25))
179*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_HTABLE_SIZE                     (NJPD1_REG_BASE+NJPD_OFFSET(0x26))
180*53ee8cc1Swenshuai.xi #define BK_NJPD1_SET_CHROMA_VALUE                    (NJPD1_REG_BASE+NJPD_OFFSET(0x27))
181*53ee8cc1Swenshuai.xi #define BK_NJPD1_IBUF_READ_LENGTH                    (NJPD1_REG_BASE+NJPD_OFFSET(0x28))
182*53ee8cc1Swenshuai.xi 
183*53ee8cc1Swenshuai.xi 
184*53ee8cc1Swenshuai.xi // Interrupt
185*53ee8cc1Swenshuai.xi #define BK_NJPD1_IRQ_CLEAR                           (NJPD1_REG_BASE+NJPD_OFFSET(0x29))
186*53ee8cc1Swenshuai.xi #define BK_NJPD1_IRQ_FORCE                           (NJPD1_REG_BASE+NJPD_OFFSET(0x2a))
187*53ee8cc1Swenshuai.xi #define BK_NJPD1_IRQ_MASK                            (NJPD1_REG_BASE+NJPD_OFFSET(0x2b))
188*53ee8cc1Swenshuai.xi #define BK_NJPD1_IRQ_FINAL_S                         (NJPD1_REG_BASE+NJPD_OFFSET(0x2c))
189*53ee8cc1Swenshuai.xi #define BK_NJPD1_IRQ_RAW_S                           (NJPD1_REG_BASE+NJPD_OFFSET(0x2d))
190*53ee8cc1Swenshuai.xi 
191*53ee8cc1Swenshuai.xi // Sram Gated-Clock Control
192*53ee8cc1Swenshuai.xi #define BK_NJPD1_MIU_TLB                             (NJPD1_REG_BASE+NJPD_OFFSET(0x2f)+1)
193*53ee8cc1Swenshuai.xi 
194*53ee8cc1Swenshuai.xi // Debug
195*53ee8cc1Swenshuai.xi #define BK_NJPD1_ROW_IDEX                            (NJPD1_REG_BASE+NJPD_OFFSET(0x30))
196*53ee8cc1Swenshuai.xi #define BK_NJPD1_COLUMN_IDEX                         (NJPD1_REG_BASE+NJPD_OFFSET(0x31))
197*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_BUS_SELECT                    (NJPD1_REG_BASE+NJPD_OFFSET(0x32))
198*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_BUS_H                         (NJPD1_REG_BASE+NJPD_OFFSET(0x33))
199*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_BUS_L                         (NJPD1_REG_BASE+NJPD_OFFSET(0x34))
200*53ee8cc1Swenshuai.xi #define BK_NJPD1_IBUF_BYTE_COUNT_L                   (NJPD1_REG_BASE+NJPD_OFFSET(0x35))
201*53ee8cc1Swenshuai.xi #define BK_NJPD1_IBUF_BYTE_COUNT_H                   (NJPD1_REG_BASE+NJPD_OFFSET(0x36))
202*53ee8cc1Swenshuai.xi #define BK_NJPD1_VLD_BYTE_COUNT_L                    (NJPD1_REG_BASE+NJPD_OFFSET(0x37))
203*53ee8cc1Swenshuai.xi #define BK_NJPD1_VLD_BYTE_COUNT_H                    (NJPD1_REG_BASE+NJPD_OFFSET(0x38))
204*53ee8cc1Swenshuai.xi #define BK_NJPD1_VLD_DECODING_DATA_L                 (NJPD1_REG_BASE+NJPD_OFFSET(0x39))
205*53ee8cc1Swenshuai.xi #define BK_NJPD1_VLD_DECODING_DATA_H                 (NJPD1_REG_BASE+NJPD_OFFSET(0x3a))
206*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_TRIG_CYCLE                    (NJPD1_REG_BASE+NJPD_OFFSET(0x3b))
207*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_TRIG_MBX                      (NJPD1_REG_BASE+NJPD_OFFSET(0x3c))
208*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_TRIG_MBY                      (NJPD1_REG_BASE+NJPD_OFFSET(0x3d))
209*53ee8cc1Swenshuai.xi #define BK_NJPD1_DEBUG_TRIGGER                       (NJPD1_REG_BASE+NJPD_OFFSET(0x3e))
210*53ee8cc1Swenshuai.xi 
211*53ee8cc1Swenshuai.xi 
212*53ee8cc1Swenshuai.xi // BIST
213*53ee8cc1Swenshuai.xi #define BK_NJPD1_BIST_FAIL                           (NJPD1_REG_BASE+NJPD_OFFSET(0x3f))
214*53ee8cc1Swenshuai.xi 
215*53ee8cc1Swenshuai.xi 
216*53ee8cc1Swenshuai.xi // TBC RIU Interface
217*53ee8cc1Swenshuai.xi #define BK_NJPD1_TBC                                 (NJPD1_REG_BASE+NJPD_OFFSET(0x40))
218*53ee8cc1Swenshuai.xi #define BK_NJPD1_TBC_WDATA0                          (NJPD1_REG_BASE+NJPD_OFFSET(0x41))
219*53ee8cc1Swenshuai.xi #define BK_NJPD1_TBC_WDATA1                          (NJPD1_REG_BASE+NJPD_OFFSET(0x42))
220*53ee8cc1Swenshuai.xi #define BK_NJPD1_TBC_RDATA_L                         (NJPD1_REG_BASE+NJPD_OFFSET(0x43))
221*53ee8cc1Swenshuai.xi #define BK_NJPD1_TBC_RDATA_H                         (NJPD1_REG_BASE+NJPD_OFFSET(0x44))
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi 
224*53ee8cc1Swenshuai.xi // Max Huffman Table Address
225*53ee8cc1Swenshuai.xi #define BK_NJPD1_Y_MAX_HUFFTABLE_ADDRESS             (NJPD1_REG_BASE+NJPD_OFFSET(0x45))
226*53ee8cc1Swenshuai.xi #define BK_NJPD1_CB_MAX_HUFFTABLE_ADDRESS            (NJPD1_REG_BASE+NJPD_OFFSET(0x46))
227*53ee8cc1Swenshuai.xi #define BK_NJPD1_CR_MAX_HUFFTABLE_ADDRESS            (NJPD1_REG_BASE+NJPD_OFFSET(0x47))
228*53ee8cc1Swenshuai.xi 
229*53ee8cc1Swenshuai.xi 
230*53ee8cc1Swenshuai.xi // Spare
231*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE00                             (NJPD1_REG_BASE+NJPD_OFFSET(0x48))
232*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE01                             (NJPD1_REG_BASE+NJPD_OFFSET(0x49))
233*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE02                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4a))
234*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE03                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4b))
235*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE04                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4c))
236*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE05                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4d))
237*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE06                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4e))
238*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE07                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4f))
239*53ee8cc1Swenshuai.xi 
240*53ee8cc1Swenshuai.xi #define BK_NJPD1_SPARE07                             (NJPD1_REG_BASE+NJPD_OFFSET(0x4f))
241*53ee8cc1Swenshuai.xi 
242*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_00                     (NJPD1_REG_BASE+NJPD_OFFSET(0x50))
243*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_01                     (NJPD1_REG_BASE+NJPD_OFFSET(0x51))
244*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_02                     (NJPD1_REG_BASE+NJPD_OFFSET(0x52))
245*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_03                     (NJPD1_REG_BASE+NJPD_OFFSET(0x53))
246*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_04                     (NJPD1_REG_BASE+NJPD_OFFSET(0x54))
247*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_05                     (NJPD1_REG_BASE+NJPD_OFFSET(0x55))
248*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_06                     (NJPD1_REG_BASE+NJPD_OFFSET(0x56))
249*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_SETTING_07                     (NJPD1_REG_BASE+NJPD_OFFSET(0x57))
250*53ee8cc1Swenshuai.xi 
251*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_UBOUND_0_L                     (NJPD1_REG_BASE+NJPD_OFFSET(0x58))
252*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_UBOUND_0_H                     (NJPD1_REG_BASE+NJPD_OFFSET(0x59))
253*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_LBOUND_0_L                     (NJPD1_REG_BASE+NJPD_OFFSET(0x5a))
254*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_LBOUND_0_H                     (NJPD1_REG_BASE+NJPD_OFFSET(0x5b))
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi 
257*53ee8cc1Swenshuai.xi #define BK_NJPD1_CRC_MODE                            (NJPD1_REG_BASE+NJPD_OFFSET(0x6d))
258*53ee8cc1Swenshuai.xi 
259*53ee8cc1Swenshuai.xi // Miu Arbiter
260*53ee8cc1Swenshuai.xi // TODO: MIU Arbiter registers
261*53ee8cc1Swenshuai.xi 
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_CRC_RESULT_0                   (NJPD1_REG_BASE+NJPD_OFFSET(0x70))
264*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_CRC_RESULT_1                   (NJPD1_REG_BASE+NJPD_OFFSET(0x71))
265*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_CRC_RESULT_2                   (NJPD1_REG_BASE+NJPD_OFFSET(0x72))
266*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_CRC_RESULT_3                   (NJPD1_REG_BASE+NJPD_OFFSET(0x73))
267*53ee8cc1Swenshuai.xi #define BK_NJPD1_MARB_RESET                          (NJPD1_REG_BASE+NJPD_OFFSET(0x74))
268*53ee8cc1Swenshuai.xi #define BK_NJPD1_HANDSHAKE_CNT                       (NJPD1_REG_BASE+NJPD_OFFSET(0x74)+1)
269*53ee8cc1Swenshuai.xi #define BK_NJPD1_SW_MB_ROW_CNT                       (NJPD1_REG_BASE+NJPD_OFFSET(0x75))
270*53ee8cc1Swenshuai.xi #define BK_NJPD1_HANDSHAKE                           (NJPD1_REG_BASE+NJPD_OFFSET(0x75)+1)
271*53ee8cc1Swenshuai.xi #define BK_NJPD1_TOP_MARB_PORT_ENABLE                (NJPD1_REG_BASE+NJPD_OFFSET(0x76))
272*53ee8cc1Swenshuai.xi 
273*53ee8cc1Swenshuai.xi #define BK_NJPD1_GENERAL(x)                          (NJPD1_REG_BASE+NJPD_OFFSET(x))
274*53ee8cc1Swenshuai.xi 
275*53ee8cc1Swenshuai.xi 
276*53ee8cc1Swenshuai.xi // NJPD2 register=======================================================================
277*53ee8cc1Swenshuai.xi 
278*53ee8cc1Swenshuai.xi 
279*53ee8cc1Swenshuai.xi // Global Setting
280*53ee8cc1Swenshuai.xi #define BK_NJPD2_GLOBAL_SETTING00                    (NJPD2_REG_BASE+NJPD_OFFSET(0x00))
281*53ee8cc1Swenshuai.xi #define BK_NJPD2_GLOBAL_SETTING01                    (NJPD2_REG_BASE+NJPD_OFFSET(0x01))
282*53ee8cc1Swenshuai.xi #define BK_NJPD2_GLOBAL_SETTING02                    (NJPD2_REG_BASE+NJPD_OFFSET(0x02))
283*53ee8cc1Swenshuai.xi 
284*53ee8cc1Swenshuai.xi // Pitch Width
285*53ee8cc1Swenshuai.xi #define BK_NJPD2_PITCH_WIDTH                         (NJPD2_REG_BASE+NJPD_OFFSET(0x03))
286*53ee8cc1Swenshuai.xi 
287*53ee8cc1Swenshuai.xi // Restart Interval
288*53ee8cc1Swenshuai.xi #define BK_NJPD2_RESTART_INTERVAL                    (NJPD2_REG_BASE+NJPD_OFFSET(0x05))
289*53ee8cc1Swenshuai.xi 
290*53ee8cc1Swenshuai.xi // Image Size
291*53ee8cc1Swenshuai.xi #define BK_NJPD2_IMG_HSIZE                           (NJPD2_REG_BASE+NJPD_OFFSET(0x06))
292*53ee8cc1Swenshuai.xi #define BK_NJPD2_IMG_VSIZE                           (NJPD2_REG_BASE+NJPD_OFFSET(0x07))
293*53ee8cc1Swenshuai.xi 
294*53ee8cc1Swenshuai.xi // Write-one-clear
295*53ee8cc1Swenshuai.xi #define BK_NJPD2_WRITE_ONE_CLEAR                     (NJPD2_REG_BASE+NJPD_OFFSET(0x08))
296*53ee8cc1Swenshuai.xi 
297*53ee8cc1Swenshuai.xi // Region of Interest
298*53ee8cc1Swenshuai.xi #define BK_NJPD2_ROI_H_START                         (NJPD2_REG_BASE+NJPD_OFFSET(0x09))
299*53ee8cc1Swenshuai.xi #define BK_NJPD2_ROI_V_START                         (NJPD2_REG_BASE+NJPD_OFFSET(0x0a))
300*53ee8cc1Swenshuai.xi #define BK_NJPD2_ROI_H_SIZE                          (NJPD2_REG_BASE+NJPD_OFFSET(0x0b))
301*53ee8cc1Swenshuai.xi #define BK_NJPD2_ROI_V_SIZE                          (NJPD2_REG_BASE+NJPD_OFFSET(0x0c))
302*53ee8cc1Swenshuai.xi 
303*53ee8cc1Swenshuai.xi // Gated-Clock Control
304*53ee8cc1Swenshuai.xi #define BK_NJPD2_GATED_CLOCK_CTRL                    (NJPD2_REG_BASE+NJPD_OFFSET(0x0d))
305*53ee8cc1Swenshuai.xi 
306*53ee8cc1Swenshuai.xi // Miu Interface
307*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_STATUS                     (NJPD2_REG_BASE+NJPD_OFFSET(0x0e))
308*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_IBUFFER_CNT                     (NJPD2_REG_BASE+NJPD_OFFSET(0x0f))
309*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_START_ADDR_L               (NJPD2_REG_BASE+NJPD_OFFSET(0x10))
310*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_START_ADDR_H               (NJPD2_REG_BASE+NJPD_OFFSET(0x11))
311*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER0_START_ADDR_L       (NJPD2_REG_BASE+NJPD_OFFSET(0x12))
312*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER0_START_ADDR_H       (NJPD2_REG_BASE+NJPD_OFFSET(0x13))
313*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER0_END_ADDR_L         (NJPD2_REG_BASE+NJPD_OFFSET(0x14))
314*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER0_END_ADDR_H         (NJPD2_REG_BASE+NJPD_OFFSET(0x15))
315*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER1_START_ADDR_L       (NJPD2_REG_BASE+NJPD_OFFSET(0x16))
316*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER1_START_ADDR_H       (NJPD2_REG_BASE+NJPD_OFFSET(0x17))
317*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER1_END_ADDR_L         (NJPD2_REG_BASE+NJPD_OFFSET(0x18))
318*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_BUFFER1_END_ADDR_H         (NJPD2_REG_BASE+NJPD_OFFSET(0x19))
319*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_WRITE_START_ADDR_L              (NJPD2_REG_BASE+NJPD_OFFSET(0x1a))
320*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_WRITE_START_ADDR_H              (NJPD2_REG_BASE+NJPD_OFFSET(0x1b))
321*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_WRITE_POINTER_ADDR_L            (NJPD2_REG_BASE+NJPD_OFFSET(0x1c))
322*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_WRITE_POINTER_ADDR_H            (NJPD2_REG_BASE+NJPD_OFFSET(0x1d))
323*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_POINTER_ADDR_L             (NJPD2_REG_BASE+NJPD_OFFSET(0x1e))
324*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_READ_POINTER_ADDR_H             (NJPD2_REG_BASE+NJPD_OFFSET(0x1f))
325*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_HTABLE_START_ADDR_L             (NJPD2_REG_BASE+NJPD_OFFSET(0x20))
326*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_HTABLE_START_ADDR_H             (NJPD2_REG_BASE+NJPD_OFFSET(0x21))
327*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_GTABLE_START_ADDR_L             (NJPD2_REG_BASE+NJPD_OFFSET(0x22))
328*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_GTABLE_START_ADDR_H             (NJPD2_REG_BASE+NJPD_OFFSET(0x23))
329*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_QTABLE_START_ADDR_L             (NJPD2_REG_BASE+NJPD_OFFSET(0x24))
330*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_QTABLE_START_ADDR_H             (NJPD2_REG_BASE+NJPD_OFFSET(0x25))
331*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_HTABLE_SIZE                     (NJPD2_REG_BASE+NJPD_OFFSET(0x26))
332*53ee8cc1Swenshuai.xi #define BK_NJPD2_SET_CHROMA_VALUE                    (NJPD2_REG_BASE+NJPD_OFFSET(0x27))
333*53ee8cc1Swenshuai.xi #define BK_NJPD2_IBUF_READ_LENGTH                    (NJPD2_REG_BASE+NJPD_OFFSET(0x28))
334*53ee8cc1Swenshuai.xi 
335*53ee8cc1Swenshuai.xi 
336*53ee8cc1Swenshuai.xi // Interrupt
337*53ee8cc1Swenshuai.xi #define BK_NJPD2_IRQ_CLEAR                           (NJPD2_REG_BASE+NJPD_OFFSET(0x29))
338*53ee8cc1Swenshuai.xi #define BK_NJPD2_IRQ_FORCE                           (NJPD2_REG_BASE+NJPD_OFFSET(0x2a))
339*53ee8cc1Swenshuai.xi #define BK_NJPD2_IRQ_MASK                            (NJPD2_REG_BASE+NJPD_OFFSET(0x2b))
340*53ee8cc1Swenshuai.xi #define BK_NJPD2_IRQ_FINAL_S                         (NJPD2_REG_BASE+NJPD_OFFSET(0x2c))
341*53ee8cc1Swenshuai.xi #define BK_NJPD2_IRQ_RAW_S                           (NJPD2_REG_BASE+NJPD_OFFSET(0x2d))
342*53ee8cc1Swenshuai.xi 
343*53ee8cc1Swenshuai.xi // Sram Gated-Clock Control
344*53ee8cc1Swenshuai.xi #define BK_NJPD2_MIU_TLB                             (NJPD2_REG_BASE+NJPD_OFFSET(0x2f)+1)
345*53ee8cc1Swenshuai.xi 
346*53ee8cc1Swenshuai.xi 
347*53ee8cc1Swenshuai.xi // Debug
348*53ee8cc1Swenshuai.xi #define BK_NJPD2_ROW_IDEX                            (NJPD2_REG_BASE+NJPD_OFFSET(0x30))
349*53ee8cc1Swenshuai.xi #define BK_NJPD2_COLUMN_IDEX                         (NJPD2_REG_BASE+NJPD_OFFSET(0x31))
350*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_BUS_SELECT                    (NJPD2_REG_BASE+NJPD_OFFSET(0x32))
351*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_BUS_H                         (NJPD2_REG_BASE+NJPD_OFFSET(0x33))
352*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_BUS_L                         (NJPD2_REG_BASE+NJPD_OFFSET(0x34))
353*53ee8cc1Swenshuai.xi #define BK_NJPD2_IBUF_BYTE_COUNT_L                   (NJPD2_REG_BASE+NJPD_OFFSET(0x35))
354*53ee8cc1Swenshuai.xi #define BK_NJPD2_IBUF_BYTE_COUNT_H                   (NJPD2_REG_BASE+NJPD_OFFSET(0x36))
355*53ee8cc1Swenshuai.xi #define BK_NJPD2_VLD_BYTE_COUNT_L                    (NJPD2_REG_BASE+NJPD_OFFSET(0x37))
356*53ee8cc1Swenshuai.xi #define BK_NJPD2_VLD_BYTE_COUNT_H                    (NJPD2_REG_BASE+NJPD_OFFSET(0x38))
357*53ee8cc1Swenshuai.xi #define BK_NJPD2_VLD_DECODING_DATA_L                 (NJPD2_REG_BASE+NJPD_OFFSET(0x39))
358*53ee8cc1Swenshuai.xi #define BK_NJPD2_VLD_DECODING_DATA_H                 (NJPD2_REG_BASE+NJPD_OFFSET(0x3a))
359*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_TRIG_CYCLE                    (NJPD2_REG_BASE+NJPD_OFFSET(0x3b))
360*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_TRIG_MBX                      (NJPD2_REG_BASE+NJPD_OFFSET(0x3c))
361*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_TRIG_MBY                      (NJPD2_REG_BASE+NJPD_OFFSET(0x3d))
362*53ee8cc1Swenshuai.xi #define BK_NJPD2_DEBUG_TRIGGER                       (NJPD2_REG_BASE+NJPD_OFFSET(0x3e))
363*53ee8cc1Swenshuai.xi 
364*53ee8cc1Swenshuai.xi 
365*53ee8cc1Swenshuai.xi // BIST
366*53ee8cc1Swenshuai.xi #define BK_NJPD2_BIST_FAIL                           (NJPD2_REG_BASE+NJPD_OFFSET(0x3f))
367*53ee8cc1Swenshuai.xi 
368*53ee8cc1Swenshuai.xi 
369*53ee8cc1Swenshuai.xi // TBC RIU Interface
370*53ee8cc1Swenshuai.xi #define BK_NJPD2_TBC                                 (NJPD2_REG_BASE+NJPD_OFFSET(0x40))
371*53ee8cc1Swenshuai.xi #define BK_NJPD2_TBC_WDATA0                          (NJPD2_REG_BASE+NJPD_OFFSET(0x41))
372*53ee8cc1Swenshuai.xi #define BK_NJPD2_TBC_WDATA1                          (NJPD2_REG_BASE+NJPD_OFFSET(0x42))
373*53ee8cc1Swenshuai.xi #define BK_NJPD2_TBC_RDATA_L                         (NJPD2_REG_BASE+NJPD_OFFSET(0x43))
374*53ee8cc1Swenshuai.xi #define BK_NJPD2_TBC_RDATA_H                         (NJPD2_REG_BASE+NJPD_OFFSET(0x44))
375*53ee8cc1Swenshuai.xi 
376*53ee8cc1Swenshuai.xi 
377*53ee8cc1Swenshuai.xi // Max Huffman Table Address
378*53ee8cc1Swenshuai.xi #define BK_NJPD2_Y_MAX_HUFFTABLE_ADDRESS             (NJPD2_REG_BASE+NJPD_OFFSET(0x45))
379*53ee8cc1Swenshuai.xi #define BK_NJPD2_CB_MAX_HUFFTABLE_ADDRESS            (NJPD2_REG_BASE+NJPD_OFFSET(0x46))
380*53ee8cc1Swenshuai.xi #define BK_NJPD2_CR_MAX_HUFFTABLE_ADDRESS            (NJPD2_REG_BASE+NJPD_OFFSET(0x47))
381*53ee8cc1Swenshuai.xi 
382*53ee8cc1Swenshuai.xi 
383*53ee8cc1Swenshuai.xi // Spare
384*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE00                             (NJPD2_REG_BASE+NJPD_OFFSET(0x48))
385*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE01                             (NJPD2_REG_BASE+NJPD_OFFSET(0x49))
386*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE02                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4a))
387*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE03                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4b))
388*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE04                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4c))
389*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE05                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4d))
390*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE06                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4e))
391*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE07                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4f))
392*53ee8cc1Swenshuai.xi 
393*53ee8cc1Swenshuai.xi #define BK_NJPD2_SPARE07                             (NJPD2_REG_BASE+NJPD_OFFSET(0x4f))
394*53ee8cc1Swenshuai.xi 
395*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_00                     (NJPD2_REG_BASE+NJPD_OFFSET(0x50))
396*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_01                     (NJPD2_REG_BASE+NJPD_OFFSET(0x51))
397*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_02                     (NJPD2_REG_BASE+NJPD_OFFSET(0x52))
398*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_03                     (NJPD2_REG_BASE+NJPD_OFFSET(0x53))
399*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_04                     (NJPD2_REG_BASE+NJPD_OFFSET(0x54))
400*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_05                     (NJPD2_REG_BASE+NJPD_OFFSET(0x55))
401*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_06                     (NJPD2_REG_BASE+NJPD_OFFSET(0x56))
402*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_SETTING_07                     (NJPD2_REG_BASE+NJPD_OFFSET(0x57))
403*53ee8cc1Swenshuai.xi 
404*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_UBOUND_0_L                     (NJPD2_REG_BASE+NJPD_OFFSET(0x58))
405*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_UBOUND_0_H                     (NJPD2_REG_BASE+NJPD_OFFSET(0x59))
406*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_LBOUND_0_L                     (NJPD2_REG_BASE+NJPD_OFFSET(0x5a))
407*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_LBOUND_0_H                     (NJPD2_REG_BASE+NJPD_OFFSET(0x5b))
408*53ee8cc1Swenshuai.xi 
409*53ee8cc1Swenshuai.xi 
410*53ee8cc1Swenshuai.xi #define BK_NJPD2_CRC_MODE                            (NJPD2_REG_BASE+NJPD_OFFSET(0x6d))
411*53ee8cc1Swenshuai.xi 
412*53ee8cc1Swenshuai.xi // Miu Arbiter
413*53ee8cc1Swenshuai.xi // TODO: MIU Arbiter registers
414*53ee8cc1Swenshuai.xi 
415*53ee8cc1Swenshuai.xi 
416*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_CRC_RESULT_0                   (NJPD2_REG_BASE+NJPD_OFFSET(0x70))
417*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_CRC_RESULT_1                   (NJPD2_REG_BASE+NJPD_OFFSET(0x71))
418*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_CRC_RESULT_2                   (NJPD2_REG_BASE+NJPD_OFFSET(0x72))
419*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_CRC_RESULT_3                   (NJPD2_REG_BASE+NJPD_OFFSET(0x73))
420*53ee8cc1Swenshuai.xi #define BK_NJPD2_MARB_RESET                          (NJPD2_REG_BASE+NJPD_OFFSET(0x74))
421*53ee8cc1Swenshuai.xi #define BK_NJPD2_HANDSHAKE_CNT                       (NJPD2_REG_BASE+NJPD_OFFSET(0x74)+1)
422*53ee8cc1Swenshuai.xi #define BK_NJPD2_SW_MB_ROW_CNT                       (NJPD2_REG_BASE+NJPD_OFFSET(0x75))
423*53ee8cc1Swenshuai.xi #define BK_NJPD2_HANDSHAKE                           (NJPD2_REG_BASE+NJPD_OFFSET(0x75)+1)
424*53ee8cc1Swenshuai.xi #define BK_NJPD2_TOP_MARB_PORT_ENABLE                (NJPD2_REG_BASE+NJPD_OFFSET(0x76))
425*53ee8cc1Swenshuai.xi 
426*53ee8cc1Swenshuai.xi #define BK_NJPD2_GENERAL(x)                          (NJPD2_REG_BASE+NJPD_OFFSET(x))
427*53ee8cc1Swenshuai.xi 
428*53ee8cc1Swenshuai.xi #define BK_MIU0_GENERAL(x)          (NJPD_MIU0_BASE+NJPD_OFFSET(x))
429*53ee8cc1Swenshuai.xi #define BK_MIU1_GENERAL(x)          (NJPD_MIU1_BASE+NJPD_OFFSET(x))
430*53ee8cc1Swenshuai.xi 
431*53ee8cc1Swenshuai.xi 
432*53ee8cc1Swenshuai.xi 
433*53ee8cc1Swenshuai.xi // CLKGEN0
434*53ee8cc1Swenshuai.xi // For Agate, we use bank 0x0B,offset 0x35 bit(8:11) to set reg_ckg_njpd
435*53ee8cc1Swenshuai.xi #define NJPD_CLOCK                                  (NJPD_CLKGEN0_BASE+NJPD_OFFSET(0x35))     // Agate
436*53ee8cc1Swenshuai.xi //CLK_NJPD clock setting
437*53ee8cc1Swenshuai.xi //[0]: disable clock
438*53ee8cc1Swenshuai.xi //[1]: invert clock
439*53ee8cc1Swenshuai.xi //[3:2]: Select clock source
440*53ee8cc1Swenshuai.xi //     00: 144 MHz
441*53ee8cc1Swenshuai.xi //     01: 123 MHz
442*53ee8cc1Swenshuai.xi //     10: 108 MHz
443*53ee8cc1Swenshuai.xi //     11: 80 MHz
444*53ee8cc1Swenshuai.xi 
445*53ee8cc1Swenshuai.xi 
446*53ee8cc1Swenshuai.xi // MIU
447*53ee8cc1Swenshuai.xi #define NJPD_MIU0_BASE                  0x1200
448*53ee8cc1Swenshuai.xi #define NJPD_MIU1_BASE                  0x0600
449*53ee8cc1Swenshuai.xi // h0033	h0033	15	0	reg_rq1_mask
450*53ee8cc1Swenshuai.xi #define NJPD_MIU0_RQ1_MASK              (NJPD_MIU0_BASE+NJPD_OFFSET(0x33))
451*53ee8cc1Swenshuai.xi #define NJPD_MIU1_RQ1_MASK              (NJPD_MIU1_BASE+NJPD_OFFSET(0x33))
452*53ee8cc1Swenshuai.xi #define NJPD0_MIU0_CLIENT_NJPD          NJPD_BIT(3) //bit3 of the first byte (bit 3)
453*53ee8cc1Swenshuai.xi #define NJPD0_MIU1_CLIENT_NJPD          NJPD_BIT(3) //bit3 of the first byte (bit 3)
454*53ee8cc1Swenshuai.xi #define NJPD1_MIU0_CLIENT_NJPD          NJPD_BIT(3) //bit3 of the first byte (bit 3)
455*53ee8cc1Swenshuai.xi #define NJPD1_MIU1_CLIENT_NJPD          NJPD_BIT(3) //bit3 of the first byte (bit 3)
456*53ee8cc1Swenshuai.xi 
457*53ee8cc1Swenshuai.xi //h0079	h0079	15	0	reg_miu_sel1
458*53ee8cc1Swenshuai.xi #define NJPD0_MIU0_MIU_SEL1             (NJPD_MIU0_BASE+NJPD_OFFSET(0x79))
459*53ee8cc1Swenshuai.xi #define NJPD0_MIU1_MIU_SEL1             (NJPD_MIU1_BASE+NJPD_OFFSET(0x79))
460*53ee8cc1Swenshuai.xi #define NJPD1_MIU0_MIU_SEL1             (NJPD_MIU0_BASE+NJPD_OFFSET(0x79))
461*53ee8cc1Swenshuai.xi #define NJPD1_MIU1_MIU_SEL1             (NJPD_MIU1_BASE+NJPD_OFFSET(0x79))
462*53ee8cc1Swenshuai.xi 
463*53ee8cc1Swenshuai.xi 
464*53ee8cc1Swenshuai.xi #define NJPD_1608_BASE                  0x60800
465*53ee8cc1Swenshuai.xi #define NJPD_160F_BASE                  0x60F00
466*53ee8cc1Swenshuai.xi #define NJPD_1615_BASE                  0x61500
467*53ee8cc1Swenshuai.xi #define NJPD_1620_BASE                  0x62000
468*53ee8cc1Swenshuai.xi 
469*53ee8cc1Swenshuai.xi 
470*53ee8cc1Swenshuai.xi #define BK_1608_GENERAL(x)          (NJPD_1608_BASE+NJPD_OFFSET(x))
471*53ee8cc1Swenshuai.xi #define BK_160F_GENERAL(x)          (NJPD_160F_BASE+NJPD_OFFSET(x))
472*53ee8cc1Swenshuai.xi #define BK_1615_GENERAL(x)          (NJPD_1615_BASE+NJPD_OFFSET(x))
473*53ee8cc1Swenshuai.xi #define BK_1620_GENERAL(x)          (NJPD_1620_BASE+NJPD_OFFSET(x))
474*53ee8cc1Swenshuai.xi 
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi // TSP
477*53ee8cc1Swenshuai.xi #define NJPD_TSP_BASE                   0x1500
478*53ee8cc1Swenshuai.xi #define REG_TSP_CTRL                    (NJPD_TSP_BASE + NJPD_OFFSET(0x7A))
479*53ee8cc1Swenshuai.xi     #define REG_TSP_CPU_ENABLE          NJPD_BIT(0)
480*53ee8cc1Swenshuai.xi     #define REG_TSP_SW_RSTZ             NJPD_BIT(1)
481*53ee8cc1Swenshuai.xi #define REG_TSP_STC_L                   (NJPD_TSP_BASE + NJPD_OFFSET(0x30))
482*53ee8cc1Swenshuai.xi #define REG_TSP_STC_H                   (NJPD_TSP_BASE + NJPD_OFFSET(0x31))
483*53ee8cc1Swenshuai.xi 
484*53ee8cc1Swenshuai.xi 
485*53ee8cc1Swenshuai.xi // CHIPTOP
486*53ee8cc1Swenshuai.xi #define NJPD_CHIPTOP_BASE               0x1E00
487*53ee8cc1Swenshuai.xi #define NJPD_MIU_GROUP1_I64             (NJPD_CHIPTOP_BASE + NJPD_OFFSET(0x21))
488*53ee8cc1Swenshuai.xi #define NJPD_MIU0_CLIENT_NJPD_CS3       NJPD_BIT(3) // bit3 of the first byte (bit 3)
489*53ee8cc1Swenshuai.xi 
490*53ee8cc1Swenshuai.xi // TZPC NON-PM
491*53ee8cc1Swenshuai.xi #define NJPD_TZPC_NONPM_BASE            0x23900
492*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_20            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x20))
493*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_21            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x21))
494*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_22            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x22))
495*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_23            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x23))
496*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_24            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x24))
497*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_25            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x25))
498*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_26            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x26))
499*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_27            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x27))
500*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_28            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x28))
501*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_29            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x29))
502*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2A            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2A))
503*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2B            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2B))
504*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2C            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2C))
505*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2D            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2D))
506*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2E            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2E))
507*53ee8cc1Swenshuai.xi #define NJPD_NONPM_SECURE_2F            (NJPD_TZPC_NONPM_BASE + NJPD_OFFSET(0x2F))
508*53ee8cc1Swenshuai.xi 
509*53ee8cc1Swenshuai.xi #define BK_TZPC_GENERAL(x)                          (NJPD_TZPC_NONPM_BASE+NJPD_OFFSET(x))
510*53ee8cc1Swenshuai.xi 
511*53ee8cc1Swenshuai.xi #if 0
512*53ee8cc1Swenshuai.xi #define JPD_REG_BASE                    0x1700
513*53ee8cc1Swenshuai.xi 
514*53ee8cc1Swenshuai.xi #define BK_JPD_SCONFIG                  (JPD_REG_BASE+NJPD_OFFSET(0x00))
515*53ee8cc1Swenshuai.xi #define BK_JPD_MCONFIG                  (JPD_REG_BASE+NJPD_OFFSET(0x01))
516*53ee8cc1Swenshuai.xi #define BK_JPD_RCSMADR_L                (JPD_REG_BASE+NJPD_OFFSET(0x0B))
517*53ee8cc1Swenshuai.xi #define BK_JPD_RCSMADR_H                (JPD_REG_BASE+NJPD_OFFSET(0x0C))
518*53ee8cc1Swenshuai.xi #define BK_JPD_RBUF_FLOOR_L             (JPD_REG_BASE+NJPD_OFFSET(0x0D))
519*53ee8cc1Swenshuai.xi #define BK_JPD_RBUF_FLOOR_H             (JPD_REG_BASE+NJPD_OFFSET(0x0E))
520*53ee8cc1Swenshuai.xi #define BK_JPD_RBUF_CEIL_L              (JPD_REG_BASE+NJPD_OFFSET(0x0F))
521*53ee8cc1Swenshuai.xi #define BK_JPD_RBUF_CEIL_H              (JPD_REG_BASE+NJPD_OFFSET(0x10))
522*53ee8cc1Swenshuai.xi #define BK_JPD_MWBF_SADR_L              (JPD_REG_BASE+NJPD_OFFSET(0x11))
523*53ee8cc1Swenshuai.xi #define BK_JPD_MWBF_SADR_H              (JPD_REG_BASE+NJPD_OFFSET(0x12))
524*53ee8cc1Swenshuai.xi #define BK_JPD_AUTO_PROTECT             (JPD_REG_BASE+NJPD_OFFSET(0x1F))
525*53ee8cc1Swenshuai.xi #define BK_JPD_MWBF_EADR_L              (JPD_REG_BASE+NJPD_OFFSET(0x20))
526*53ee8cc1Swenshuai.xi #define BK_JPD_MWBF_EADR_H              (JPD_REG_BASE+NJPD_OFFSET(0x21))
527*53ee8cc1Swenshuai.xi 
528*53ee8cc1Swenshuai.xi #define BK_JPD1_GENERAL(x)              (JPD_REG_BASE+NJPD_OFFSET(x))
529*53ee8cc1Swenshuai.xi #endif
530*53ee8cc1Swenshuai.xi 
531*53ee8cc1Swenshuai.xi #endif // _REG_NJPD_H_
532*53ee8cc1Swenshuai.xi 
533*53ee8cc1Swenshuai.xi 
534