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