Home | History | Annotate | Line # | Download | only in imx
      1  1.2  hkenken /*	$NetBSD: imx51_ipuv3reg.h,v 1.2 2014/11/07 11:54:18 hkenken Exp $	*/
      2  1.1      bsh /*
      3  1.1      bsh  * Copyright (c) 2011, 2012  Genetec Corporation.  All rights reserved.
      4  1.1      bsh  * Written by Hashimoto Kenichi for Genetec Corporation.
      5  1.1      bsh  *
      6  1.1      bsh  * Redistribution and use in source and binary forms, with or without
      7  1.1      bsh  * modification, are permitted provided that the following conditions
      8  1.1      bsh  * are met:
      9  1.1      bsh  * 1. Redistributions of source code must retain the above copyright
     10  1.1      bsh  *    notice, this list of conditions and the following disclaimer.
     11  1.1      bsh  * 2. Redistributions in binary form must reproduce the above copyright
     12  1.1      bsh  *    notice, this list of conditions and the following disclaimer in the
     13  1.1      bsh  *    documentation and/or other materials provided with the distribution.
     14  1.1      bsh  *
     15  1.1      bsh  * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``AS IS'' AND
     16  1.1      bsh  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     17  1.1      bsh  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     18  1.1      bsh  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL GENETEC CORPORATION
     19  1.1      bsh  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     20  1.1      bsh  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     21  1.1      bsh  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     22  1.1      bsh  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     23  1.1      bsh  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     24  1.1      bsh  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     25  1.1      bsh  * POSSIBILITY OF SUCH DAMAGE.
     26  1.1      bsh  */
     27  1.1      bsh #ifndef _ARM_IMX_IMX51_IPUV3REG_H
     28  1.1      bsh #define _ARM_IMX_IMX51_IPUV3REG_H
     29  1.1      bsh 
     30  1.1      bsh /* register offset address */
     31  1.1      bsh 
     32  1.1      bsh /*
     33  1.1      bsh  * CM
     34  1.1      bsh  * Control Module
     35  1.1      bsh  */
     36  1.1      bsh #define IPU_CM_CONF			0x00000000
     37  1.1      bsh #define  CM_CONF_CSI_SEL		__BIT(31)
     38  1.1      bsh #define  CM_CONF_IC_INPUT		__BIT(30)
     39  1.1      bsh #define  CM_CONF_CSI1_DATA_SOURCE	__BIT(29)
     40  1.1      bsh #define  CM_CONF_CSI0_DATA_SOURCE	__BIT(28)
     41  1.1      bsh #define  CM_CONF_VDI_DMFC_SYNC		__BIT(27)
     42  1.1      bsh #define  CM_CONF_IC_DMFC_SYNC		__BIT(26)
     43  1.1      bsh #define  CM_CONF_IC_DMFC_SEL		__BIT(25)
     44  1.1      bsh #define  CM_CONF_ISP_DOUBLE_FLOW	__BIT(24)
     45  1.1      bsh #define  CM_CONF_IDMAC_DISABLE		__BIT(22)
     46  1.1      bsh #define  CM_CONF_IPU_DIAGBUS_ON		__BIT(21)
     47  1.1      bsh #define  CM_CONF_IPU_DIAGBUS_MODE	__BITS(20, 16)
     48  1.1      bsh #define  CM_CONF_VDI_EN			__BIT(12)
     49  1.1      bsh #define  CM_CONF_SISG_EN		__BIT(11)
     50  1.1      bsh #define  CM_CONF_DMFC_EN		__BIT(10)
     51  1.1      bsh #define  CM_CONF_DC_EN			__BIT(9)
     52  1.1      bsh #define  CM_CONF_SMFC_EN		__BIT(8)
     53  1.1      bsh #define  CM_CONF_DI1_EN			__BIT(7)
     54  1.1      bsh #define  CM_CONF_DI0_EN			__BIT(6)
     55  1.1      bsh #define  CM_CONF_DP_EN			__BIT(5)
     56  1.1      bsh #define  CM_CONF_ISP_EN			__BIT(4)
     57  1.1      bsh #define  CM_CONF_IRT_EN			__BIT(3)
     58  1.1      bsh #define  CM_CONF_IC_EN			__BIT(2)
     59  1.1      bsh #define  CM_CONF_CSI1_EN		__BIT(1)
     60  1.1      bsh #define  CM_CONF_CSI0_EN		__BIT(0)
     61  1.1      bsh #define IPU_SISG_CTRL0			0x00000004
     62  1.1      bsh #define IPU_SISG_CTRL1			0x00000008
     63  1.1      bsh #define IPU_CM_INT_CTRL_1		0x0000003c
     64  1.1      bsh #define IPU_CM_INT_CTRL_2		0x00000040
     65  1.1      bsh #define IPU_CM_INT_CTRL_3		0x00000044
     66  1.1      bsh #define IPU_CM_INT_CTRL_4		0x00000048
     67  1.1      bsh #define IPU_CM_INT_CTRL_5		0x0000004c
     68  1.1      bsh #define IPU_CM_INT_CTRL_6		0x00000050
     69  1.1      bsh #define IPU_CM_INT_CTRL_7		0x00000054
     70  1.1      bsh #define IPU_CM_INT_CTRL_8		0x00000058
     71  1.1      bsh #define IPU_CM_INT_CTRL_9		0x0000005c
     72  1.1      bsh #define IPU_CM_INT_CTRL_10		0x00000060
     73  1.1      bsh #define IPU_CM_INT_CTRL_11		0x00000064
     74  1.1      bsh #define IPU_CM_INT_CTRL_12		0x00000068
     75  1.1      bsh #define IPU_CM_INT_CTRL_13		0x0000006c
     76  1.1      bsh #define IPU_CM_INT_CTRL_14		0x00000070
     77  1.1      bsh #define IPU_CM_INT_CTRL_15		0x00000074
     78  1.1      bsh #define IPU_CM_SDMA_EVENT_1		0x00000078
     79  1.1      bsh #define IPU_CM_SDMA_EVENT_2		0x0000007c
     80  1.1      bsh #define IPU_CM_SDMA_EVENT_3		0x00000080
     81  1.1      bsh #define IPU_CM_SDMA_EVENT_4		0x00000084
     82  1.1      bsh #define IPU_CM_SDMA_EVENT_7		0x00000088
     83  1.1      bsh #define IPU_CM_SDMA_EVENT_8		0x0000008c
     84  1.1      bsh #define IPU_CM_SDMA_EVENT_11		0x00000090
     85  1.1      bsh #define IPU_CM_SDMA_EVENT_12		0x00000094
     86  1.1      bsh #define IPU_CM_SDMA_EVENT_13		0x00000098
     87  1.1      bsh #define IPU_CM_SDMA_EVENT_14		0x0000009c
     88  1.1      bsh #define IPU_CM_SRM_PRI1			0x000000a0
     89  1.1      bsh #define IPU_CM_SRM_PRI2			0x000000a4
     90  1.1      bsh #define IPU_CM_FS_PROC_FLOW1		0x000000a8
     91  1.1      bsh #define IPU_CM_FS_PROC_FLOW2		0x000000ac
     92  1.1      bsh #define IPU_CM_FS_PROC_FLOW3		0x000000b0
     93  1.1      bsh #define IPU_CM_FS_DISP_FLOW1		0x000000b4
     94  1.1      bsh #define IPU_CM_FS_DISP_FLOW2		0x000000b8
     95  1.1      bsh #define IPU_CM_SKIP			0x000000bc
     96  1.1      bsh #define IPU_CM_DISP_ALT_CONF		0x000000c0
     97  1.1      bsh #define IPU_CM_DISP_GEN			0x000000c4
     98  1.2  hkenken #define  CM_DISP_GEN_DI1_COUNTER_RELEASE	__BIT(25)
     99  1.1      bsh #define  CM_DISP_GEN_DI0_COUNTER_RELEASE	__BIT(24)
    100  1.2  hkenken #define  CM_DISP_GEN_MCU_CSI_VSYNC_DEST	__BIT(23)
    101  1.2  hkenken #define  CM_DISP_GEN_MCU_MAX_BURST_STOP	__BIT(22)
    102  1.2  hkenken #define  CM_DISP_GEN_MCU_T		__BITS(18, 21)
    103  1.1      bsh #define IPU_CM_DISP_ALT1		0x000000c8
    104  1.1      bsh #define IPU_CM_DISP_ALT2		0x000000cc
    105  1.1      bsh #define IPU_CM_DISP_ALT3		0x000000d0
    106  1.1      bsh #define IPU_CM_DISP_ALT4		0x000000d4
    107  1.1      bsh #define IPU_CM_SNOOP			0x000000d8
    108  1.1      bsh #define IPU_CM_MEM_RST			0x000000dc
    109  1.1      bsh #define  CM_MEM_START			__BIT(31)
    110  1.1      bsh #define  CM_MEM_EN			__BITS(22, 0)
    111  1.1      bsh #define IPU_CM_PM			0x000000e0
    112  1.1      bsh #define IPU_CM_GPR			0x000000e4
    113  1.1      bsh #define  CM_GPR_IPU_CH_BUF1_RDY1_CLR		__BIT(31)
    114  1.1      bsh #define  CM_GPR_IPU_CH_BUF1_RDY0_CLR		__BIT(30)
    115  1.1      bsh #define  CM_GPR_IPU_CH_BUF0_RDY1_CLR		__BIT(29)
    116  1.1      bsh #define  CM_GPR_IPU_CH_BUF0_RDY0_CLR		__BIT(28)
    117  1.1      bsh #define  CM_GPR_IPU_ALT_CH_BUF1_RDY1_CLR	__BIT(27)
    118  1.1      bsh #define  CM_GPR_IPU_ALT_CH_BUF1_RDY0_CLR	__BIT(26)
    119  1.1      bsh #define  CM_GPR_IPU_ALT_CH_BUF0_RDY1_CLR	__BIT(25)
    120  1.1      bsh #define  CM_GPR_IPU_ALT_CH_BUF0_RDY0_CLR	__BIT(24)
    121  1.1      bsh #define  CM_GPR_IPU_DI1_CLK_CHANGE_ACK_DIS	__BIT(23)
    122  1.1      bsh #define  CM_GPR_IPU_DI0_CLK_CHANGE_ACK_DIS	__BIT(22)
    123  1.1      bsh #define  CM_GPR_IPU_CH_BUF2_RDY1_CLR		__BIT(21)
    124  1.1      bsh #define  CM_GPR_IPU_CH_BUF2_RDY0_CLR		__BIT(20)
    125  1.1      bsh #define  CM_GPR_IPU_GP(n)			__BIT((n))
    126  1.1      bsh #define IPU_CM_CH_DB_MODE_SEL_0		0x00000150
    127  1.1      bsh #define IPU_CM_CH_DB_MODE_SEL_1		0x00000154
    128  1.1      bsh #define IPU_CM_ALT_CH_DB_MODE_SEL_0	0x00000168
    129  1.1      bsh #define IPU_CM_ALT_CH_DB_MODE_SEL_1	0x0000016c
    130  1.1      bsh #define IPU_CM_CH_TRB_MODE_SEL_0	0x00000178
    131  1.1      bsh #define IPU_CM_CH_TRB_MODE_SEL_1	0x0000017c
    132  1.1      bsh #define IPU_CM_INT_STAT_1		0x00000200
    133  1.1      bsh #define IPU_CM_INT_STAT_2		0x00000204
    134  1.1      bsh #define IPU_CM_INT_STAT_3		0x00000208
    135  1.1      bsh #define IPU_CM_INT_STAT_4		0x0000020c
    136  1.1      bsh #define IPU_CM_INT_STAT_5		0x00000210
    137  1.1      bsh #define IPU_CM_INT_STAT_6		0x00000214
    138  1.1      bsh #define IPU_CM_INT_STAT_7		0x00000218
    139  1.1      bsh #define IPU_CM_INT_STAT_8		0x0000021c
    140  1.1      bsh #define IPU_CM_INT_STAT_9		0x00000220
    141  1.1      bsh #define IPU_CM_INT_STAT_10		0x00000224
    142  1.1      bsh #define IPU_CM_INT_STAT_11		0x00000228
    143  1.1      bsh #define IPU_CM_INT_STAT_12		0x0000022c
    144  1.1      bsh #define IPU_CM_INT_STAT_13		0x00000230
    145  1.1      bsh #define IPU_CM_INT_STAT_14		0x00000234
    146  1.1      bsh #define IPU_CM_INT_STAT_15		0x00000238
    147  1.1      bsh #define IPU_CM_CUR_BUF_0		0x0000023c
    148  1.1      bsh #define IPU_CM_CUR_BUF_1		0x00000240
    149  1.1      bsh #define IPU_CM_ALT_CUR_BUF_0		0x00000244
    150  1.1      bsh #define IPU_CM_ALT_CUR_BUF_1		0x00000248
    151  1.1      bsh #define IPU_CM_SRM_STAT			0x0000024c
    152  1.1      bsh #define IPU_CM_PROC_TASKS_STAT		0x00000250
    153  1.1      bsh #define IPU_CM_DISP_TASKS_STAT		0x00000254
    154  1.1      bsh #define IPU_CM_TRIPLE_CUR_BUF_0		0x00000258
    155  1.1      bsh #define IPU_CM_TRIPLE_CUR_BUF_1		0x0000025c
    156  1.1      bsh #define IPU_CM_TRIPLE_CUR_BUF_2		0x00000260
    157  1.1      bsh #define IPU_CM_TRIPLE_CUR_BUF_3		0x00000264
    158  1.1      bsh #define IPU_CM_CH_BUF0_RDY0		0x00000268
    159  1.1      bsh #define IPU_CM_CH_BUF0_RDY1		0x0000026c
    160  1.1      bsh #define IPU_CM_CH_BUF1_RDY0		0x00000270
    161  1.1      bsh #define IPU_CM_CH_BUF1_RDY1		0x00000274
    162  1.1      bsh #define IPU_CM_ALT_CH_BUF0_RDY0		0x00000278
    163  1.1      bsh #define IPU_CM_ALT_CH_BUF0_RDY1		0x0000027c
    164  1.1      bsh #define IPU_CM_ALT_CH_BUF1_RDY0		0x00000280
    165  1.1      bsh #define IPU_CM_ALT_CH_BUF1_RDY1		0x00000284
    166  1.1      bsh #define IPU_CM_CH_BUF2_RDY0		0x00000288
    167  1.1      bsh #define IPU_CM_CH_BUF2_RDY1		0x0000028c
    168  1.1      bsh 
    169  1.1      bsh /*
    170  1.1      bsh  * IDMAC
    171  1.1      bsh  * Image DMA Controller
    172  1.1      bsh  */
    173  1.1      bsh #define IPU_IDMAC_CONF		0x00000000
    174  1.1      bsh #define IPU_IDMAC_CH_EN_1	0x00000004
    175  1.1      bsh #define IPU_IDMAC_CH_EN_2	0x00000008
    176  1.1      bsh #define IPU_IDMAC_SEP_ALPHA	0x0000000c
    177  1.1      bsh #define IPU_IDMAC_ALT_SEP_ALPHA	0x00000010
    178  1.1      bsh #define IPU_IDMAC_CH_PRI_1	0x00000014
    179  1.1      bsh #define IPU_IDMAC_CH_PRI_2	0x00000018
    180  1.1      bsh #define IPU_IDMAC_WM_EN_1	0x0000001c
    181  1.1      bsh #define IPU_IDMAC_WM_EN_2	0x00000020
    182  1.1      bsh #define IPU_IDMAC_LOCK_EN_1	0x00000024
    183  1.1      bsh #define IPU_IDMAC_LOCK_EN_2	0x00000028
    184  1.1      bsh #define IPU_IDMAC_SUB_ADDR_0	0x0000002c
    185  1.1      bsh #define IPU_IDMAC_SUB_ADDR_1	0x00000030
    186  1.1      bsh #define IPU_IDMAC_SUB_ADDR_2	0x00000034
    187  1.1      bsh #define IPU_IDMAC_SUB_ADDR_3	0x00000038
    188  1.1      bsh #define IPU_IDMAC_SUB_ADDR_4	0x0000003c
    189  1.1      bsh #define IPU_IDMAC_BNDM_EN_1	0x00000040
    190  1.1      bsh #define IPU_IDMAC_BNDM_EN_2	0x00000044
    191  1.1      bsh #define IPU_IDMAC_SC_CORD	0x00000048
    192  1.1      bsh #define IPU_IDMAC_SC_CORD1	0x0000004c
    193  1.1      bsh #define IPU_IDMAC_CH_BUSY_1	0x00000100
    194  1.1      bsh #define IPU_IDMAC_CH_BUSY_2	0x00000104
    195  1.1      bsh 
    196  1.1      bsh #define CH_PANNEL_BG	23
    197  1.1      bsh #define CH_PANNEL_FG	27
    198  1.1      bsh 
    199  1.1      bsh /*
    200  1.1      bsh  * DP
    201  1.1      bsh  * Display Port
    202  1.1      bsh  */
    203  1.1      bsh #define IPU_DP_DEBUG_CNT	0x000000bc
    204  1.1      bsh #define IPU_DP_DEBUG_STAT	0x000000c0
    205  1.1      bsh 
    206  1.1      bsh /*
    207  1.1      bsh  * IC
    208  1.1      bsh  * Image Converter
    209  1.1      bsh  */
    210  1.1      bsh #define IPU_IC_CONF		0x00000000
    211  1.1      bsh #define IPU_IC_PRP_ENC_RSC	0x00000004
    212  1.1      bsh #define IPU_IC_PRP_VF_RSC	0x00000008
    213  1.1      bsh #define IPU_IC_PP_RSC		0x0000000c
    214  1.1      bsh #define IPU_IC_CMBP_1		0x00000010
    215  1.1      bsh #define IPU_IC_CMBP_2		0x00000014
    216  1.1      bsh #define IPU_IC_IDMAC_1		0x00000018
    217  1.1      bsh #define IPU_IC_IDMAC_2		0x0000001c
    218  1.1      bsh #define IPU_IC_IDMAC_3		0x00000020
    219  1.1      bsh #define IPU_IC_IDMAC_4		0x00000024
    220  1.1      bsh 
    221  1.1      bsh /*
    222  1.1      bsh  * CSI
    223  1.1      bsh  * Camera Sensor Interface
    224  1.1      bsh  */
    225  1.1      bsh #define IPU_CSI0_SENS_CONF	0x00000000
    226  1.1      bsh #define IPU_CSI0_SENS_FRM_SIZE	0x00000004
    227  1.1      bsh #define IPU_CSI0_ACT_FRM_SIZE	0x00000008
    228  1.1      bsh #define IPU_CSI0_OUT_FRM_CTRL	0x0000000c
    229  1.1      bsh #define IPU_CSI0_TST_CTRL	0x00000010
    230  1.1      bsh #define IPU_CSI0_CCIR_CODE_1	0x00000014
    231  1.1      bsh #define IPU_CSI0_CCIR_CODE_2	0x00000018
    232  1.1      bsh #define IPU_CSI0_CCIR_CODE_3	0x0000001c
    233  1.1      bsh #define IPU_CSI0_DI		0x00000020
    234  1.1      bsh #define IPU_CSI0_SKIP		0x00000024
    235  1.1      bsh #define IPU_CSI0_CPD_CTRL	0x00000028
    236  1.1      bsh #define IPU_CSI0_CPD_OFFSET1	0x000000ec
    237  1.1      bsh #define IPU_CSI0_CPD_OFFSET2	0x000000f0
    238  1.1      bsh 
    239  1.1      bsh #define IPU_CSI1_SENS_CONF	0x00000000
    240  1.1      bsh #define IPU_CSI1_SENS_FRM_SIZE	0x00000004
    241  1.1      bsh #define IPU_CSI1_ACT_FRM_SIZE	0x00000008
    242  1.1      bsh #define IPU_CSI1_OUT_FRM_CTRL	0x0000000c
    243  1.1      bsh #define IPU_CSI1_TST_CTRL	0x00000010
    244  1.1      bsh #define IPU_CSI1_CCIR_CODE_1	0x00000014
    245  1.1      bsh #define IPU_CSI1_CCIR_CODE_2	0x00000018
    246  1.1      bsh #define IPU_CSI1_CCIR_CODE_3	0x0000001c
    247  1.1      bsh #define IPU_CSI1_DI		0x00000020
    248  1.1      bsh #define IPU_CSI1_SKIP		0x00000024
    249  1.1      bsh #define IPU_CSI1_CPD_CTRL	0x00000028
    250  1.1      bsh #define IPU_CSI1_CPD_OFFSET1	0x000000ec
    251  1.1      bsh #define IPU_CSI1_CPD_OFFSET2	0x000000f0
    252  1.1      bsh 
    253  1.1      bsh /*
    254  1.1      bsh  * DI
    255  1.1      bsh  * Display Interface
    256  1.1      bsh  */
    257  1.1      bsh #define IPU_DI_GENERAL			0x00000000
    258  1.1      bsh #define  DI_GENERAL_DISP_Y_SEL		__BITS(30, 28)
    259  1.1      bsh #define  DI_GENERAL_CLOCK_STOP_MODE	__BITS(27, 24)
    260  1.1      bsh #define  DI_GENERAL_DISP_CLOCK_INIT	__BIT(23)
    261  1.1      bsh #define  DI_GENERAL_MASK_SEL		__BIT(22)
    262  1.1      bsh #define  DI_GENERAL_VSYNC_EXT		__BIT(21)
    263  1.1      bsh #define  DI_GENERAL_CLK_EXT		__BIT(20)
    264  1.1      bsh #define  DI_GENERAL_WATCHDOG_MODE	__BITS(19, 18)
    265  1.1      bsh #define  DI_GENERAL_POLARITY_DISP_CLK	__BIT(17)
    266  1.1      bsh #define  DI_GENERAL_SYNC_COUNT_SEL	__BITS(15, 12)
    267  1.1      bsh #define  DI_GENERAL_ERR_TREATMENT	__BIT(11)
    268  1.1      bsh #define  DI_GENERAL_ERM_VSYNC_SEL	__BIT(10)
    269  1.1      bsh #define  DI_GENERAL_POLARITY_CS(n)	(1 << ((n) + 8))
    270  1.1      bsh #define  DI_GENERAL_POLARITY(n)		(1 << ((n) - 1))
    271  1.1      bsh 
    272  1.1      bsh #define IPU_DI_BS_CLKGEN0		0x00000004
    273  1.2  hkenken #define  DI_BS_CLKGEN0_OFFSET		__BITS(24, 16)
    274  1.2  hkenken #define  DI_BS_CLKGEN0_PERIOD		__BITS(11, 0)
    275  1.1      bsh #define IPU_DI_BS_CLKGEN1		0x00000008
    276  1.2  hkenken #define  DI_BS_CLKGEN1_DOWN		__BITS(24, 16)
    277  1.2  hkenken #define  DI_BS_CLKGEN1_UP		__BITS(8, 0)
    278  1.1      bsh #define IPU_DI_SW_GEN0(n)		(0x0000000c + ((n) - 1) * 4)
    279  1.1      bsh #define  DI_SW_GEN0_RUN_VAL		__BITS(30, 19)
    280  1.1      bsh #define  DI_SW_GEN0_RUN_RESOL		__BITS(18, 16)
    281  1.1      bsh #define  DI_SW_GEN0_OFFSET_VAL		__BITS(14,  3)
    282  1.1      bsh #define  DI_SW_GEN0_OFFSET_RESOL	__BITS( 2,  0)
    283  1.1      bsh #define  __DI_SW_GEN0(run_val, run_resol, offset_val, offset_resol)	\
    284  1.1      bsh 	(((run_val) << 19) | ((run_resol) << 16) | 			\
    285  1.1      bsh 	 ((offset_val) << 3) | (offset_resol))
    286  1.1      bsh #define IPU_DI_SW_GEN1(n)		(0x00000030 + ((n) - 1) * 4)
    287  1.1      bsh #define  DI_SW_GEN1_CNT_POL_GEN_EN	__BITS(30, 29)
    288  1.1      bsh #define  DI_SW_GEN1_CNT_AUTO_RELOAD	__BIT(28)
    289  1.1      bsh #define  DI_SW_GEN1_CNT_CLR_SEL		__BITS(27, 25)
    290  1.1      bsh #define  DI_SW_GEN1_CNT_DOWN		__BITS(24, 16)
    291  1.1      bsh #define  DI_SW_GEN1_CNT_POL_TRIG_SEL	__BITS(14, 12)
    292  1.1      bsh #define  DI_SW_GEN1_CNT_POL_CLR_SEL	__BITS(11,  9)
    293  1.1      bsh #define  DI_SW_GEN1_CNT_UP		__BITS( 8,  0)
    294  1.1      bsh #define  __DI_SW_GEN1(pol_gen_en, auto_reload, clr_sel, down, pol_trig_sel, pol_clr_sel, up) \
    295  1.1      bsh 	(((pol_gen_en) << 29) | ((auto_reload) << 28) | \
    296  1.1      bsh 	 ((clr_sel) << 25) |				\
    297  1.1      bsh 	    ((down) << 16) | ((pol_trig_sel) << 12) |	\
    298  1.1      bsh 	 ((pol_clr_sel) << 9) | (up))
    299  1.1      bsh #define IPU_DI_SYNC_AS_GEN		0x00000054
    300  1.1      bsh #define  DI_SYNC_AS_GEN_SYNC_START_EN	__BIT(28)
    301  1.1      bsh #define  DI_SYNC_AS_GEN_VSYNC_SEL	__BITS(15, 13)
    302  1.2  hkenken #define  DI_SYNC_AS_GEN_SYNC_START	__BITS(11,  0)
    303  1.1      bsh #define IPU_DI_DW_GEN(n)		(0x00000058 + (n) * 4)
    304  1.2  hkenken #define  DI_DW_GEN_ACCESS_SIZE		__BITS(31, 24)
    305  1.2  hkenken #define  DI_DW_GEN_COMPONNENT_SIZE	__BITS(23, 16)
    306  1.2  hkenken #define  DI_DW_GEN_PIN(n)		__BITS((((n) - 11) * 2) + 1, \
    307  1.2  hkenken 					       ((n) - 11) * 2)
    308  1.1      bsh #define IPU_DI_DW_SET(n, m)	(0x00000088 + (n) * 4 + (m) * 0x30)
    309  1.2  hkenken #define  DI_DW_SET_DOWN		__BITS(24, 16)
    310  1.2  hkenken #define  DI_DW_SET_UP		__BITS(8, 0)
    311  1.1      bsh #define IPU_DI_STP_REP(n)	(0x00000148 + ((n - 1) / 2) * 4)
    312  1.2  hkenken #define  DI_STP_REP(n)		(__BITS(11, 0) << (((n - 1) % 2) * 16))
    313  1.1      bsh #define IPU_DI_SER_CONF			0x0000015c
    314  1.1      bsh #define IPU_DI_SSC			0x00000160
    315  1.1      bsh #define IPU_DI_POL			0x00000164
    316  1.1      bsh #define  DI_POL_DRDY_POLARITY_17 	__BIT(6)
    317  1.1      bsh #define  DI_POL_DRDY_POLARITY_16 	__BIT(5)
    318  1.1      bsh #define  DI_POL_DRDY_POLARITY_15 	__BIT(4)
    319  1.1      bsh #define  DI_POL_DRDY_POLARITY_14 	__BIT(3)
    320  1.1      bsh #define  DI_POL_DRDY_POLARITY_13 	__BIT(2)
    321  1.1      bsh #define  DI_POL_DRDY_POLARITY_12 	__BIT(1)
    322  1.1      bsh #define  DI_POL_DRDY_POLARITY_11 	__BIT(0)
    323  1.1      bsh #define IPU_DI_AW0			0x00000168
    324  1.1      bsh #define IPU_DI_AW1			0x0000016c
    325  1.1      bsh #define IPU_DI_SCR_CONF			0x00000170
    326  1.1      bsh #define IPU_DI_STAT			0x00000174
    327  1.1      bsh 
    328  1.1      bsh /*
    329  1.1      bsh  * SMFC
    330  1.1      bsh  * Sensor Multi FIFO Controller
    331  1.1      bsh  */
    332  1.1      bsh #define IPU_SMFC_MAP	0x00000000
    333  1.1      bsh #define IPU_SMFC_WMC	0x00000004
    334  1.1      bsh #define IPU_SMFC_BS	0x00000008
    335  1.1      bsh 
    336  1.1      bsh /*
    337  1.1      bsh  * DC
    338  1.1      bsh  * Display Controller
    339  1.1      bsh  */
    340  1.1      bsh #define IPU_DC_READ_CH_CONF	0x00000000
    341  1.1      bsh #define IPU_DC_READ_CH_ADDR	0x00000004
    342  1.1      bsh 
    343  1.1      bsh #define IPU_DC_RL0_CH_0		0x00000008
    344  1.1      bsh #define IPU_DC_RL1_CH_0		0x0000000c
    345  1.1      bsh #define IPU_DC_RL2_CH_0		0x00000010
    346  1.1      bsh #define IPU_DC_RL3_CH_0		0x00000014
    347  1.1      bsh #define IPU_DC_RL4_CH_0		0x00000018
    348  1.1      bsh #define IPU_DC_WR_CH_CONF_1	0x0000001c
    349  1.1      bsh #define IPU_DC_WR_CH_ADDR_1	0x00000020
    350  1.1      bsh #define IPU_DC_RL0_CH_1		0x00000024
    351  1.1      bsh #define IPU_DC_RL1_CH_1		0x00000028
    352  1.1      bsh #define IPU_DC_RL2_CH_1		0x0000002c
    353  1.1      bsh #define IPU_DC_RL3_CH_1		0x00000030
    354  1.1      bsh #define IPU_DC_RL4_CH_1		0x00000034
    355  1.1      bsh #define IPU_DC_WR_CH_CONF_2	0x00000038
    356  1.1      bsh #define IPU_DC_WR_CH_ADDR_2	0x0000003c
    357  1.1      bsh #define IPU_DC_RL0_CH_2		0x00000040
    358  1.1      bsh #define IPU_DC_RL1_CH_2		0x00000044
    359  1.1      bsh #define IPU_DC_RL2_CH_2		0x00000048
    360  1.1      bsh #define IPU_DC_RL3_CH_2		0x0000004c
    361  1.1      bsh #define IPU_DC_RL4_CH_2		0x00000050
    362  1.1      bsh #define IPU_DC_CMD_CH_CONF_3	0x00000054
    363  1.1      bsh #define IPU_DC_CMD_CH_CONF_4	0x00000058
    364  1.1      bsh #define IPU_DC_WR_CH_CONF_5	0x0000005c
    365  1.1      bsh #define IPU_DC_WR_CH_ADDR_5	0x00000060
    366  1.1      bsh #define IPU_DC_RL0_CH_5		0x00000064
    367  1.1      bsh #define IPU_DC_RL1_CH_5		0x00000068
    368  1.1      bsh #define IPU_DC_RL2_CH_5		0x0000006c
    369  1.1      bsh #define IPU_DC_RL3_CH_5		0x00000070
    370  1.1      bsh #define IPU_DC_RL4_CH_5		0x00000074
    371  1.1      bsh #define IPU_DC_WR_CH_CONF_6	0x00000078
    372  1.1      bsh #define IPU_DC_WR_CH_ADDR_6	0x0000007c
    373  1.1      bsh #define IPU_DC_RL0_CH_6		0x00000080
    374  1.1      bsh #define IPU_DC_RL1_CH_6		0x00000084
    375  1.1      bsh #define IPU_DC_RL2_CH_6		0x00000088
    376  1.1      bsh #define IPU_DC_RL3_CH_6		0x0000008c
    377  1.1      bsh #define IPU_DC_RL4_CH_6		0x00000090
    378  1.1      bsh #define IPU_DC_WR_CH_CONF1_8	0x00000094
    379  1.1      bsh #define IPU_DC_WR_CH_CONF2_8	0x00000098
    380  1.1      bsh #define IPU_DC_RL1_CH_8		0x0000009c
    381  1.1      bsh #define IPU_DC_RL2_CH_8		0x000000a0
    382  1.1      bsh #define IPU_DC_RL3_CH_8		0x000000a4
    383  1.1      bsh #define IPU_DC_RL4_CH_8		0x000000a8
    384  1.1      bsh #define IPU_DC_RL5_CH_8		0x000000ac
    385  1.1      bsh #define IPU_DC_RL6_CH_8		0x000000b0
    386  1.1      bsh #define IPU_DC_WR_CH_CONF1_9	0x000000b4
    387  1.1      bsh #define IPU_DC_WR_CH_CONF2_9	0x000000b8
    388  1.1      bsh #define IPU_DC_RL1_CH_9		0x000000bc
    389  1.1      bsh #define IPU_DC_RL2_CH_9		0x000000c0
    390  1.1      bsh #define IPU_DC_RL3_CH_9		0x000000c4
    391  1.1      bsh #define IPU_DC_RL4_CH_9		0x000000c8
    392  1.1      bsh #define IPU_DC_RL5_CH_9		0x000000cc
    393  1.1      bsh #define IPU_DC_RL6_CH_9		0x000000d0
    394  1.1      bsh 
    395  1.1      bsh #define IPU_DC_RL(chan_base, evt)	((chan_base) + (evt / 2) *0x4)
    396  1.1      bsh #define  DC_RL_CH_0		IPU_DC_RL0_CH_0
    397  1.1      bsh #define  DC_RL_CH_1		IPU_DC_RL0_CH_1
    398  1.1      bsh #define  DC_RL_CH_2		IPU_DC_RL0_CH_2
    399  1.1      bsh #define  DC_RL_CH_5		IPU_DC_RL0_CH_5
    400  1.1      bsh #define  DC_RL_CH_6		IPU_DC_RL0_CH_6
    401  1.1      bsh #define  DC_RL_CH_8		IPU_DC_RL0_CH_8
    402  1.1      bsh 
    403  1.1      bsh #define  DC_RL_EVT_NF		0
    404  1.1      bsh #define  DC_RL_EVT_NL		1
    405  1.1      bsh #define  DC_RL_EVT_EOF		2
    406  1.1      bsh #define  DC_RL_EVT_NFIELD	3
    407  1.1      bsh #define  DC_RL_EVT_EOL		4
    408  1.1      bsh #define  DC_RL_EVT_EOFIELD	5
    409  1.1      bsh #define  DC_RL_EVT_NEW_ADDR	6
    410  1.1      bsh #define  DC_RL_EVT_NEW_CHAN	7
    411  1.1      bsh #define  DC_RL_EVT_NEW_DATA	8
    412  1.1      bsh 
    413  1.1      bsh #define IPU_DC_GEN		0x000000d4
    414  1.1      bsh #define IPU_DC_DISP_CONF1_0	0x000000d8
    415  1.1      bsh #define IPU_DC_DISP_CONF1_1	0x000000dc
    416  1.1      bsh #define IPU_DC_DISP_CONF1_2	0x000000e0
    417  1.1      bsh #define IPU_DC_DISP_CONF1_3	0x000000e4
    418  1.1      bsh #define IPU_DC_DISP_CONF2_0	0x000000e8
    419  1.1      bsh #define IPU_DC_DISP_CONF2_1	0x000000ec
    420  1.1      bsh #define IPU_DC_DISP_CONF2_2	0x000000f0
    421  1.1      bsh #define IPU_DC_DISP_CONF2_3	0x000000f4
    422  1.1      bsh #define IPU_DC_DI0_CONF_1	0x000000f8
    423  1.1      bsh #define IPU_DC_DI0_CONF_2	0x000000fc
    424  1.1      bsh #define IPU_DC_DI1_CONF_1	0x00000100
    425  1.1      bsh #define IPU_DC_DI1_CONF_2	0x00000104
    426  1.1      bsh 
    427  1.1      bsh #define IPU_DC_MAP_CONF_PNTR(n)	(0x00000108 + (n) * 4)
    428  1.1      bsh #define IPU_DC_MAP_CONF_0	0x00000108
    429  1.1      bsh #define IPU_DC_MAP_CONF_1	0x0000010c
    430  1.1      bsh #define IPU_DC_MAP_CONF_2	0x00000110
    431  1.1      bsh #define IPU_DC_MAP_CONF_3	0x00000114
    432  1.1      bsh #define IPU_DC_MAP_CONF_4	0x00000118
    433  1.1      bsh #define IPU_DC_MAP_CONF_5	0x0000011c
    434  1.1      bsh #define IPU_DC_MAP_CONF_6	0x00000120
    435  1.1      bsh #define IPU_DC_MAP_CONF_7	0x00000124
    436  1.1      bsh #define IPU_DC_MAP_CONF_8	0x00000128
    437  1.1      bsh #define IPU_DC_MAP_CONF_9	0x0000012c
    438  1.1      bsh #define IPU_DC_MAP_CONF_10	0x00000130
    439  1.1      bsh #define IPU_DC_MAP_CONF_11	0x00000134
    440  1.1      bsh #define IPU_DC_MAP_CONF_12	0x00000138
    441  1.1      bsh #define IPU_DC_MAP_CONF_13	0x0000013c
    442  1.1      bsh #define IPU_DC_MAP_CONF_14	0x00000140
    443  1.1      bsh 
    444  1.1      bsh #define IPU_DC_MAP_CONF_MASK(n)	(0x00000144 + (n) * 4)
    445  1.1      bsh #define IPU_DC_MAP_CONF_15	0x00000144
    446  1.1      bsh #define IPU_DC_MAP_CONF_16	0x00000148
    447  1.1      bsh #define IPU_DC_MAP_CONF_17	0x0000014c
    448  1.1      bsh #define IPU_DC_MAP_CONF_18	0x00000150
    449  1.1      bsh #define IPU_DC_MAP_CONF_19	0x00000154
    450  1.1      bsh #define IPU_DC_MAP_CONF_20	0x00000158
    451  1.1      bsh #define IPU_DC_MAP_CONF_21	0x0000015c
    452  1.1      bsh #define IPU_DC_MAP_CONF_22	0x00000160
    453  1.1      bsh #define IPU_DC_MAP_CONF_23	0x00000164
    454  1.1      bsh #define IPU_DC_MAP_CONF_24	0x00000168
    455  1.1      bsh #define IPU_DC_MAP_CONF_25	0x0000016c
    456  1.1      bsh #define IPU_DC_MAP_CONF_26	0x00000170
    457  1.1      bsh 
    458  1.1      bsh #define IPU_DC_UGDE(m, n)	(0x00000174 + (m) * 0x10 + (n) +4)
    459  1.1      bsh #define IPU_DC_UGDE0_0		0x00000174
    460  1.1      bsh #define IPU_DC_UGDE0_1		0x00000178
    461  1.1      bsh #define IPU_DC_UGDE0_2		0x0000017c
    462  1.1      bsh #define IPU_DC_UGDE0_3		0x00000180
    463  1.1      bsh #define IPU_DC_UGDE1_0		0x00000184
    464  1.1      bsh #define IPU_DC_UGDE1_1		0x00000188
    465  1.1      bsh #define IPU_DC_UGDE1_2		0x0000018c
    466  1.1      bsh #define IPU_DC_UGDE1_3		0x00000190
    467  1.1      bsh #define IPU_DC_UGDE2_0		0x00000194
    468  1.1      bsh #define IPU_DC_UGDE2_1		0x00000198
    469  1.1      bsh #define IPU_DC_UGDE2_2		0x0000019c
    470  1.1      bsh #define IPU_DC_UGDE2_3		0x000001a0
    471  1.1      bsh #define IPU_DC_UGDE3_0		0x000001a4
    472  1.1      bsh #define IPU_DC_UGDE3_1		0x000001a8
    473  1.1      bsh #define IPU_DC_UGDE3_2		0x000001ac
    474  1.1      bsh #define IPU_DC_UGDE3_3		0x000001b0
    475  1.1      bsh #define IPU_DC_LLA0		0x000001b4
    476  1.1      bsh #define IPU_DC_LLA1		0x000001b8
    477  1.1      bsh #define IPU_DC_R_LLA0		0x000001bc
    478  1.1      bsh #define IPU_DC_R_LLA1		0x000001c0
    479  1.1      bsh #define IPU_DC_WR_CH_ADDR_5_ALT	0x000001c4
    480  1.1      bsh #define IPU_DC_STAT		0x000001c8
    481  1.1      bsh 
    482  1.1      bsh /*
    483  1.1      bsh  * DMFC
    484  1.1      bsh  * Display Multi FIFO Controller
    485  1.1      bsh  */
    486  1.1      bsh #define IPU_DMFC_RD_CHAN		0x00000000
    487  1.1      bsh #define  DMFC_RD_CHAN_PPW_C		__BITS(25,24)
    488  1.1      bsh #define  DMFC_RD_CHAN_WM_DR_0		__BITS(23,21)
    489  1.1      bsh #define  DMFC_RD_CHAN_WM_SET_0		__BITS(20,18)
    490  1.1      bsh #define  DMFC_RD_CHAN_WM_EN_0		__BIT(17)
    491  1.1      bsh #define  DMFC_RD_CHAN_BURST_SIZE_0	__BITS( 7, 6)
    492  1.1      bsh #define IPU_DMFC_WR_CHAN		0x00000004
    493  1.1      bsh #define  DMFC_WR_CHAN_BUSRT_SIZE_2C	__BITS(31,30)
    494  1.1      bsh #define  DMFC_WR_CHAN_FIFO_SIZE_2C	__BITS(29,27)
    495  1.1      bsh #define  DMFC_WR_CHAN_ST_ADDR_2C	__BITS(26,24)
    496  1.1      bsh #define  DMFC_WR_CHAN_BURST_SIZE_1C	__BITS(23,22)
    497  1.1      bsh #define  DMFC_WR_CHAN_FIFO_SIZE_1C	__BITS(21,19)
    498  1.1      bsh #define  DMFC_WR_CHAN_ST_ADDR_1C	__BITS(18,16)
    499  1.1      bsh #define  DMFC_WR_CHAN_BURST_SIZE_2	__BITS(15,14)
    500  1.1      bsh #define  DMFC_WR_CHAN_FIFO_SIZE_2	__BITS(13,11)
    501  1.1      bsh #define  DMFC_WR_CHAN_ST_ADDR_2		__BITS(10, 8)
    502  1.1      bsh #define  DMFC_WR_CHAN_BURST_SIZE_1	__BITS( 7, 6)
    503  1.1      bsh #define  DMFC_WR_CHAN_FIFO_SIZE_1	__BITS( 5, 3)
    504  1.1      bsh #define  DMFC_WR_CHAN_ST_ADDR_1		__BITS( 2, 0)
    505  1.1      bsh #define IPU_DMFC_WR_CHAN_DEF		0x00000008
    506  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_CLR_2C	__BITS(31,29)
    507  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_SET_2C	__BITS(28,26)
    508  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_EN_2C	__BIT(25)
    509  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_CLR_1C	__BITS(23,21)
    510  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_SET_1C	__BITS(20,18)
    511  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_EN_1C	__BIT(17)
    512  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_CLR_2	__BITS(15,13)
    513  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_SET_2	__BITS(12,10)
    514  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_EN_2	__BIT(9)
    515  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_CLR_1	__BITS( 7, 5)
    516  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_SET_1	__BITS( 3, 2)
    517  1.1      bsh #define  DMFC_WR_CHAN_DEF_WM_EN_1	__BIT(1)
    518  1.1      bsh #define IPU_DMFC_DP_CHAN		0x0000000c
    519  1.1      bsh #define  DMFC_DP_CHAN_BUSRT_SIZE_6F	__BITS(31,30)
    520  1.1      bsh #define  DMFC_DP_CHAN_FIFO_SIZE_6F	__BITS(29,27)
    521  1.1      bsh #define  DMFC_DP_CHAN_ST_ADDR_6F	__BITS(26,24)
    522  1.1      bsh #define  DMFC_DP_CHAN_BURST_SIZE_6B	__BITS(23,22)
    523  1.1      bsh #define  DMFC_DP_CHAN_FIFO_SIZE_6B	__BITS(21,19)
    524  1.1      bsh #define  DMFC_DP_CHAN_ST_ADDR_6B	__BITS(18,16)
    525  1.1      bsh #define  DMFC_DP_CHAN_BURST_SIZE_5F	__BITS(15,14)
    526  1.1      bsh #define  DMFC_DP_CHAN_FIFO_SIZE_5F	__BITS(13,11)
    527  1.1      bsh #define  DMFC_DP_CHAN_ST_ADDR_5F	__BITS(10, 8)
    528  1.1      bsh #define  DMFC_DP_CHAN_BURST_SIZE_5B	__BITS( 7, 6)
    529  1.1      bsh #define  DMFC_DP_CHAN_FIFO_SIZE_5B	__BITS( 5, 3)
    530  1.1      bsh #define  DMFC_DP_CHAN_ST_ADDR_5B	__BITS( 2, 0)
    531  1.1      bsh #define IPU_DMFC_DP_CHAN_DEF		0x00000010
    532  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_CLR_6F	__BITS(31,29)
    533  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_SET_6F	__BITS(28,26)
    534  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_EN_6F	__BIT(25)
    535  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_CLR_6B	__BITS(23,21)
    536  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_SET_6B	__BITS(20,18)
    537  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_EN_6B	__BIT(17)
    538  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_CLR_5F	__BITS(15,13)
    539  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_SET_5F	__BITS(12,10)
    540  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_EN_5F	__BIT(9)
    541  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_CLR_5B	__BITS( 7, 5)
    542  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_SET_5B	__BITS( 4, 2)
    543  1.1      bsh #define  DMFC_DP_CHAN_DEF_WM_EN_5B	__BIT(1)
    544  1.1      bsh #define IPU_DMFC_GENERAL1		0x00000014
    545  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_9	__BIT(24)
    546  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_6F	__BIT(23)
    547  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_6B	__BIT(22)
    548  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_5F	__BIT(21)
    549  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_5B	__BIT(20)
    550  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_4	__BIT(19)
    551  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_3	__BIT(18)
    552  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_2	__BIT(17)
    553  1.1      bsh #define  DMFC_GENERAL1_WAIT4EOT_1	__BIT(16)
    554  1.1      bsh #define  DMFC_GENERAL1_WM_CLR_9		__BITS(15,13)
    555  1.1      bsh #define  DMFC_GENERAL1_WM_SET_9		__BITS(12,10)
    556  1.1      bsh #define  DMFC_GENERAL1_BURST_SIZE_9	__BITS( 6, 5)
    557  1.1      bsh #define  DMFC_GENERAL1_DCDP_SYNC_PR	__BITS( 1, 0)
    558  1.1      bsh #define   DCDP_SYNC_PR_FORBIDDEN	0
    559  1.1      bsh #define   DCDP_SYNC_PR_DC_DP		1
    560  1.1      bsh #define   DCDP_SYNC_PR_DP_DC		2
    561  1.1      bsh #define   DCDP_SYNC_PR_ROUNDROBIN	3
    562  1.1      bsh #define IPU_DMFC_GENERAL2		0x00000018
    563  1.1      bsh #define  DMFC_GENERAL2_FRAME_HEIGHT_RD	__BITS(28,16)
    564  1.1      bsh #define  DMFC_GENERAL2_FRAME_WIDTH_RD	__BITS(12, 0)
    565  1.1      bsh #define IPU_DMFC_IC_CTRL		0x0000001c
    566  1.1      bsh #define  DMFC_IC_CTRL_IC_FRAME_HEIGHT_RD	__BITS(31,19)
    567  1.1      bsh #define  DMFC_IC_CTRL_IC_FRAME_WIDTH_RD		__BITS(18, 6)
    568  1.1      bsh #define  DMFC_IC_CTRL_IC_PPW_C			__BITS( 5, 4)
    569  1.1      bsh #define  DMFC_IC_CTRL_IC_IN_PORT		__BITS( 2, 0)
    570  1.1      bsh #define   IC_IN_PORT_CH28		0
    571  1.1      bsh #define   IC_IN_PORT_CH41		1
    572  1.1      bsh #define   IC_IN_PORT_DISABLE		2
    573  1.1      bsh #define   IC_IN_PORT_CH23		4
    574  1.1      bsh #define   IC_IN_PORT_CH27		5
    575  1.1      bsh #define   IC_IN_PORT_CH24		6
    576  1.1      bsh #define   IC_IN_PORT_CH29		7
    577  1.1      bsh #define IPU_DMFC_WR_CHAN_ALT		0x00000020
    578  1.1      bsh #define IPU_DMFC_WR_CHAN_DEF_ALT	0x00000024
    579  1.1      bsh #define IPU_DMFC_DP_CHAN_ALT		0x00000028
    580  1.1      bsh #define IPU_DMFC_DP_CHAN_DEF_ALT	0x0000002c
    581  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_CLR_6F_ALT	__BITS(31,29)
    582  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_SET_6F_ALT	__BITS(28,26)
    583  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_EN_6F_ALT	__BIT(25)
    584  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_CLR_6B_ALT	__BITS(23,21)
    585  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_SET_6B_ALT	__BITS(20,18)
    586  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_EN_6B_ALT	__BIT(17)
    587  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_CLR_5B_ALT	__BITS( 7, 5)
    588  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_SET_5B_ALT	__BITS( 4, 2)
    589  1.1      bsh #define  DMFC_DP_CHAN_DEF_ALT_WM_EN_5B_ALT	__BIT(1)
    590  1.1      bsh #define IPU_DMFC_GENERAL1_ALT		0x00000030
    591  1.1      bsh #define  DMFC_GENERAL1_ALT_WAIT4EOT_6F_ALT	__BIT(23)
    592  1.1      bsh #define  DMFC_GENERAL1_ALT_WAIT4EOT_6B_ALT	__BIT(22)
    593  1.1      bsh #define  DMFC_GENERAL1_ALT_WAIT4EOT_5B_ALT	__BIT(20)
    594  1.1      bsh #define  DMFC_GENERAL1_ALT_WAIT4EOT_2_ALT	__BIT(17)
    595  1.1      bsh #define IPU_DMFC_STAT			0x00000034
    596  1.1      bsh #define  DMFC_STAT_IC_BUFFER_EMPTY	__BIT(25)
    597  1.1      bsh #define  DMFC_STAT_IC_BUFFER_FULL	__BIT(24)
    598  1.1      bsh #define  DMFC_STAT_FIFO_EMPTY(n)	__BIT(12 + (n))
    599  1.1      bsh #define  DMFC_STAT_FIFO_FULL(n)		__BIT((n))
    600  1.1      bsh 
    601  1.1      bsh /*
    602  1.1      bsh  * VCI
    603  1.1      bsh  * Video De Interkacing Module
    604  1.1      bsh  */
    605  1.1      bsh #define IPU_VDI_FSIZE	0x00000000
    606  1.1      bsh #define IPU_VDI_C	0x00000004
    607  1.1      bsh 
    608  1.1      bsh /*
    609  1.1      bsh  * DP
    610  1.1      bsh  * Display Processor
    611  1.1      bsh  */
    612  1.1      bsh #define IPU_DP_COM_CONF_SYNC		0x00000000
    613  1.1      bsh #define  DP_FG_EN_SYNC			__BIT(0)
    614  1.1      bsh #define  DP_DP_GWAM_SYNC		__BIT(2)
    615  1.1      bsh #define IPU_DP_GRAPH_WIND_CTRL_SYNC	0x00000004
    616  1.1      bsh #define IPU_DP_FG_POS_SYNC		0x00000008
    617  1.1      bsh #define IPU_DP_CUR_POS_SYNC		0x0000000c
    618  1.1      bsh #define IPU_DP_CUR_MAP_SYNC		0x00000010
    619  1.1      bsh #define IPU_DP_CSC_SYNC_0		0x00000054
    620  1.1      bsh #define IPU_DP_CSC_SYNC_1		0x00000058
    621  1.1      bsh #define IPU_DP_CUR_POS_ALT		0x0000005c
    622  1.1      bsh #define IPU_DP_COM_CONF_ASYNC0		0x00000060
    623  1.1      bsh #define IPU_DP_GRAPH_WIND_CTRL_ASYNC0	0x00000064
    624  1.1      bsh #define IPU_DP_FG_POS_ASYNC0		0x00000068
    625  1.1      bsh #define IPU_DP_CUR_POS_ASYNC0		0x0000006c
    626  1.1      bsh #define IPU_DP_CUR_MAP_ASYNC0		0x00000070
    627  1.1      bsh #define IPU_DP_CSC_ASYNC0_0		0x000000b4
    628  1.1      bsh #define IPU_DP_CSC_ASYNC0_1		0x000000b8
    629  1.1      bsh #define IPU_DP_COM_CONF_ASYNC1		0x000000bc
    630  1.1      bsh #define IPU_DP_GRAPH_WIND_CTRL_ASYNC1	0x000000c0
    631  1.1      bsh #define IPU_DP_FG_POS_ASYNC1		0x000000c4
    632  1.1      bsh #define IPU_DP_CUR_POS_ASYNC1		0x000000c8
    633  1.1      bsh #define IPU_DP_CUR_MAP_ASYNC1		0x000000cc
    634  1.1      bsh #define IPU_DP_CSC_ASYNC1_0		0x00000110
    635  1.1      bsh #define IPU_DP_CSC_ASYNC1_1		0x00000114
    636  1.1      bsh 
    637  1.1      bsh /* IDMA parameter */
    638  1.1      bsh 	/*
    639  1.1      bsh 	 * non-Interleaved parameter
    640  1.1      bsh 	 *
    641  1.1      bsh 	 * param 0: XV W0[ 9: 0]
    642  1.1      bsh 	 *          YV W0[18:10]
    643  1.1      bsh 	 *          XB W0[31:19]
    644  1.1      bsh 	 * param 1: YB W0[43:32]
    645  1.1      bsh 	 *          NSB W0[44]
    646  1.1      bsh 	 *          CF W0[45]
    647  1.1      bsh 	 *          UBO W0[61:46]
    648  1.1      bsh 	 * param 2: UBO W0[67:62]
    649  1.1      bsh 	 *          VBO W0[89:68]
    650  1.1      bsh 	 *          IOX W0[93:90]
    651  1.1      bsh 	 *          RDRW W0[94]
    652  1.1      bsh 	 *          Reserved W0[95]
    653  1.1      bsh 	 * param 3: Reserved W0[112:96]
    654  1.1      bsh 	 *          S0 W0[113]
    655  1.1      bsh 	 *          BNDM W0[116:114]
    656  1.1      bsh 	 *          BM W0[118:117]
    657  1.1      bsh 	 *          ROT W0[119]
    658  1.1      bsh 	 *          HF W0[120]
    659  1.1      bsh 	 *          VF W0[121]
    660  1.1      bsh 	 *          THF W0[122]
    661  1.1      bsh 	 *          CAP W0[123]
    662  1.1      bsh 	 *          CAE W0[124]
    663  1.1      bsh 	 *          FW W0[127:125]
    664  1.1      bsh 	 * param 4: FW W0[137:128]
    665  1.1      bsh 	 *          FH W0[149:138]
    666  1.1      bsh 	 * param 5: EBA0 W1[28:0]
    667  1.1      bsh 	 *          EBA1 W1[31:29]
    668  1.1      bsh 	 * param 6: EBA1 W1[57:32]
    669  1.1      bsh 	 *          ILO W1[63:58]
    670  1.1      bsh 	 * param 7: ILO W1[77:64]
    671  1.1      bsh 	 *          NPB W1[84:78]
    672  1.1      bsh 	 *          PFS W1[88:85]
    673  1.1      bsh 	 *          ALU W1[89]
    674  1.1      bsh 	 *          ALBM W1[92:90]
    675  1.1      bsh 	 *          ID W1[94:93]
    676  1.1      bsh 	 *          TH W1[95]
    677  1.1      bsh 	 * param 8: TH W1[101:96]
    678  1.1      bsh 	 *          SLY W1[115:102]
    679  1.1      bsh 	 *          WID3 W1[127:125]
    680  1.1      bsh 	 * param 9: SLUV W1[141:128]
    681  1.1      bsh 	 *          CRE W1[149]
    682  1.1      bsh 	 *
    683  1.1      bsh 	 * Interleaved parameter
    684  1.1      bsh 	 *
    685  1.1      bsh 	 * param 0: XV W0[ 9: 0]
    686  1.1      bsh 	 *          YV W0[18:10]
    687  1.1      bsh 	 *          XB W0[31:19]
    688  1.1      bsh 	 * param 1: YB W0[43:32]
    689  1.1      bsh 	 *          NSB W0[44]
    690  1.1      bsh 	 *          CF W0[45]
    691  1.1      bsh 	 *          SX W0[57:46]
    692  1.1      bsh 	 *          SY W0[61:58]
    693  1.1      bsh 	 * param 2: SY W0[68:62]
    694  1.1      bsh 	 *          NS W0[78:69]
    695  1.1      bsh 	 *          SDX W0[85:79]
    696  1.1      bsh 	 *          SM W0[95:86]
    697  1.1      bsh 	 * param 3: SCC W0[96]
    698  1.1      bsh 	 *          SCE W0[97]
    699  1.1      bsh 	 *          SDY W0[104:98]
    700  1.1      bsh 	 *          SDRX W0[105]
    701  1.1      bsh 	 *          SDRY W0[106]
    702  1.1      bsh 	 *          BPP W0[109:107]
    703  1.1      bsh 	 *	    DEC_SEL W0[111:110]
    704  1.1      bsh 	 *          DIM W0[112]
    705  1.1      bsh 	 *          SO W0[113]
    706  1.1      bsh 	 *          BNDM W0[116:114]
    707  1.1      bsh 	 *          BM W0[118:117]
    708  1.1      bsh 	 *          ROT W0[119]
    709  1.1      bsh 	 *          HF W0[120]
    710  1.1      bsh 	 *          VF W0[121]
    711  1.1      bsh 	 *          THF W0[122]
    712  1.1      bsh 	 *          CAP W0[123]
    713  1.1      bsh 	 *          CAE W0[124]
    714  1.1      bsh 	 *          FW W0[127:125]
    715  1.1      bsh 	 * param 4: FW W0[137:128]
    716  1.1      bsh 	 *          FH W0[149:138]
    717  1.1      bsh 	 * param 5: EBA0 W1[28:0]
    718  1.1      bsh 	 *          EBA1 W1[31:29]
    719  1.1      bsh 	 * param 6: EBA1 W1[57:32]
    720  1.1      bsh 	 *          ILO W1[63:58]
    721  1.1      bsh 	 * param 7: ILO W1[77:64]
    722  1.1      bsh 	 *          NPB W1[84:78]
    723  1.1      bsh 	 *          PFS W1[88:85]
    724  1.1      bsh 	 *          ALU W1[89]
    725  1.1      bsh 	 *          ALBM W1[92:90]
    726  1.1      bsh 	 *          ID W1[94:93]
    727  1.1      bsh 	 *          TH W1[95]
    728  1.1      bsh 	 * param 8: TH W1[101:96]
    729  1.1      bsh 	 *          SL W1[115:102]
    730  1.1      bsh 	 *          WID0 W1[118:116]
    731  1.1      bsh 	 *          WID1 W1[121:119]
    732  1.1      bsh 	 *          WID2 W1[124:122]
    733  1.1      bsh 	 *          WID3 W1[127:125]
    734  1.1      bsh 	 * param 9: OFS0 W1[132:128]
    735  1.1      bsh 	 *          OFS1 W1[137:133]
    736  1.1      bsh 	 *          OFS2 W1[142:138]
    737  1.1      bsh 	 *          OFS3 W1[147:143]
    738  1.1      bsh 	 *          SXYS W1[148]
    739  1.1      bsh 	 *          CRE W1[149]
    740  1.1      bsh 	 *          DEC_SEL2 W1[150]
    741  1.1      bsh 	 */
    742  1.1      bsh 
    743  1.1      bsh #define __IDMA_PARAM(word, shift, size) \
    744  1.1      bsh 	((((word) & 0xff) << 16) | (((shift) & 0xff) << 8) | ((size) & 0xff))
    745  1.1      bsh 
    746  1.1      bsh /* non-Interleaved parameter */
    747  1.1      bsh /* W0 */
    748  1.1      bsh #define IDMAC_Ch_PARAM_XV	__IDMA_PARAM(0,  0, 10)
    749  1.1      bsh #define IDMAC_Ch_PARAM_YV	__IDMA_PARAM(0, 10,  9)
    750  1.1      bsh #define IDMAC_Ch_PARAM_XB	__IDMA_PARAM(0, 19, 13)
    751  1.1      bsh #define IDMAC_Ch_PARAM_YB	__IDMA_PARAM(0, 32, 12)
    752  1.1      bsh #define IDMAC_Ch_PARAM_NSB	__IDMA_PARAM(0, 44,  1)
    753  1.1      bsh #define IDMAC_Ch_PARAM_CF	__IDMA_PARAM(0, 45,  1)
    754  1.1      bsh #define IDMAC_Ch_PARAM_UBO	__IDMA_PARAM(0, 46, 22)
    755  1.1      bsh #define IDMAC_Ch_PARAM_VBO	__IDMA_PARAM(0, 68, 22)
    756  1.1      bsh #define IDMAC_Ch_PARAM_IOX	__IDMA_PARAM(0, 90,  4)
    757  1.1      bsh #define IDMAC_Ch_PARAM_RDRW	__IDMA_PARAM(0, 94,  1)
    758  1.1      bsh #define IDMAC_Ch_PARAM_S0	__IDMA_PARAM(0,113,  1)
    759  1.1      bsh #define IDMAC_Ch_PARAM_BNDM	__IDMA_PARAM(0,114,  3)
    760  1.1      bsh #define IDMAC_Ch_PARAM_BM	__IDMA_PARAM(0,117,  2)
    761  1.1      bsh #define IDMAC_Ch_PARAM_ROT	__IDMA_PARAM(0,119,  1)
    762  1.1      bsh #define IDMAC_Ch_PARAM_HF	__IDMA_PARAM(0,120,  1)
    763  1.1      bsh #define IDMAC_Ch_PARAM_VF	__IDMA_PARAM(0,121,  1)
    764  1.1      bsh #define IDMAC_Ch_PARAM_THF	__IDMA_PARAM(0,122,  1)
    765  1.1      bsh #define IDMAC_Ch_PARAM_CAP	__IDMA_PARAM(0,123,  1)
    766  1.1      bsh #define IDMAC_Ch_PARAM_CAE	__IDMA_PARAM(0,124,  1)
    767  1.1      bsh #define IDMAC_Ch_PARAM_FW	__IDMA_PARAM(0,125, 13)
    768  1.1      bsh #define IDMAC_Ch_PARAM_FH	__IDMA_PARAM(0,138, 12)
    769  1.1      bsh /* W1 */
    770  1.1      bsh #define IDMAC_Ch_PARAM_EBA0	__IDMA_PARAM(1,  0, 29)
    771  1.1      bsh #define IDMAC_Ch_PARAM_EBA1	__IDMA_PARAM(1, 29, 29)
    772  1.1      bsh #define IDMAC_Ch_PARAM_ILO	__IDMA_PARAM(1, 58, 20)
    773  1.1      bsh #define IDMAC_Ch_PARAM_NPB	__IDMA_PARAM(1, 78,  7)
    774  1.1      bsh #define IDMAC_Ch_PARAM_PFS	__IDMA_PARAM(1, 85,  4)
    775  1.1      bsh #define IDMAC_Ch_PARAM_ALU	__IDMA_PARAM(1, 89,  1)
    776  1.1      bsh #define IDMAC_Ch_PARAM_ALBM	__IDMA_PARAM(1, 90,  3)
    777  1.1      bsh #define IDMAC_Ch_PARAM_ID	__IDMA_PARAM(1, 93,  2)
    778  1.1      bsh #define IDMAC_Ch_PARAM_TH	__IDMA_PARAM(1, 95,  7)
    779  1.1      bsh #define IDMAC_Ch_PARAM_SL	__IDMA_PARAM(1,102, 14)
    780  1.1      bsh #define IDMAC_Ch_PARAM_WID3	__IDMA_PARAM(1,125,  3)
    781  1.1      bsh #define IDMAC_Ch_PARAM_SLUV	__IDMA_PARAM(1,128, 14)
    782  1.1      bsh #define IDMAC_Ch_PARAM_CRE	__IDMA_PARAM(1,149,  1)
    783  1.1      bsh 
    784  1.1      bsh /* Interleaved parameter */
    785  1.1      bsh /* W0 */
    786  1.1      bsh #define IDMAC_Ch_PARAM_XV	__IDMA_PARAM(0,  0, 10)
    787  1.1      bsh #define IDMAC_Ch_PARAM_YV	__IDMA_PARAM(0, 10,  9)
    788  1.1      bsh #define IDMAC_Ch_PARAM_XB	__IDMA_PARAM(0, 19, 13)
    789  1.1      bsh #define IDMAC_Ch_PARAM_YB	__IDMA_PARAM(0, 32, 12)
    790  1.1      bsh #define IDMAC_Ch_PARAM_NSB	__IDMA_PARAM(0, 44,  1)
    791  1.1      bsh #define IDMAC_Ch_PARAM_CF	__IDMA_PARAM(0, 45,  1)
    792  1.1      bsh #define IDMAC_Ch_PARAM_SX	__IDMA_PARAM(0, 46, 12)
    793  1.1      bsh #define IDMAC_Ch_PARAM_SY	__IDMA_PARAM(0, 58, 11)
    794  1.1      bsh #define IDMAC_Ch_PARAM_NS	__IDMA_PARAM(0, 69, 10)
    795  1.1      bsh #define IDMAC_Ch_PARAM_SDX	__IDMA_PARAM(0, 79,  7)
    796  1.1      bsh #define IDMAC_Ch_PARAM_SM	__IDMA_PARAM(0, 86, 10)
    797  1.1      bsh #define IDMAC_Ch_PARAM_SCC	__IDMA_PARAM(0, 96,  1)
    798  1.1      bsh #define IDMAC_Ch_PARAM_SCE	__IDMA_PARAM(0, 97,  1)
    799  1.1      bsh #define IDMAC_Ch_PARAM_SDY	__IDMA_PARAM(0, 98,  7)
    800  1.1      bsh #define IDMAC_Ch_PARAM_SDRX	__IDMA_PARAM(0,105,  1)
    801  1.1      bsh #define IDMAC_Ch_PARAM_SDRY	__IDMA_PARAM(0,106,  1)
    802  1.1      bsh #define IDMAC_Ch_PARAM_BPP	__IDMA_PARAM(0,107,  3)
    803  1.1      bsh #define IDMAC_Ch_PARAM_DEC_SEL	__IDMA_PARAM(0,110,  2)
    804  1.1      bsh #define IDMAC_Ch_PARAM_DIM	__IDMA_PARAM(0,112,  1)
    805  1.1      bsh #define IDMAC_Ch_PARAM_SO	__IDMA_PARAM(0,113,  1)
    806  1.1      bsh #define IDMAC_Ch_PARAM_BNDM	__IDMA_PARAM(0,114,  3)
    807  1.1      bsh #define IDMAC_Ch_PARAM_BM	__IDMA_PARAM(0,117,  2)
    808  1.1      bsh #define IDMAC_Ch_PARAM_ROT	__IDMA_PARAM(0,119,  1)
    809  1.1      bsh #define IDMAC_Ch_PARAM_HF	__IDMA_PARAM(0,120,  1)
    810  1.1      bsh #define IDMAC_Ch_PARAM_VF	__IDMA_PARAM(0,121,  1)
    811  1.1      bsh #define IDMAC_Ch_PARAM_THF	__IDMA_PARAM(0,122,  1)
    812  1.1      bsh #define IDMAC_Ch_PARAM_CAP	__IDMA_PARAM(0,123,  1)
    813  1.1      bsh #define IDMAC_Ch_PARAM_CAE	__IDMA_PARAM(0,124,  1)
    814  1.1      bsh #define IDMAC_Ch_PARAM_FW	__IDMA_PARAM(0,125, 13)
    815  1.1      bsh #define IDMAC_Ch_PARAM_FH	__IDMA_PARAM(0,138, 12)
    816  1.1      bsh /* W1 */
    817  1.1      bsh #define IDMAC_Ch_PARAM_EBA0	__IDMA_PARAM(1,  0, 29)
    818  1.1      bsh #define IDMAC_Ch_PARAM_EBA1	__IDMA_PARAM(1, 29, 29)
    819  1.1      bsh #define IDMAC_Ch_PARAM_ILO	__IDMA_PARAM(1, 58, 20)
    820  1.1      bsh #define IDMAC_Ch_PARAM_NPB	__IDMA_PARAM(1, 78,  7)
    821  1.1      bsh #define IDMAC_Ch_PARAM_PFS	__IDMA_PARAM(1, 85,  4)
    822  1.1      bsh #define IDMAC_Ch_PARAM_ALU	__IDMA_PARAM(1, 89,  1)
    823  1.1      bsh #define IDMAC_Ch_PARAM_ALBM	__IDMA_PARAM(1, 90,  3)
    824  1.1      bsh #define IDMAC_Ch_PARAM_ID	__IDMA_PARAM(1, 93,  2)
    825  1.1      bsh #define IDMAC_Ch_PARAM_TH	__IDMA_PARAM(1, 95,  7)
    826  1.1      bsh #define IDMAC_Ch_PARAM_SL	__IDMA_PARAM(1,102, 14)
    827  1.1      bsh #define IDMAC_Ch_PARAM_WID0	__IDMA_PARAM(1,116,  3)
    828  1.1      bsh #define IDMAC_Ch_PARAM_WID1	__IDMA_PARAM(1,119,  3)
    829  1.1      bsh #define IDMAC_Ch_PARAM_WID2	__IDMA_PARAM(1,122,  3)
    830  1.1      bsh #define IDMAC_Ch_PARAM_WID3	__IDMA_PARAM(1,125,  3)
    831  1.1      bsh #define IDMAC_Ch_PARAM_OFS0	__IDMA_PARAM(1,128,  5)
    832  1.1      bsh #define IDMAC_Ch_PARAM_OFS1	__IDMA_PARAM(1,133,  5)
    833  1.1      bsh #define IDMAC_Ch_PARAM_OFS2	__IDMA_PARAM(1,138,  5)
    834  1.1      bsh #define IDMAC_Ch_PARAM_OFS3	__IDMA_PARAM(1,143,  5)
    835  1.1      bsh #define IDMAC_Ch_PARAM_SXYS	__IDMA_PARAM(1,148,  1)
    836  1.1      bsh #define IDMAC_Ch_PARAM_CRE	__IDMA_PARAM(1,149,  1)
    837  1.1      bsh #define IDMAC_Ch_PARAM_DEC_SEL2 __IDMA_PARAM(1,150,  1)
    838  1.1      bsh 
    839  1.1      bsh #endif /* _ARM_IMX_IMX51_IPUV3REG_H */
    840