xref: /utopia/UTPA2-700.0.x/modules/vdec_v2/hal/messi/mvd_ex/regMVD_EX.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 /// @file  regMVD.h
95*53ee8cc1Swenshuai.xi /// @brief Hardware register definition for Video Decoder
96*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc.
97*53ee8cc1Swenshuai.xi //
98*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////
99*53ee8cc1Swenshuai.xi 
100*53ee8cc1Swenshuai.xi #ifndef _REG_MVD_H_
101*53ee8cc1Swenshuai.xi #define _REG_MVD_H_
102*53ee8cc1Swenshuai.xi 
103*53ee8cc1Swenshuai.xi 
104*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
105*53ee8cc1Swenshuai.xi // Constant & Macro Definition
106*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
107*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
108*53ee8cc1Swenshuai.xi // Base Address
109*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
110*53ee8cc1Swenshuai.xi #define MVD_REG_BASE                            0x1100UL  // 0x1100 - 0x11FF
111*53ee8cc1Swenshuai.xi #define CHIP_REG_BASE                           0x1E00UL  // 0x1E00 - 0x1EFF
112*53ee8cc1Swenshuai.xi 
113*53ee8cc1Swenshuai.xi #define MIU0_REG_BASE                           0x1200UL
114*53ee8cc1Swenshuai.xi #define MIU1_REG_BASE                           0x0600UL
115*53ee8cc1Swenshuai.xi 
116*53ee8cc1Swenshuai.xi 
117*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
118*53ee8cc1Swenshuai.xi // MIU register
119*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
120*53ee8cc1Swenshuai.xi //MIU request mask
121*53ee8cc1Swenshuai.xi #define MIU0_RQ0_MASK_L                 (MIU0_REG_BASE + 0x23*2)
122*53ee8cc1Swenshuai.xi #define MIU0_RQ0_MASK_H                 (MIU0_REG_BASE + 0x23*2 +1)
123*53ee8cc1Swenshuai.xi #define MIU0_RQ1_MASK_L                 (MIU0_REG_BASE + 0x33*2)
124*53ee8cc1Swenshuai.xi #define MIU0_RQ1_MASK_H                 (MIU0_REG_BASE + 0x33*2 +1)
125*53ee8cc1Swenshuai.xi #define MIU0_RQ2_MASK_L                 (MIU0_REG_BASE + 0x43*2)
126*53ee8cc1Swenshuai.xi #define MIU0_RQ2_MASK_H                 (MIU0_REG_BASE + 0x43*2 +1)
127*53ee8cc1Swenshuai.xi #define MIU0_RQ3_MASK_L                 (MIU0_REG_BASE + 0x53*2)
128*53ee8cc1Swenshuai.xi #define MIU0_RQ3_MASK_H                 (MIU0_REG_BASE + 0x53*2 +1)
129*53ee8cc1Swenshuai.xi #define MIU0_SEL0_L                     (MIU0_REG_BASE + 0xF0)
130*53ee8cc1Swenshuai.xi #define MIU0_SEL0_H                     (MIU0_REG_BASE + 0xF1)
131*53ee8cc1Swenshuai.xi #define MIU0_SEL2_L                     (MIU0_REG_BASE + 0xF4)
132*53ee8cc1Swenshuai.xi #define MIU0_SEL2_H                     (MIU0_REG_BASE + 0xF5)
133*53ee8cc1Swenshuai.xi #define MIU0_SEL3_L                     (MIU0_REG_BASE + 0xF6)
134*53ee8cc1Swenshuai.xi #define MIU0_SEL3_H                     (MIU0_REG_BASE + 0xF7)
135*53ee8cc1Swenshuai.xi 
136*53ee8cc1Swenshuai.xi #define MIU1_RQ0_MASK_L                 (MIU1_REG_BASE + 0x23*2)
137*53ee8cc1Swenshuai.xi #define MIU1_RQ0_MASK_H                 (MIU1_REG_BASE + 0x23*2 +1)
138*53ee8cc1Swenshuai.xi #define MIU1_RQ1_MASK_L                 (MIU1_REG_BASE + 0x33*2)
139*53ee8cc1Swenshuai.xi #define MIU1_RQ1_MASK_H                 (MIU1_REG_BASE + 0x33*2 +1)
140*53ee8cc1Swenshuai.xi #define MIU1_RQ2_MASK_L                 (MIU1_REG_BASE + 0x43*2)
141*53ee8cc1Swenshuai.xi #define MIU1_RQ2_MASK_H                 (MIU1_REG_BASE + 0x43*2 +1)
142*53ee8cc1Swenshuai.xi #define MIU1_RQ3_MASK_L                 (MIU1_REG_BASE + 0x53*2)
143*53ee8cc1Swenshuai.xi #define MIU1_RQ3_MASK_H                 (MIU1_REG_BASE + 0x53*2 +1)
144*53ee8cc1Swenshuai.xi 
145*53ee8cc1Swenshuai.xi 
146*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
147*53ee8cc1Swenshuai.xi // MVD Reg
148*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
149*53ee8cc1Swenshuai.xi     #define MVD_CTRL_RST                        BIT0//1: reset MVD; 0: release reset
150*53ee8cc1Swenshuai.xi     #define MVD_CTRL_CLR_INT                    BIT2//Clear MVD interrupt.
151*53ee8cc1Swenshuai.xi     #define MVD_CTRL_CLK_SYNCMODE               BIT4//1: sync_mode; 0: async_mode
152*53ee8cc1Swenshuai.xi     #define MVD_CTRL_CLK_ALLON                  BIT5//1: enable all clocks in mvd
153*53ee8cc1Swenshuai.xi     #define MVD_CTRL_DISCONNECT_MIU             BIT6//1: disconnect; 0: release reset
154*53ee8cc1Swenshuai.xi #define MVD_CTRL                                (MVD_REG_BASE + 0x00)
155*53ee8cc1Swenshuai.xi 
156*53ee8cc1Swenshuai.xi     #define MVD_STATUS_READY                    BIT1
157*53ee8cc1Swenshuai.xi #define MVD_STATUS                              (MVD_REG_BASE + 0x01)
158*53ee8cc1Swenshuai.xi     #define MVD_T8_MIU_128_0                   BIT2  // enable MVD to 128 bit mode
159*53ee8cc1Swenshuai.xi     #define MVD_T8_MIU_128_1                   BIT3  // enable MVD to 128 bit mode
160*53ee8cc1Swenshuai.xi #define MVD_COMMAND                             (MVD_REG_BASE + 0x02)
161*53ee8cc1Swenshuai.xi #define MVD_ARG0                                (MVD_REG_BASE + 0x04)
162*53ee8cc1Swenshuai.xi #define MVD_ARG1                                (MVD_REG_BASE + 0x05)
163*53ee8cc1Swenshuai.xi #define MVD_ARG2                                (MVD_REG_BASE + 0x06)
164*53ee8cc1Swenshuai.xi #define MVD_ARG3                                (MVD_REG_BASE + 0x07)
165*53ee8cc1Swenshuai.xi #define MVD_ARG4                                (MVD_REG_BASE + 0x08)
166*53ee8cc1Swenshuai.xi #define MVD_ARG5                                (MVD_REG_BASE + 0x09)
167*53ee8cc1Swenshuai.xi 
168*53ee8cc1Swenshuai.xi     #define MVD_SLQCTRL_WADR_RELOAD             BIT0 //reload "slq_wadr" into write address
169*53ee8cc1Swenshuai.xi                                                 //w reload: program 1, then program 0, and reload complete
170*53ee8cc1Swenshuai.xi     #define MVD_SLQCTRL_RADR_PROBE              BIT1 //SLQ read address probe
171*53ee8cc1Swenshuai.xi     #define MVD_SLQCTRL_WADR_PROBE              BIT2 //SLQ write address probe
172*53ee8cc1Swenshuai.xi                                                 //r/w probe: program 1, then program 0, and read "slq_caddr"
173*53ee8cc1Swenshuai.xi #define MVD_SLQCTRL                             (MVD_REG_BASE + 0x16)
174*53ee8cc1Swenshuai.xi 
175*53ee8cc1Swenshuai.xi //SLQ write address value[24:0]
176*53ee8cc1Swenshuai.xi #define MVD_SLQ_WADR0                           (MVD_REG_BASE + 0x18)
177*53ee8cc1Swenshuai.xi #define MVD_SLQ_WADR1                           (MVD_REG_BASE + 0x19)
178*53ee8cc1Swenshuai.xi #define MVD_SLQ_WADR2                           (MVD_REG_BASE + 0x1A)
179*53ee8cc1Swenshuai.xi #define MVD_SLQ_WADR3                           (MVD_REG_BASE + 0x1B)
180*53ee8cc1Swenshuai.xi 
181*53ee8cc1Swenshuai.xi //SLQ probe address value[24:0]
182*53ee8cc1Swenshuai.xi #define MVD_SLQ_CADR0                           (MVD_REG_BASE + 0x1C)
183*53ee8cc1Swenshuai.xi #define MVD_SLQ_CADR1                           (MVD_REG_BASE + 0x1D)
184*53ee8cc1Swenshuai.xi #define MVD_SLQ_CADR2                           (MVD_REG_BASE + 0x1E)
185*53ee8cc1Swenshuai.xi #define MVD_SLQ_CADR3                           (MVD_REG_BASE + 0x1F)
186*53ee8cc1Swenshuai.xi 
187*53ee8cc1Swenshuai.xi //CRC in/out
188*53ee8cc1Swenshuai.xi #define MVD_CRC_CTL                             (MVD_REG_BASE + 0x23)
189*53ee8cc1Swenshuai.xi     #define MVD_CRC_CTL_FIRE                    BIT6
190*53ee8cc1Swenshuai.xi     #define MVD_CRC_CTL_DONE                    BIT7
191*53ee8cc1Swenshuai.xi #define MVD_CRC_HSIZE                           (MVD_REG_BASE + 0x22)   //CRC hsize[13:4]
192*53ee8cc1Swenshuai.xi #define MVD_CRC_VSIZE                           (MVD_REG_BASE + 0x24)   //CRC vsize[13:0]
193*53ee8cc1Swenshuai.xi #define MVD_CRC_STRIP                           (MVD_REG_BASE + 0x26)   //CRC strip[13:0]
194*53ee8cc1Swenshuai.xi #define MVD_CRC_Y_START                         (MVD_REG_BASE + 0x28)   //CRC y start address[25:0]
195*53ee8cc1Swenshuai.xi     #define MVD_CRC_Y_START_LEN                 BMASK(25:0)
196*53ee8cc1Swenshuai.xi #define MVD_CRC_UV_START                        (MVD_REG_BASE + 0x2C)   //CRC uv start address[25:0]
197*53ee8cc1Swenshuai.xi     #define MVD_CRC_UV_START_LEN                BMASK(25:0)
198*53ee8cc1Swenshuai.xi #define MVD_CRC_Y_L                             (MVD_REG_BASE + 0x30)
199*53ee8cc1Swenshuai.xi #define MVD_CRC_Y_H                             (MVD_REG_BASE + 0x32)
200*53ee8cc1Swenshuai.xi #define MVD_CRC_UV_L                            (MVD_REG_BASE + 0x34)
201*53ee8cc1Swenshuai.xi #define MVD_CRC_UV_H                            (MVD_REG_BASE + 0x36)
202*53ee8cc1Swenshuai.xi 
203*53ee8cc1Swenshuai.xi #define REG_CHIPTOP_BASE        0x0b00UL
204*53ee8cc1Swenshuai.xi 
205*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_SYNC        (REG_CHIPTOP_BASE + 0x38*2 +1)
206*53ee8cc1Swenshuai.xi     #define CKG_MVD_SYNC_GATED      BIT0
207*53ee8cc1Swenshuai.xi 
208*53ee8cc1Swenshuai.xi #define REG_CKG_MVD             (REG_CHIPTOP_BASE + 0x39*2)
209*53ee8cc1Swenshuai.xi     #define CKG_MVD_GATED           BIT0
210*53ee8cc1Swenshuai.xi     #define CKG_MVD_INVERT          BIT1
211*53ee8cc1Swenshuai.xi     #define CKG_MVD_MASK            (BIT4 | BIT3 | BIT2)
212*53ee8cc1Swenshuai.xi     #define CKG_MVD_216MHZ          (0 << 2)
213*53ee8cc1Swenshuai.xi     #define CKG_MVD_192MHZ          (1 << 2)
214*53ee8cc1Swenshuai.xi     #define CKG_MVD_172MHZ          (2 << 2)
215*53ee8cc1Swenshuai.xi     #define CKG_MVD_144MHZ          (3 << 2)
216*53ee8cc1Swenshuai.xi     #define CKG_MVD_CLK_MIU         (4 << 2)    //clk_miu_p
217*53ee8cc1Swenshuai.xi     #define CKG_MVD_123MHZ          (5 << 2)
218*53ee8cc1Swenshuai.xi     #define CKG_MVD_MPLL_DIV2       (6 << 2)    //mempll_clk_buf_div2
219*53ee8cc1Swenshuai.xi     #define CKG_MVD_XTAL_CLK        (7 << 2)    //XTAL clock
220*53ee8cc1Swenshuai.xi 
221*53ee8cc1Swenshuai.xi #define REG_CKG_MVD2            (REG_CHIPTOP_BASE + 0x39*2 +1)
222*53ee8cc1Swenshuai.xi     #define CKG_MVD2_GATED           BIT0
223*53ee8cc1Swenshuai.xi     #define CKG_MVD2_INVERT          BIT1
224*53ee8cc1Swenshuai.xi     #define CKG_MVD2_MASK            (BIT4 | BIT3 | BIT2)
225*53ee8cc1Swenshuai.xi     #define CKG_MVD2_216MHZ          (0 << 2)
226*53ee8cc1Swenshuai.xi     #define CKG_MVD2_192MHZ          (1 << 2)
227*53ee8cc1Swenshuai.xi     #define CKG_MVD2_172MHZ          (2 << 2)
228*53ee8cc1Swenshuai.xi     #define CKG_MVD2_144MHZ          (3 << 2)
229*53ee8cc1Swenshuai.xi     #define CKG_MVD2_CLK_MIU         (4 << 2)   //clk_miu_p
230*53ee8cc1Swenshuai.xi     #define CKG_MVD2_123MHZ          (5 << 2)
231*53ee8cc1Swenshuai.xi     #define CKG_MVD2_MPLL_DIV2       (6 << 2)    //mempll_clk_buf_div2
232*53ee8cc1Swenshuai.xi     #define CKG_MVD2_XTAL_CLK        (7 << 2)     //XTAL clock
233*53ee8cc1Swenshuai.xi 
234*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_CHROMA_A      (REG_CHIPTOP_BASE + 0x3d*2)
235*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_A_GATED           BIT0
236*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_A_INVERT          BIT1
237*53ee8cc1Swenshuai.xi 
238*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_CHROMA_B      (REG_CHIPTOP_BASE + 0x3d*2)
239*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_B_GATED           BIT4
240*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_B_INVERT          BIT5
241*53ee8cc1Swenshuai.xi 
242*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_CHROMA_C      (REG_CHIPTOP_BASE + 0x3d*2 + 1)
243*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_C_GATED           BIT0
244*53ee8cc1Swenshuai.xi     #define CKG_MVD_CHROMA_C_INVERT          BIT1
245*53ee8cc1Swenshuai.xi 
246*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_LUMA_A      (REG_CHIPTOP_BASE + 0x3a*2 + 1)
247*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_A_GATED           BIT0
248*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_A_INVERT          BIT1
249*53ee8cc1Swenshuai.xi 
250*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_LUMA_B      (REG_CHIPTOP_BASE + 0x3b*2)
251*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_B_GATED           BIT0
252*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_B_INVERT          BIT1
253*53ee8cc1Swenshuai.xi 
254*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_LUMA_C      (REG_CHIPTOP_BASE + 0x3b*2 + 1)
255*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_C_GATED           BIT0
256*53ee8cc1Swenshuai.xi     #define CKG_MVD_LUMA_C_INVERT          BIT1
257*53ee8cc1Swenshuai.xi 
258*53ee8cc1Swenshuai.xi 
259*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_RMEM        (REG_CHIPTOP_BASE + 0x3c*2)
260*53ee8cc1Swenshuai.xi     #define CKG_MVD_RMEM_GATED           BIT0
261*53ee8cc1Swenshuai.xi     #define CKG_MVD_RMEM_INVERT          BIT1
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_RMEM1       (REG_CHIPTOP_BASE + 0x3c*2 + 1)
264*53ee8cc1Swenshuai.xi     #define CKG_MVD_RMEM1_GATED           BIT0
265*53ee8cc1Swenshuai.xi     #define CKG_MVD_RMEM1_INVERT          BIT1
266*53ee8cc1Swenshuai.xi 
267*53ee8cc1Swenshuai.xi #define REG_CKG_MVD_RREFDAT       (REG_CHIPTOP_BASE + 0x3e*2)
268*53ee8cc1Swenshuai.xi     #define CKG_MVD_RREFDAT_GATED           BIT0
269*53ee8cc1Swenshuai.xi     #define CKG_MVD_RREFDAT_INVERT          BIT1
270*53ee8cc1Swenshuai.xi 
271*53ee8cc1Swenshuai.xi #define REG_CKG_VD_AEON        (REG_CHIPTOP_BASE + 0x30*2)
272*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_GATED             BIT0
273*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_INVERT            BIT1
274*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_MASK            (BIT6 | BIT5 | BIT4 | BIT3 | BIT2)
275*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_160MHZ          (0 << 2)
276*53ee8cc1Swenshuai.xi                 //Notice: The clock 160M comes from UTMI.
277*53ee8cc1Swenshuai.xi                 //Please start UTMI's clock before you switch to 160M
278*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_144MHZ          (1 << 2)
279*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_123MHZ          (2 << 2)
280*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_108MHZ          (3 << 2)
281*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_96MHZ           (4 << 2)
282*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_72MHZ           (5 << 2)
283*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_DISABLE0        (6 << 2)    //disable
284*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_DISABLE1        (7 << 2)    //disable
285*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_CLK_MCU         (1 << 5)    //01xxx
286*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_CLK_MIU         (2 << 5)    //10xxx
287*53ee8cc1Swenshuai.xi     #define CKG_VD_AEON_XTAL            (3 << 5)    //11xxx
288*53ee8cc1Swenshuai.xi 
289*53ee8cc1Swenshuai.xi 
290*53ee8cc1Swenshuai.xi #define REG_CHIP_ID_MAJOR                       (CHIP_REG_BASE + 0xCC)
291*53ee8cc1Swenshuai.xi #define REG_CHIP_ID_MINOR                       (CHIP_REG_BASE + 0xCD)
292*53ee8cc1Swenshuai.xi #define REG_CHIP_VERSION                        (CHIP_REG_BASE + 0xCE)
293*53ee8cc1Swenshuai.xi #define REG_CHIP_REVISION                       (CHIP_REG_BASE + 0xCF)
294*53ee8cc1Swenshuai.xi 
295*53ee8cc1Swenshuai.xi #endif // _REG_MVD_H_
296*53ee8cc1Swenshuai.xi 
297