.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2015 Amlogic, Inc. All rights reserved. |
---|
3 | | - * |
---|
4 | | - * This program is free software; you can redistribute it and/or modify |
---|
5 | | - * it under the terms of the GNU General Public License as published by |
---|
6 | | - * the Free Software Foundation; either version 2 of the License, or |
---|
7 | | - * (at your option) any later version. |
---|
8 | | - * |
---|
9 | | - * This program is distributed in the hope that it will be useful, but WITHOUT |
---|
10 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
---|
11 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
---|
12 | | - * more details. |
---|
13 | | - * |
---|
14 | 4 | */ |
---|
15 | 5 | |
---|
16 | 6 | #ifndef __MESON_REGISTERS_H |
---|
17 | 7 | #define __MESON_REGISTERS_H |
---|
18 | 8 | |
---|
| 9 | +#include <linux/io.h> |
---|
| 10 | + |
---|
19 | 11 | /* Shift all registers by 2 */ |
---|
20 | 12 | #define _REG(reg) ((reg) << 2) |
---|
21 | 13 | |
---|
22 | 14 | #define writel_bits_relaxed(mask, val, addr) \ |
---|
23 | | - writel_relaxed((readl_relaxed(addr) & ~(mask)) | (val), addr) |
---|
| 15 | + writel_relaxed((readl_relaxed(addr) & ~(mask)) | ((val) & (mask)), addr) |
---|
24 | 16 | |
---|
25 | 17 | /* vpp2 */ |
---|
26 | 18 | #define VPP2_DUMMY_DATA 0x1900 |
---|
.. | .. |
---|
146 | 138 | #define VIU_ADDR_START 0x1a00 |
---|
147 | 139 | #define VIU_ADDR_END 0x1aff |
---|
148 | 140 | #define VIU_SW_RESET 0x1a01 |
---|
| 141 | +#define VIU_SW_RESET_OSD1_AFBCD BIT(31) |
---|
| 142 | +#define VIU_SW_RESET_G12A_OSD1_AFBCD BIT(21) |
---|
| 143 | +#define VIU_SW_RESET_G12A_AFBC_ARB BIT(19) |
---|
| 144 | +#define VIU_SW_RESET_OSD1 BIT(0) |
---|
149 | 145 | #define VIU_MISC_CTRL0 0x1a06 |
---|
| 146 | +#define VIU_CTRL0_VD1_AFBC_MASK 0x170000 |
---|
| 147 | +#define VIU_CTRL0_AFBC_TO_VD1 BIT(20) |
---|
150 | 148 | #define VIU_MISC_CTRL1 0x1a07 |
---|
| 149 | +#define MALI_AFBC_MISC GENMASK(15, 8) |
---|
151 | 150 | #define D2D3_INTF_LENGTH 0x1a08 |
---|
152 | 151 | #define D2D3_INTF_CTRL0 0x1a09 |
---|
| 152 | +#define VD1_AFBCD0_MISC_CTRL 0x1a0a |
---|
| 153 | +#define VD1_AXI_SEL_AFBC (1 << 12) |
---|
| 154 | +#define AFBC_VD1_SEL (1 << 10) |
---|
| 155 | +#define VD2_AFBCD1_MISC_CTRL 0x1a0b |
---|
153 | 156 | #define VIU_OSD1_CTRL_STAT 0x1a10 |
---|
| 157 | +#define VIU_OSD1_OSD_BLK_ENABLE BIT(0) |
---|
| 158 | +#define VIU_OSD1_OSD_MEM_MODE_LINEAR BIT(2) |
---|
| 159 | +#define VIU_OSD1_POSTBLD_SRC_VD1 (1 << 8) |
---|
| 160 | +#define VIU_OSD1_POSTBLD_SRC_VD2 (2 << 8) |
---|
| 161 | +#define VIU_OSD1_POSTBLD_SRC_OSD1 (3 << 8) |
---|
| 162 | +#define VIU_OSD1_POSTBLD_SRC_OSD2 (4 << 8) |
---|
| 163 | +#define VIU_OSD1_OSD_ENABLE BIT(21) |
---|
| 164 | +#define VIU_OSD1_CFG_SYN_EN BIT(31) |
---|
154 | 165 | #define VIU_OSD1_CTRL_STAT2 0x1a2d |
---|
155 | 166 | #define VIU_OSD1_COLOR_ADDR 0x1a11 |
---|
156 | 167 | #define VIU_OSD1_COLOR 0x1a12 |
---|
.. | .. |
---|
181 | 192 | #define VIU_OSD1_FIFO_CTRL_STAT 0x1a2b |
---|
182 | 193 | #define VIU_OSD1_TEST_RDDATA 0x1a2c |
---|
183 | 194 | #define VIU_OSD1_PROT_CTRL 0x1a2e |
---|
| 195 | +#define VIU_OSD1_MALI_UNPACK_CTRL 0x1a2f |
---|
| 196 | +#define VIU_OSD1_MALI_UNPACK_EN BIT(31) |
---|
| 197 | +#define VIU_OSD1_MALI_AFBCD_R_REORDER GENMASK(15, 12) |
---|
| 198 | +#define VIU_OSD1_MALI_AFBCD_G_REORDER GENMASK(11, 8) |
---|
| 199 | +#define VIU_OSD1_MALI_AFBCD_B_REORDER GENMASK(7, 4) |
---|
| 200 | +#define VIU_OSD1_MALI_AFBCD_A_REORDER GENMASK(3, 0) |
---|
| 201 | +#define VIU_OSD1_MALI_REORDER_R 1 |
---|
| 202 | +#define VIU_OSD1_MALI_REORDER_G 2 |
---|
| 203 | +#define VIU_OSD1_MALI_REORDER_B 3 |
---|
| 204 | +#define VIU_OSD1_MALI_REORDER_A 4 |
---|
184 | 205 | #define VIU_OSD2_CTRL_STAT 0x1a30 |
---|
185 | 206 | #define VIU_OSD2_CTRL_STAT2 0x1a4d |
---|
186 | 207 | #define VIU_OSD2_COLOR_ADDR 0x1a31 |
---|
.. | .. |
---|
216 | 237 | #define VIU_OSD2_FIFO_CTRL_STAT 0x1a4b |
---|
217 | 238 | #define VIU_OSD2_TEST_RDDATA 0x1a4c |
---|
218 | 239 | #define VIU_OSD2_PROT_CTRL 0x1a4e |
---|
| 240 | +#define VIU_OSD2_MALI_UNPACK_CTRL 0x1abd |
---|
| 241 | +#define VIU_OSD2_DIMM_CTRL 0x1acf |
---|
| 242 | + |
---|
| 243 | +#define VIU_OSD3_CTRL_STAT 0x3d80 |
---|
| 244 | +#define VIU_OSD3_CTRL_STAT2 0x3d81 |
---|
| 245 | +#define VIU_OSD3_COLOR_ADDR 0x3d82 |
---|
| 246 | +#define VIU_OSD3_COLOR 0x3d83 |
---|
| 247 | +#define VIU_OSD3_TCOLOR_AG0 0x3d84 |
---|
| 248 | +#define VIU_OSD3_TCOLOR_AG1 0x3d85 |
---|
| 249 | +#define VIU_OSD3_TCOLOR_AG2 0x3d86 |
---|
| 250 | +#define VIU_OSD3_TCOLOR_AG3 0x3d87 |
---|
| 251 | +#define VIU_OSD3_BLK0_CFG_W0 0x3d88 |
---|
| 252 | +#define VIU_OSD3_BLK0_CFG_W1 0x3d8c |
---|
| 253 | +#define VIU_OSD3_BLK0_CFG_W2 0x3d90 |
---|
| 254 | +#define VIU_OSD3_BLK0_CFG_W3 0x3d94 |
---|
| 255 | +#define VIU_OSD3_BLK0_CFG_W4 0x3d98 |
---|
| 256 | +#define VIU_OSD3_BLK1_CFG_W4 0x3d99 |
---|
| 257 | +#define VIU_OSD3_BLK2_CFG_W4 0x3d9a |
---|
| 258 | +#define VIU_OSD3_FIFO_CTRL_STAT 0x3d9c |
---|
| 259 | +#define VIU_OSD3_TEST_RDDATA 0x3d9d |
---|
| 260 | +#define VIU_OSD3_PROT_CTRL 0x3d9e |
---|
| 261 | +#define VIU_OSD3_MALI_UNPACK_CTRL 0x3d9f |
---|
| 262 | +#define VIU_OSD3_DIMM_CTRL 0x3da0 |
---|
| 263 | + |
---|
| 264 | +#define VIU_OSD_DDR_PRIORITY_URGENT BIT(0) |
---|
| 265 | +#define VIU_OSD_HOLD_FIFO_LINES(lines) ((lines & 0x1f) << 5) |
---|
| 266 | +#define VIU_OSD_FIFO_DEPTH_VAL(val) ((val & 0x7f) << 12) |
---|
| 267 | +#define VIU_OSD_WORDS_PER_BURST(words) (((words & 0x4) >> 1) << 22) |
---|
| 268 | +#define VIU_OSD_FIFO_LIMITS(size) ((size & 0xf) << 24) |
---|
| 269 | +#define VIU_OSD_BURST_LENGTH_24 (0x0 << 31 | 0x0 << 10) |
---|
| 270 | +#define VIU_OSD_BURST_LENGTH_32 (0x0 << 31 | 0x1 << 10) |
---|
| 271 | +#define VIU_OSD_BURST_LENGTH_48 (0x0 << 31 | 0x2 << 10) |
---|
| 272 | +#define VIU_OSD_BURST_LENGTH_64 (0x0 << 31 | 0x3 << 10) |
---|
| 273 | +#define VIU_OSD_BURST_LENGTH_96 (0x1 << 31 | 0x0 << 10) |
---|
| 274 | +#define VIU_OSD_BURST_LENGTH_128 (0x1 << 31 | 0x1 << 10) |
---|
219 | 275 | |
---|
220 | 276 | #define VD1_IF0_GEN_REG 0x1a50 |
---|
221 | 277 | #define VD1_IF0_CANVAS0 0x1a51 |
---|
.. | .. |
---|
286 | 342 | #define VIU_OSD1_MATRIX_COEF22_30 0x1a9d |
---|
287 | 343 | #define VIU_OSD1_MATRIX_COEF31_32 0x1a9e |
---|
288 | 344 | #define VIU_OSD1_MATRIX_COEF40_41 0x1a9f |
---|
| 345 | +#define VD1_IF0_GEN_REG3 0x1aa7 |
---|
| 346 | + |
---|
| 347 | +#define VIU_OSD_BLENDO_H_START_END 0x1aa9 |
---|
| 348 | +#define VIU_OSD_BLENDO_V_START_END 0x1aaa |
---|
| 349 | +#define VIU_OSD_BLEND_GEN_CTRL0 0x1aab |
---|
| 350 | +#define VIU_OSD_BLEND_GEN_CTRL1 0x1aac |
---|
| 351 | +#define VIU_OSD_BLEND_DUMMY_DATA 0x1aad |
---|
| 352 | +#define VIU_OSD_BLEND_CURRENT_XY 0x1aae |
---|
| 353 | + |
---|
| 354 | +#define VIU_OSD2_MATRIX_CTRL 0x1ab0 |
---|
| 355 | +#define VIU_OSD2_MATRIX_COEF00_01 0x1ab1 |
---|
| 356 | +#define VIU_OSD2_MATRIX_COEF02_10 0x1ab2 |
---|
| 357 | +#define VIU_OSD2_MATRIX_COEF11_12 0x1ab3 |
---|
| 358 | +#define VIU_OSD2_MATRIX_COEF20_21 0x1ab4 |
---|
| 359 | +#define VIU_OSD2_MATRIX_COEF22 0x1ab5 |
---|
| 360 | +#define VIU_OSD2_MATRIX_OFFSET0_1 0x1ab6 |
---|
| 361 | +#define VIU_OSD2_MATRIX_OFFSET2 0x1ab7 |
---|
| 362 | +#define VIU_OSD2_MATRIX_PRE_OFFSET0_1 0x1ab8 |
---|
| 363 | +#define VIU_OSD2_MATRIX_PRE_OFFSET2 0x1ab9 |
---|
| 364 | +#define VIU_OSD2_MATRIX_PROBE_COLOR 0x1aba |
---|
| 365 | +#define VIU_OSD2_MATRIX_HL_COLOR 0x1abb |
---|
| 366 | +#define VIU_OSD2_MATRIX_PROBE_POS 0x1abc |
---|
289 | 367 | #define VIU_OSD1_EOTF_CTL 0x1ad4 |
---|
290 | 368 | #define VIU_OSD1_EOTF_COEF00_01 0x1ad5 |
---|
291 | 369 | #define VIU_OSD1_EOTF_COEF02_10 0x1ad6 |
---|
.. | .. |
---|
297 | 375 | #define VIU_OSD1_OETF_CTL 0x1adc |
---|
298 | 376 | #define VIU_OSD1_OETF_LUT_ADDR_PORT 0x1add |
---|
299 | 377 | #define VIU_OSD1_OETF_LUT_DATA_PORT 0x1ade |
---|
| 378 | +#define AFBC_ENABLE 0x1ae0 |
---|
| 379 | +#define AFBC_MODE 0x1ae1 |
---|
| 380 | +#define AFBC_SIZE_IN 0x1ae2 |
---|
| 381 | +#define AFBC_DEC_DEF_COLOR 0x1ae3 |
---|
| 382 | +#define AFBC_CONV_CTRL 0x1ae4 |
---|
| 383 | +#define AFBC_LBUF_DEPTH 0x1ae5 |
---|
| 384 | +#define AFBC_HEAD_BADDR 0x1ae6 |
---|
| 385 | +#define AFBC_BODY_BADDR 0x1ae7 |
---|
| 386 | +#define AFBC_SIZE_OUT 0x1ae8 |
---|
| 387 | +#define AFBC_OUT_YSCOPE 0x1ae9 |
---|
| 388 | +#define AFBC_STAT 0x1aea |
---|
| 389 | +#define AFBC_VD_CFMT_CTRL 0x1aeb |
---|
| 390 | +#define AFBC_VD_CFMT_W 0x1aec |
---|
| 391 | +#define AFBC_MIF_HOR_SCOPE 0x1aed |
---|
| 392 | +#define AFBC_MIF_VER_SCOPE 0x1aee |
---|
| 393 | +#define AFBC_PIXEL_HOR_SCOPE 0x1aef |
---|
| 394 | +#define AFBC_PIXEL_VER_SCOPE 0x1af0 |
---|
| 395 | +#define AFBC_VD_CFMT_H 0x1af1 |
---|
300 | 396 | |
---|
301 | 397 | /* vpp */ |
---|
302 | 398 | #define VPP_DUMMY_DATA 0x1d00 |
---|
303 | 399 | #define VPP_LINE_IN_LENGTH 0x1d01 |
---|
304 | 400 | #define VPP_PIC_IN_HEIGHT 0x1d02 |
---|
305 | 401 | #define VPP_SCALE_COEF_IDX 0x1d03 |
---|
| 402 | +#define VPP_SCALE_HORIZONTAL_COEF BIT(8) |
---|
306 | 403 | #define VPP_SCALE_COEF 0x1d04 |
---|
307 | 404 | #define VPP_VSC_REGION12_STARTP 0x1d05 |
---|
308 | 405 | #define VPP_VSC_REGION34_STARTP 0x1d06 |
---|
.. | .. |
---|
324 | 421 | #define VPP_HSC_REGION4_PHASE_SLOPE 0x1d17 |
---|
325 | 422 | #define VPP_HSC_PHASE_CTRL 0x1d18 |
---|
326 | 423 | #define VPP_SC_MISC 0x1d19 |
---|
| 424 | +#define VPP_SC_VD_EN_ENABLE BIT(15) |
---|
| 425 | +#define VPP_SC_TOP_EN_ENABLE BIT(16) |
---|
| 426 | +#define VPP_SC_HSC_EN_ENABLE BIT(17) |
---|
| 427 | +#define VPP_SC_VSC_EN_ENABLE BIT(18) |
---|
| 428 | +#define VPP_VSC_BANK_LENGTH(length) (length & 0x7) |
---|
| 429 | +#define VPP_HSC_BANK_LENGTH(length) ((length & 0x7) << 8) |
---|
327 | 430 | #define VPP_PREBLEND_VD1_H_START_END 0x1d1a |
---|
328 | 431 | #define VPP_PREBLEND_VD1_V_START_END 0x1d1b |
---|
329 | 432 | #define VPP_POSTBLEND_VD1_H_START_END 0x1d1c |
---|
.. | .. |
---|
333 | 436 | #define VPP_PREBLEND_H_SIZE 0x1d20 |
---|
334 | 437 | #define VPP_POSTBLEND_H_SIZE 0x1d21 |
---|
335 | 438 | #define VPP_HOLD_LINES 0x1d22 |
---|
| 439 | +#define VPP_POSTBLEND_HOLD_LINES(lines) (lines & 0xf) |
---|
| 440 | +#define VPP_PREBLEND_HOLD_LINES(lines) ((lines & 0xf) << 8) |
---|
336 | 441 | #define VPP_BLEND_ONECOLOR_CTRL 0x1d23 |
---|
337 | 442 | #define VPP_PREBLEND_CURRENT_XY 0x1d24 |
---|
338 | 443 | #define VPP_POSTBLEND_CURRENT_XY 0x1d25 |
---|
339 | 444 | #define VPP_MISC 0x1d26 |
---|
340 | | -#define VPP_PREBLEND_ENABLE BIT(6) |
---|
341 | | -#define VPP_POSTBLEND_ENABLE BIT(7) |
---|
342 | | -#define VPP_OSD2_ALPHA_PREMULT BIT(8) |
---|
343 | | -#define VPP_OSD1_ALPHA_PREMULT BIT(9) |
---|
344 | | -#define VPP_VD1_POSTBLEND BIT(10) |
---|
345 | | -#define VPP_VD2_POSTBLEND BIT(11) |
---|
346 | | -#define VPP_OSD1_POSTBLEND BIT(12) |
---|
347 | | -#define VPP_OSD2_POSTBLEND BIT(13) |
---|
348 | | -#define VPP_VD1_PREBLEND BIT(14) |
---|
349 | | -#define VPP_VD2_PREBLEND BIT(15) |
---|
350 | | -#define VPP_OSD1_PREBLEND BIT(16) |
---|
351 | | -#define VPP_OSD2_PREBLEND BIT(17) |
---|
| 445 | +#define VPP_PREBLEND_ENABLE BIT(6) |
---|
| 446 | +#define VPP_POSTBLEND_ENABLE BIT(7) |
---|
| 447 | +#define VPP_OSD2_ALPHA_PREMULT BIT(8) |
---|
| 448 | +#define VPP_OSD1_ALPHA_PREMULT BIT(9) |
---|
| 449 | +#define VPP_VD1_POSTBLEND BIT(10) |
---|
| 450 | +#define VPP_VD2_POSTBLEND BIT(11) |
---|
| 451 | +#define VPP_OSD1_POSTBLEND BIT(12) |
---|
| 452 | +#define VPP_OSD2_POSTBLEND BIT(13) |
---|
| 453 | +#define VPP_VD1_PREBLEND BIT(14) |
---|
| 454 | +#define VPP_VD2_PREBLEND BIT(15) |
---|
| 455 | +#define VPP_OSD1_PREBLEND BIT(16) |
---|
| 456 | +#define VPP_OSD2_PREBLEND BIT(17) |
---|
| 457 | +#define VPP_COLOR_MNG_ENABLE BIT(28) |
---|
352 | 458 | #define VPP_OFIFO_SIZE 0x1d27 |
---|
| 459 | +#define VPP_OFIFO_SIZE_MASK GENMASK(13, 0) |
---|
| 460 | +#define VPP_OFIFO_SIZE_DEFAULT (0xfff << 20 | 0x1000) |
---|
353 | 461 | #define VPP_FIFO_STATUS 0x1d28 |
---|
354 | 462 | #define VPP_SMOKE_CTRL 0x1d29 |
---|
355 | 463 | #define VPP_SMOKE1_VAL 0x1d2a |
---|
.. | .. |
---|
365 | 473 | #define VPP_HSC_PHASE_CTRL1 0x1d34 |
---|
366 | 474 | #define VPP_HSC_INI_PAT_CTRL 0x1d35 |
---|
367 | 475 | #define VPP_VADJ_CTRL 0x1d40 |
---|
| 476 | +#define VPP_MINUS_BLACK_LVL_VADJ1_ENABLE BIT(1) |
---|
| 477 | + |
---|
368 | 478 | #define VPP_VADJ1_Y 0x1d41 |
---|
369 | 479 | #define VPP_VADJ1_MA_MB 0x1d42 |
---|
370 | 480 | #define VPP_VADJ1_MC_MD 0x1d43 |
---|
.. | .. |
---|
424 | 534 | #define VPP_PEAKING_VGAIN 0x1d92 |
---|
425 | 535 | #define VPP_PEAKING_NLP_1 0x1d93 |
---|
426 | 536 | #define VPP_DOLBY_CTRL 0x1d93 |
---|
| 537 | +#define VPP_PPS_DUMMY_DATA_MODE (1 << 17) |
---|
427 | 538 | #define VPP_PEAKING_NLP_2 0x1d94 |
---|
428 | 539 | #define VPP_PEAKING_NLP_3 0x1d95 |
---|
429 | 540 | #define VPP_PEAKING_NLP_4 0x1d96 |
---|
.. | .. |
---|
477 | 588 | #define VPP_OSD_SCALE_COEF_IDX 0x1dcc |
---|
478 | 589 | #define VPP_OSD_SCALE_COEF 0x1dcd |
---|
479 | 590 | #define VPP_INT_LINE_NUM 0x1dce |
---|
| 591 | + |
---|
| 592 | +#define VPP_WRAP_OSD1_MATRIX_COEF00_01 0x3d60 |
---|
| 593 | +#define VPP_WRAP_OSD1_MATRIX_COEF02_10 0x3d61 |
---|
| 594 | +#define VPP_WRAP_OSD1_MATRIX_COEF11_12 0x3d62 |
---|
| 595 | +#define VPP_WRAP_OSD1_MATRIX_COEF20_21 0x3d63 |
---|
| 596 | +#define VPP_WRAP_OSD1_MATRIX_COEF22 0x3d64 |
---|
| 597 | +#define VPP_WRAP_OSD1_MATRIX_COEF13_14 0x3d65 |
---|
| 598 | +#define VPP_WRAP_OSD1_MATRIX_COEF23_24 0x3d66 |
---|
| 599 | +#define VPP_WRAP_OSD1_MATRIX_COEF15_25 0x3d67 |
---|
| 600 | +#define VPP_WRAP_OSD1_MATRIX_CLIP 0x3d68 |
---|
| 601 | +#define VPP_WRAP_OSD1_MATRIX_OFFSET0_1 0x3d69 |
---|
| 602 | +#define VPP_WRAP_OSD1_MATRIX_OFFSET2 0x3d6a |
---|
| 603 | +#define VPP_WRAP_OSD1_MATRIX_PRE_OFFSET0_1 0x3d6b |
---|
| 604 | +#define VPP_WRAP_OSD1_MATRIX_PRE_OFFSET2 0x3d6c |
---|
| 605 | +#define VPP_WRAP_OSD1_MATRIX_EN_CTRL 0x3d6d |
---|
| 606 | + |
---|
| 607 | +#define VPP_WRAP_OSD2_MATRIX_COEF00_01 0x3d70 |
---|
| 608 | +#define VPP_WRAP_OSD2_MATRIX_COEF02_10 0x3d71 |
---|
| 609 | +#define VPP_WRAP_OSD2_MATRIX_COEF11_12 0x3d72 |
---|
| 610 | +#define VPP_WRAP_OSD2_MATRIX_COEF20_21 0x3d73 |
---|
| 611 | +#define VPP_WRAP_OSD2_MATRIX_COEF22 0x3d74 |
---|
| 612 | +#define VPP_WRAP_OSD2_MATRIX_COEF13_14 0x3d75 |
---|
| 613 | +#define VPP_WRAP_OSD2_MATRIX_COEF23_24 0x3d76 |
---|
| 614 | +#define VPP_WRAP_OSD2_MATRIX_COEF15_25 0x3d77 |
---|
| 615 | +#define VPP_WRAP_OSD2_MATRIX_CLIP 0x3d78 |
---|
| 616 | +#define VPP_WRAP_OSD2_MATRIX_OFFSET0_1 0x3d79 |
---|
| 617 | +#define VPP_WRAP_OSD2_MATRIX_OFFSET2 0x3d7a |
---|
| 618 | +#define VPP_WRAP_OSD2_MATRIX_PRE_OFFSET0_1 0x3d7b |
---|
| 619 | +#define VPP_WRAP_OSD2_MATRIX_PRE_OFFSET2 0x3d7c |
---|
| 620 | +#define VPP_WRAP_OSD2_MATRIX_EN_CTRL 0x3d7d |
---|
| 621 | + |
---|
| 622 | +#define VPP_WRAP_OSD3_MATRIX_COEF00_01 0x3db0 |
---|
| 623 | +#define VPP_WRAP_OSD3_MATRIX_COEF02_10 0x3db1 |
---|
| 624 | +#define VPP_WRAP_OSD3_MATRIX_COEF11_12 0x3db2 |
---|
| 625 | +#define VPP_WRAP_OSD3_MATRIX_COEF20_21 0x3db3 |
---|
| 626 | +#define VPP_WRAP_OSD3_MATRIX_COEF22 0x3db4 |
---|
| 627 | +#define VPP_WRAP_OSD3_MATRIX_COEF13_14 0x3db5 |
---|
| 628 | +#define VPP_WRAP_OSD3_MATRIX_COEF23_24 0x3db6 |
---|
| 629 | +#define VPP_WRAP_OSD3_MATRIX_COEF15_25 0x3db7 |
---|
| 630 | +#define VPP_WRAP_OSD3_MATRIX_CLIP 0x3db8 |
---|
| 631 | +#define VPP_WRAP_OSD3_MATRIX_OFFSET0_1 0x3db9 |
---|
| 632 | +#define VPP_WRAP_OSD3_MATRIX_OFFSET2 0x3dba |
---|
| 633 | +#define VPP_WRAP_OSD3_MATRIX_PRE_OFFSET0_1 0x3dbb |
---|
| 634 | +#define VPP_WRAP_OSD3_MATRIX_PRE_OFFSET2 0x3dbc |
---|
| 635 | +#define VPP_WRAP_OSD3_MATRIX_EN_CTRL 0x3dbd |
---|
| 636 | + |
---|
| 637 | +/* osd1 HDR */ |
---|
| 638 | +#define OSD1_HDR2_CTRL 0x38a0 |
---|
| 639 | +#define OSD1_HDR2_CTRL_VDIN0_HDR2_TOP_EN BIT(13) |
---|
| 640 | +#define OSD1_HDR2_CTRL_REG_ONLY_MAT BIT(16) |
---|
| 641 | + |
---|
| 642 | +/* osd2 scaler */ |
---|
| 643 | +#define OSD2_VSC_PHASE_STEP 0x3d00 |
---|
| 644 | +#define OSD2_VSC_INI_PHASE 0x3d01 |
---|
| 645 | +#define OSD2_VSC_CTRL0 0x3d02 |
---|
| 646 | +#define OSD2_HSC_PHASE_STEP 0x3d03 |
---|
| 647 | +#define OSD2_HSC_INI_PHASE 0x3d04 |
---|
| 648 | +#define OSD2_HSC_CTRL0 0x3d05 |
---|
| 649 | +#define OSD2_HSC_INI_PAT_CTRL 0x3d06 |
---|
| 650 | +#define OSD2_SC_DUMMY_DATA 0x3d07 |
---|
| 651 | +#define OSD2_SC_CTRL0 0x3d08 |
---|
| 652 | +#define OSD2_SCI_WH_M1 0x3d09 |
---|
| 653 | +#define OSD2_SCO_H_START_END 0x3d0a |
---|
| 654 | +#define OSD2_SCO_V_START_END 0x3d0b |
---|
| 655 | +#define OSD2_SCALE_COEF_IDX 0x3d18 |
---|
| 656 | +#define OSD2_SCALE_COEF 0x3d19 |
---|
| 657 | + |
---|
| 658 | +/* osd34 scaler */ |
---|
| 659 | +#define OSD34_SCALE_COEF_IDX 0x3d1e |
---|
| 660 | +#define OSD34_SCALE_COEF 0x3d1f |
---|
| 661 | +#define OSD34_VSC_PHASE_STEP 0x3d20 |
---|
| 662 | +#define OSD34_VSC_INI_PHASE 0x3d21 |
---|
| 663 | +#define OSD34_VSC_CTRL0 0x3d22 |
---|
| 664 | +#define OSD34_HSC_PHASE_STEP 0x3d23 |
---|
| 665 | +#define OSD34_HSC_INI_PHASE 0x3d24 |
---|
| 666 | +#define OSD34_HSC_CTRL0 0x3d25 |
---|
| 667 | +#define OSD34_HSC_INI_PAT_CTRL 0x3d26 |
---|
| 668 | +#define OSD34_SC_DUMMY_DATA 0x3d27 |
---|
| 669 | +#define OSD34_SC_CTRL0 0x3d28 |
---|
| 670 | +#define OSD34_SCI_WH_M1 0x3d29 |
---|
| 671 | +#define OSD34_SCO_H_START_END 0x3d2a |
---|
| 672 | +#define OSD34_SCO_V_START_END 0x3d2b |
---|
480 | 673 | |
---|
481 | 674 | /* viu2 */ |
---|
482 | 675 | #define VIU2_ADDR_START 0x1e00 |
---|
.. | .. |
---|
591 | 784 | #define VENC_UPSAMPLE_CTRL0 0x1b64 |
---|
592 | 785 | #define VENC_UPSAMPLE_CTRL1 0x1b65 |
---|
593 | 786 | #define VENC_UPSAMPLE_CTRL2 0x1b66 |
---|
| 787 | +#define VENC_UPSAMPLE_CTRL_F0_2_CLK_RATIO BIT(0) |
---|
| 788 | +#define VENC_UPSAMPLE_CTRL_F1_EN BIT(5) |
---|
| 789 | +#define VENC_UPSAMPLE_CTRL_F1_UPSAMPLE_EN BIT(6) |
---|
| 790 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_HIGH_LUMA (0x0 << 12) |
---|
| 791 | +#define VENC_UPSAMPLE_CTRL_CVBS (0x1 << 12) |
---|
| 792 | +#define VENC_UPSAMPLE_CTRL_S_VIDEO_LUMA (0x2 << 12) |
---|
| 793 | +#define VENC_UPSAMPLE_CTRL_S_VIDEO_CHROMA (0x3 << 12) |
---|
| 794 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_PB (0x4 << 12) |
---|
| 795 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_PR (0x5 << 12) |
---|
| 796 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_R (0x6 << 12) |
---|
| 797 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_G (0x7 << 12) |
---|
| 798 | +#define VENC_UPSAMPLE_CTRL_INTERLACE_B (0x8 << 12) |
---|
| 799 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_Y (0x9 << 12) |
---|
| 800 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_PB (0xa << 12) |
---|
| 801 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_PR (0xb << 12) |
---|
| 802 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_R (0xc << 12) |
---|
| 803 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_G (0xd << 12) |
---|
| 804 | +#define VENC_UPSAMPLE_CTRL_PROGRESSIVE_B (0xe << 12) |
---|
| 805 | +#define VENC_UPSAMPLE_CTRL_VDAC_TEST_VALUE (0xf << 12) |
---|
594 | 806 | #define TCON_INVERT_CTL 0x1b67 |
---|
595 | 807 | #define VENC_VIDEO_PROG_MODE 0x1b68 |
---|
596 | 808 | #define VENC_ENCI_LINE 0x1b69 |
---|
.. | .. |
---|
599 | 811 | #define VENC_ENCP_PIXEL 0x1b6c |
---|
600 | 812 | #define VENC_STATA 0x1b6d |
---|
601 | 813 | #define VENC_INTCTRL 0x1b6e |
---|
| 814 | +#define VENC_INTCTRL_ENCI_LNRST_INT_EN BIT(1) |
---|
602 | 815 | #define VENC_INTFLAG 0x1b6f |
---|
603 | 816 | #define VENC_VIDEO_TST_EN 0x1b70 |
---|
604 | 817 | #define VENC_VIDEO_TST_MDSEL 0x1b71 |
---|
.. | .. |
---|
609 | 822 | #define VENC_VIDEO_TST_CLRBAR_WIDTH 0x1b76 |
---|
610 | 823 | #define VENC_VIDEO_TST_VDCNT_STSET 0x1b77 |
---|
611 | 824 | #define VENC_VDAC_DACSEL0 0x1b78 |
---|
| 825 | +#define VENC_VDAC_SEL_ATV_DMD BIT(5) |
---|
612 | 826 | #define VENC_VDAC_DACSEL1 0x1b79 |
---|
613 | 827 | #define VENC_VDAC_DACSEL2 0x1b7a |
---|
614 | 828 | #define VENC_VDAC_DACSEL3 0x1b7b |
---|
.. | .. |
---|
629 | 843 | #define VENC_VDAC_DAC5_GAINCTRL 0x1bfa |
---|
630 | 844 | #define VENC_VDAC_DAC5_OFFSET 0x1bfb |
---|
631 | 845 | #define VENC_VDAC_FIFO_CTRL 0x1bfc |
---|
| 846 | +#define VENC_VDAC_FIFO_EN_ENCI_ENABLE BIT(13) |
---|
632 | 847 | #define ENCL_TCON_INVERT_CTL 0x1bfd |
---|
633 | 848 | #define ENCP_VIDEO_EN 0x1b80 |
---|
634 | 849 | #define ENCP_VIDEO_SYNC_MODE 0x1b81 |
---|
.. | .. |
---|
644 | 859 | #define ENCP_VIDEO_SYNC_OFFST 0x1b8b |
---|
645 | 860 | #define ENCP_VIDEO_MACV_OFFST 0x1b8c |
---|
646 | 861 | #define ENCP_VIDEO_MODE 0x1b8d |
---|
| 862 | +#define ENCP_VIDEO_MODE_DE_V_HIGH BIT(14) |
---|
647 | 863 | #define ENCP_VIDEO_MODE_ADV 0x1b8e |
---|
648 | 864 | #define ENCP_DBG_PX_RST 0x1b90 |
---|
649 | 865 | #define ENCP_DBG_LN_RST 0x1b91 |
---|
.. | .. |
---|
722 | 938 | #define C656_FS_LNED 0x1be7 |
---|
723 | 939 | #define ENCI_VIDEO_MODE 0x1b00 |
---|
724 | 940 | #define ENCI_VIDEO_MODE_ADV 0x1b01 |
---|
| 941 | +#define ENCI_VIDEO_MODE_ADV_DMXMD(val) (val & 0x3) |
---|
| 942 | +#define ENCI_VIDEO_MODE_ADV_VBICTL_LINE_17_22 BIT(2) |
---|
| 943 | +#define ENCI_VIDEO_MODE_ADV_YBW_MEDIUM (0 << 4) |
---|
| 944 | +#define ENCI_VIDEO_MODE_ADV_YBW_LOW (0x1 << 4) |
---|
| 945 | +#define ENCI_VIDEO_MODE_ADV_YBW_HIGH (0x2 << 4) |
---|
725 | 946 | #define ENCI_VIDEO_FSC_ADJ 0x1b02 |
---|
726 | 947 | #define ENCI_VIDEO_BRIGHT 0x1b03 |
---|
727 | 948 | #define ENCI_VIDEO_CONT 0x1b04 |
---|
.. | .. |
---|
792 | 1013 | #define ENCI_DBG_MAXPX 0x1b4c |
---|
793 | 1014 | #define ENCI_DBG_MAXLN 0x1b4d |
---|
794 | 1015 | #define ENCI_MACV_MAX_AMP 0x1b50 |
---|
| 1016 | +#define ENCI_MACV_MAX_AMP_ENABLE_CHANGE BIT(15) |
---|
| 1017 | +#define ENCI_MACV_MAX_AMP_VAL(val) (val & 0x83ff) |
---|
795 | 1018 | #define ENCI_MACV_PULSE_LO 0x1b51 |
---|
796 | 1019 | #define ENCI_MACV_PULSE_HI 0x1b52 |
---|
797 | 1020 | #define ENCI_MACV_BKP_MAX 0x1b53 |
---|
798 | 1021 | #define ENCI_CFILT_CTRL 0x1b54 |
---|
| 1022 | +#define ENCI_CFILT_CMPT_SEL_HIGH BIT(1) |
---|
799 | 1023 | #define ENCI_CFILT7 0x1b55 |
---|
800 | 1024 | #define ENCI_YC_DELAY 0x1b56 |
---|
801 | 1025 | #define ENCI_VIDEO_EN 0x1b57 |
---|
| 1026 | +#define ENCI_VIDEO_EN_ENABLE BIT(0) |
---|
802 | 1027 | #define ENCI_DVI_HSO_BEGIN 0x1c00 |
---|
803 | 1028 | #define ENCI_DVI_HSO_END 0x1c01 |
---|
804 | 1029 | #define ENCI_DVI_VSO_BLINE_EVN 0x1c02 |
---|
.. | .. |
---|
810 | 1035 | #define ENCI_DVI_VSO_END_EVN 0x1c08 |
---|
811 | 1036 | #define ENCI_DVI_VSO_END_ODD 0x1c09 |
---|
812 | 1037 | #define ENCI_CFILT_CTRL2 0x1c0a |
---|
| 1038 | +#define ENCI_CFILT_CMPT_CR_DLY(delay) (delay & 0xf) |
---|
| 1039 | +#define ENCI_CFILT_CMPT_CB_DLY(delay) ((delay & 0xf) << 4) |
---|
| 1040 | +#define ENCI_CFILT_CVBS_CR_DLY(delay) ((delay & 0xf) << 8) |
---|
| 1041 | +#define ENCI_CFILT_CVBS_CB_DLY(delay) ((delay & 0xf) << 12) |
---|
813 | 1042 | #define ENCI_DACSEL_0 0x1c0b |
---|
814 | 1043 | #define ENCI_DACSEL_1 0x1c0c |
---|
815 | 1044 | #define ENCP_DACSEL_0 0x1c0d |
---|
.. | .. |
---|
824 | 1053 | #define ENCI_TST_CLRBAR_WIDTH 0x1c16 |
---|
825 | 1054 | #define ENCI_TST_VDCNT_STSET 0x1c17 |
---|
826 | 1055 | #define ENCI_VFIFO2VD_CTL 0x1c18 |
---|
| 1056 | +#define ENCI_VFIFO2VD_CTL_ENABLE BIT(0) |
---|
| 1057 | +#define ENCI_VFIFO2VD_CTL_VD_SEL(val) ((val & 0xff) << 8) |
---|
827 | 1058 | #define ENCI_VFIFO2VD_PIXEL_START 0x1c19 |
---|
828 | 1059 | #define ENCI_VFIFO2VD_PIXEL_END 0x1c1a |
---|
829 | 1060 | #define ENCI_VFIFO2VD_LINE_TOP_START 0x1c1b |
---|
.. | .. |
---|
886 | 1117 | #define VENC_VDAC_DAC5_FILT_CTRL0 0x1c56 |
---|
887 | 1118 | #define VENC_VDAC_DAC5_FILT_CTRL1 0x1c57 |
---|
888 | 1119 | #define VENC_VDAC_DAC0_FILT_CTRL0 0x1c58 |
---|
| 1120 | +#define VENC_VDAC_DAC0_FILT_CTRL0_EN BIT(0) |
---|
889 | 1121 | #define VENC_VDAC_DAC0_FILT_CTRL1 0x1c59 |
---|
890 | 1122 | #define VENC_VDAC_DAC1_FILT_CTRL0 0x1c5a |
---|
891 | 1123 | #define VENC_VDAC_DAC1_FILT_CTRL1 0x1c5b |
---|
.. | .. |
---|
1012 | 1244 | #define RDMA_AHB_START_ADDR_7 0x110e |
---|
1013 | 1245 | #define RDMA_AHB_END_ADDR_7 0x110f |
---|
1014 | 1246 | #define RDMA_ACCESS_AUTO 0x1110 |
---|
| 1247 | +#define RDMA_ACCESS_TRIGGER_CHAN3 GENMASK(31, 24) |
---|
| 1248 | +#define RDMA_ACCESS_TRIGGER_CHAN2 GENMASK(23, 16) |
---|
| 1249 | +#define RDMA_ACCESS_TRIGGER_CHAN1 GENMASK(15, 8) |
---|
| 1250 | +#define RDMA_ACCESS_TRIGGER_STOP 0 |
---|
| 1251 | +#define RDMA_ACCESS_TRIGGER_VSYNC 1 |
---|
| 1252 | +#define RDMA_ACCESS_TRIGGER_LINE 32 |
---|
| 1253 | +#define RDMA_ACCESS_RW_FLAG_CHAN3 BIT(7) |
---|
| 1254 | +#define RDMA_ACCESS_RW_FLAG_CHAN2 BIT(6) |
---|
| 1255 | +#define RDMA_ACCESS_RW_FLAG_CHAN1 BIT(5) |
---|
| 1256 | +#define RDMA_ACCESS_ADDR_INC_CHAN3 BIT(3) |
---|
| 1257 | +#define RDMA_ACCESS_ADDR_INC_CHAN2 BIT(2) |
---|
| 1258 | +#define RDMA_ACCESS_ADDR_INC_CHAN1 BIT(1) |
---|
1015 | 1259 | #define RDMA_ACCESS_AUTO2 0x1111 |
---|
| 1260 | +#define RDMA_ACCESS_RW_FLAG_CHAN7 BIT(7) |
---|
| 1261 | +#define RDMA_ACCESS_RW_FLAG_CHAN6 BIT(6) |
---|
| 1262 | +#define RDMA_ACCESS_RW_FLAG_CHAN5 BIT(5) |
---|
| 1263 | +#define RDMA_ACCESS_RW_FLAG_CHAN4 BIT(4) |
---|
| 1264 | +#define RDMA_ACCESS_ADDR_INC_CHAN7 BIT(3) |
---|
| 1265 | +#define RDMA_ACCESS_ADDR_INC_CHAN6 BIT(2) |
---|
| 1266 | +#define RDMA_ACCESS_ADDR_INC_CHAN5 BIT(1) |
---|
| 1267 | +#define RDMA_ACCESS_ADDR_INC_CHAN4 BIT(0) |
---|
1016 | 1268 | #define RDMA_ACCESS_AUTO3 0x1112 |
---|
| 1269 | +#define RDMA_ACCESS_TRIGGER_CHAN7 GENMASK(31, 24) |
---|
| 1270 | +#define RDMA_ACCESS_TRIGGER_CHAN6 GENMASK(23, 16) |
---|
| 1271 | +#define RDMA_ACCESS_TRIGGER_CHAN5 GENMASK(15, 8) |
---|
| 1272 | +#define RDMA_ACCESS_TRIGGER_CHAN4 GENMASK(7, 0) |
---|
1017 | 1273 | #define RDMA_ACCESS_MAN 0x1113 |
---|
| 1274 | +#define RDMA_ACCESS_MAN_RW_FLAG BIT(2) |
---|
| 1275 | +#define RDMA_ACCESS_MAN_ADDR_INC BIT(1) |
---|
| 1276 | +#define RDMA_ACCESS_MAN_START BIT(0) |
---|
1018 | 1277 | #define RDMA_CTRL 0x1114 |
---|
| 1278 | +#define RDMA_IRQ_CLEAR_CHAN7 BIT(31) |
---|
| 1279 | +#define RDMA_IRQ_CLEAR_CHAN6 BIT(30) |
---|
| 1280 | +#define RDMA_IRQ_CLEAR_CHAN5 BIT(29) |
---|
| 1281 | +#define RDMA_IRQ_CLEAR_CHAN4 BIT(28) |
---|
| 1282 | +#define RDMA_IRQ_CLEAR_CHAN3 BIT(27) |
---|
| 1283 | +#define RDMA_IRQ_CLEAR_CHAN2 BIT(26) |
---|
| 1284 | +#define RDMA_IRQ_CLEAR_CHAN1 BIT(25) |
---|
| 1285 | +#define RDMA_IRQ_CLEAR_CHAN_MAN BIT(24) |
---|
| 1286 | +#define RDMA_DEFAULT_CONFIG (BIT(7) | BIT(6)) |
---|
| 1287 | +#define RDMA_CTRL_AHB_WR_BURST GENMASK(5, 4) |
---|
| 1288 | +#define RDMA_CTRL_AHB_RD_BURST GENMASK(3, 2) |
---|
| 1289 | +#define RDMA_CTRL_SW_RESET BIT(1) |
---|
| 1290 | +#define RDMA_CTRL_FREE_CLK_EN BIT(0) |
---|
1019 | 1291 | #define RDMA_STATUS 0x1115 |
---|
| 1292 | +#define RDMA_IRQ_STAT_CHAN7 BIT(31) |
---|
| 1293 | +#define RDMA_IRQ_STAT_CHAN6 BIT(30) |
---|
| 1294 | +#define RDMA_IRQ_STAT_CHAN5 BIT(29) |
---|
| 1295 | +#define RDMA_IRQ_STAT_CHAN4 BIT(28) |
---|
| 1296 | +#define RDMA_IRQ_STAT_CHAN3 BIT(27) |
---|
| 1297 | +#define RDMA_IRQ_STAT_CHAN2 BIT(26) |
---|
| 1298 | +#define RDMA_IRQ_STAT_CHAN1 BIT(25) |
---|
| 1299 | +#define RDMA_IRQ_STAT_CHAN_MAN BIT(24) |
---|
1020 | 1300 | #define RDMA_STATUS2 0x1116 |
---|
1021 | 1301 | #define RDMA_STATUS3 0x1117 |
---|
1022 | 1302 | #define L_GAMMA_CNTL_PORT 0x1400 |
---|
.. | .. |
---|
1291 | 1571 | #define VIU2_SEL_VENC_ENCP (2 << 2) |
---|
1292 | 1572 | #define VIU2_SEL_VENC_ENCT (3 << 2) |
---|
1293 | 1573 | #define VPU_HDMI_SETTING 0x271b |
---|
| 1574 | +#define VPU_HDMI_ENCI_DATA_TO_HDMI BIT(0) |
---|
| 1575 | +#define VPU_HDMI_ENCP_DATA_TO_HDMI BIT(1) |
---|
| 1576 | +#define VPU_HDMI_INV_HSYNC BIT(2) |
---|
| 1577 | +#define VPU_HDMI_INV_VSYNC BIT(3) |
---|
| 1578 | +#define VPU_HDMI_OUTPUT_CRYCB (0 << 5) |
---|
| 1579 | +#define VPU_HDMI_OUTPUT_YCBCR (1 << 5) |
---|
| 1580 | +#define VPU_HDMI_OUTPUT_YCRCB (2 << 5) |
---|
| 1581 | +#define VPU_HDMI_OUTPUT_CBCRY (3 << 5) |
---|
| 1582 | +#define VPU_HDMI_OUTPUT_CBYCR (4 << 5) |
---|
| 1583 | +#define VPU_HDMI_OUTPUT_CRCBY (5 << 5) |
---|
| 1584 | +#define VPU_HDMI_WR_RATE(rate) (((rate & 0x1f) - 1) << 8) |
---|
| 1585 | +#define VPU_HDMI_RD_RATE(rate) (((rate & 0x1f) - 1) << 12) |
---|
1294 | 1586 | #define ENCI_INFO_READ 0x271c |
---|
1295 | 1587 | #define ENCP_INFO_READ 0x271d |
---|
1296 | 1588 | #define ENCT_INFO_READ 0x271e |
---|
.. | .. |
---|
1367 | 1659 | #define VPU_RDARB_MODE_L1C2 0x2799 |
---|
1368 | 1660 | #define VPU_RDARB_MODE_L2C1 0x279d |
---|
1369 | 1661 | #define VPU_WRARB_MODE_L2C1 0x27a2 |
---|
| 1662 | +#define VPU_RDARB_SLAVE_TO_MASTER_PORT(dc, port) (port << (16 + dc)) |
---|
1370 | 1663 | |
---|
1371 | 1664 | /* osd super scale */ |
---|
1372 | 1665 | #define OSDSR_HV_SIZEIN 0x3130 |
---|
.. | .. |
---|
1397 | 1690 | #define OSDSR_YBIC_VCOEF0 0x3149 |
---|
1398 | 1691 | #define OSDSR_CBIC_VCOEF0 0x314a |
---|
1399 | 1692 | |
---|
| 1693 | +/* osd afbcd on gxtvbb */ |
---|
| 1694 | +#define OSD1_AFBCD_ENABLE 0x31a0 |
---|
| 1695 | +#define OSD1_AFBCD_ID_FIFO_THRD GENMASK(15, 9) |
---|
| 1696 | +#define OSD1_AFBCD_DEC_ENABLE BIT(8) |
---|
| 1697 | +#define OSD1_AFBCD_FRM_START BIT(0) |
---|
| 1698 | +#define OSD1_AFBCD_MODE 0x31a1 |
---|
| 1699 | +#define OSD1_AFBCD_SOFT_RESET BIT(31) |
---|
| 1700 | +#define OSD1_AFBCD_AXI_REORDER_MODE BIT(28) |
---|
| 1701 | +#define OSD1_AFBCD_MIF_URGENT GENMASK(25, 24) |
---|
| 1702 | +#define OSD1_AFBCD_HOLD_LINE_NUM GENMASK(22, 16) |
---|
| 1703 | +#define OSD1_AFBCD_RGBA_EXCHAN_CTRL GENMASK(15, 8) |
---|
| 1704 | +#define OSD1_AFBCD_HREG_BLOCK_SPLIT BIT(6) |
---|
| 1705 | +#define OSD1_AFBCD_HREG_HALF_BLOCK BIT(5) |
---|
| 1706 | +#define OSD1_AFBCD_HREG_PIXEL_PACKING_FMT GENMASK(4, 0) |
---|
| 1707 | +#define OSD1_AFBCD_SIZE_IN 0x31a2 |
---|
| 1708 | +#define OSD1_AFBCD_HREG_VSIZE_IN GENMASK(31, 16) |
---|
| 1709 | +#define OSD1_AFBCD_HREG_HSIZE_IN GENMASK(15, 0) |
---|
| 1710 | +#define OSD1_AFBCD_HDR_PTR 0x31a3 |
---|
| 1711 | +#define OSD1_AFBCD_FRAME_PTR 0x31a4 |
---|
| 1712 | +#define OSD1_AFBCD_CHROMA_PTR 0x31a5 |
---|
| 1713 | +#define OSD1_AFBCD_CONV_CTRL 0x31a6 |
---|
| 1714 | +#define OSD1_AFBCD_CONV_LBUF_LEN GENMASK(15, 0) |
---|
| 1715 | +#define OSD1_AFBCD_STATUS 0x31a8 |
---|
| 1716 | +#define OSD1_AFBCD_PIXEL_HSCOPE 0x31a9 |
---|
| 1717 | +#define OSD1_AFBCD_DEC_PIXEL_BGN_H GENMASK(31, 16) |
---|
| 1718 | +#define OSD1_AFBCD_DEC_PIXEL_END_H GENMASK(15, 0) |
---|
| 1719 | +#define OSD1_AFBCD_PIXEL_VSCOPE 0x31aa |
---|
| 1720 | +#define OSD1_AFBCD_DEC_PIXEL_BGN_V GENMASK(31, 16) |
---|
| 1721 | +#define OSD1_AFBCD_DEC_PIXEL_END_V GENMASK(15, 0) |
---|
| 1722 | + |
---|
| 1723 | +/* add for gxm and 962e dv core2 */ |
---|
| 1724 | +#define DOLBY_CORE2A_SWAP_CTRL1 0x3434 |
---|
| 1725 | +#define DOLBY_CORE2A_SWAP_CTRL2 0x3435 |
---|
| 1726 | + |
---|
| 1727 | +/* osd afbc on g12a */ |
---|
| 1728 | +#define VPU_MAFBC_BLOCK_ID 0x3a00 |
---|
| 1729 | +#define VPU_MAFBC_IRQ_RAW_STATUS 0x3a01 |
---|
| 1730 | +#define VPU_MAFBC_IRQ_CLEAR 0x3a02 |
---|
| 1731 | +#define VPU_MAFBC_IRQ_MASK 0x3a03 |
---|
| 1732 | +#define VPU_MAFBC_IRQ_STATUS 0x3a04 |
---|
| 1733 | +#define VPU_MAFBC_IRQ_SECURE_ID_ERROR BIT(5) |
---|
| 1734 | +#define VPU_MAFBC_IRQ_AXI_ERROR BIT(4) |
---|
| 1735 | +#define VPU_MAFBC_IRQ_DETILING_ERROR BIT(3) |
---|
| 1736 | +#define VPU_MAFBC_IRQ_DECODE_ERROR BIT(2) |
---|
| 1737 | +#define VPU_MAFBC_IRQ_CONFIGURATION_SWAPPED BIT(1) |
---|
| 1738 | +#define VPU_MAFBC_IRQ_SURFACES_COMPLETED BIT(0) |
---|
| 1739 | +#define VPU_MAFBC_COMMAND 0x3a05 |
---|
| 1740 | +#define VPU_MAFBC_PENDING_SWAP BIT(1) |
---|
| 1741 | +#define VPU_MAFBC_DIRECT_SWAP BIT(0) |
---|
| 1742 | +#define VPU_MAFBC_STATUS 0x3a06 |
---|
| 1743 | +#define VPU_MAFBC_ERROR BIT(2) |
---|
| 1744 | +#define VPU_MAFBC_SWAPPING BIT(1) |
---|
| 1745 | +#define VPU_MAFBC_ACTIVE BIT(0) |
---|
| 1746 | +#define VPU_MAFBC_SURFACE_CFG 0x3a07 |
---|
| 1747 | +#define VPU_MAFBC_CONTINUOUS_DECODING_ENABLE BIT(16) |
---|
| 1748 | +#define VPU_MAFBC_S3_ENABLE BIT(3) |
---|
| 1749 | +#define VPU_MAFBC_S2_ENABLE BIT(2) |
---|
| 1750 | +#define VPU_MAFBC_S1_ENABLE BIT(1) |
---|
| 1751 | +#define VPU_MAFBC_S0_ENABLE BIT(0) |
---|
| 1752 | +#define VPU_MAFBC_HEADER_BUF_ADDR_LOW_S0 0x3a10 |
---|
| 1753 | +#define VPU_MAFBC_HEADER_BUF_ADDR_HIGH_S0 0x3a11 |
---|
| 1754 | +#define VPU_MAFBC_FORMAT_SPECIFIER_S0 0x3a12 |
---|
| 1755 | +#define VPU_MAFBC_PAYLOAD_LIMIT_EN BIT(19) |
---|
| 1756 | +#define VPU_MAFBC_TILED_HEADER_EN BIT(18) |
---|
| 1757 | +#define VPU_MAFBC_SUPER_BLOCK_ASPECT GENMASK(17, 16) |
---|
| 1758 | +#define VPU_MAFBC_BLOCK_SPLIT BIT(9) |
---|
| 1759 | +#define VPU_MAFBC_YUV_TRANSFORM BIT(8) |
---|
| 1760 | +#define VPU_MAFBC_PIXEL_FORMAT GENMASK(3, 0) |
---|
| 1761 | +#define VPU_MAFBC_BUFFER_WIDTH_S0 0x3a13 |
---|
| 1762 | +#define VPU_MAFBC_BUFFER_HEIGHT_S0 0x3a14 |
---|
| 1763 | +#define VPU_MAFBC_BOUNDING_BOX_X_START_S0 0x3a15 |
---|
| 1764 | +#define VPU_MAFBC_BOUNDING_BOX_X_END_S0 0x3a16 |
---|
| 1765 | +#define VPU_MAFBC_BOUNDING_BOX_Y_START_S0 0x3a17 |
---|
| 1766 | +#define VPU_MAFBC_BOUNDING_BOX_Y_END_S0 0x3a18 |
---|
| 1767 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_LOW_S0 0x3a19 |
---|
| 1768 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_HIGH_S0 0x3a1a |
---|
| 1769 | +#define VPU_MAFBC_OUTPUT_BUF_STRIDE_S0 0x3a1b |
---|
| 1770 | +#define VPU_MAFBC_PREFETCH_CFG_S0 0x3a1c |
---|
| 1771 | +#define VPU_MAFBC_PREFETCH_READ_DIRECTION_Y BIT(1) |
---|
| 1772 | +#define VPU_MAFBC_PREFETCH_READ_DIRECTION_X BIT(0) |
---|
| 1773 | + |
---|
| 1774 | +#define VPU_MAFBC_HEADER_BUF_ADDR_LOW_S1 0x3a30 |
---|
| 1775 | +#define VPU_MAFBC_HEADER_BUF_ADDR_HIGH_S1 0x3a31 |
---|
| 1776 | +#define VPU_MAFBC_FORMAT_SPECIFIER_S1 0x3a32 |
---|
| 1777 | +#define VPU_MAFBC_BUFFER_WIDTH_S1 0x3a33 |
---|
| 1778 | +#define VPU_MAFBC_BUFFER_HEIGHT_S1 0x3a34 |
---|
| 1779 | +#define VPU_MAFBC_BOUNDING_BOX_X_START_S1 0x3a35 |
---|
| 1780 | +#define VPU_MAFBC_BOUNDING_BOX_X_END_S1 0x3a36 |
---|
| 1781 | +#define VPU_MAFBC_BOUNDING_BOX_Y_START_S1 0x3a37 |
---|
| 1782 | +#define VPU_MAFBC_BOUNDING_BOX_Y_END_S1 0x3a38 |
---|
| 1783 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_LOW_S1 0x3a39 |
---|
| 1784 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_HIGH_S1 0x3a3a |
---|
| 1785 | +#define VPU_MAFBC_OUTPUT_BUF_STRIDE_S1 0x3a3b |
---|
| 1786 | +#define VPU_MAFBC_PREFETCH_CFG_S1 0x3a3c |
---|
| 1787 | + |
---|
| 1788 | +#define VPU_MAFBC_HEADER_BUF_ADDR_LOW_S2 0x3a50 |
---|
| 1789 | +#define VPU_MAFBC_HEADER_BUF_ADDR_HIGH_S2 0x3a51 |
---|
| 1790 | +#define VPU_MAFBC_FORMAT_SPECIFIER_S2 0x3a52 |
---|
| 1791 | +#define VPU_MAFBC_BUFFER_WIDTH_S2 0x3a53 |
---|
| 1792 | +#define VPU_MAFBC_BUFFER_HEIGHT_S2 0x3a54 |
---|
| 1793 | +#define VPU_MAFBC_BOUNDING_BOX_X_START_S2 0x3a55 |
---|
| 1794 | +#define VPU_MAFBC_BOUNDING_BOX_X_END_S2 0x3a56 |
---|
| 1795 | +#define VPU_MAFBC_BOUNDING_BOX_Y_START_S2 0x3a57 |
---|
| 1796 | +#define VPU_MAFBC_BOUNDING_BOX_Y_END_S2 0x3a58 |
---|
| 1797 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_LOW_S2 0x3a59 |
---|
| 1798 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_HIGH_S2 0x3a5a |
---|
| 1799 | +#define VPU_MAFBC_OUTPUT_BUF_STRIDE_S2 0x3a5b |
---|
| 1800 | +#define VPU_MAFBC_PREFETCH_CFG_S2 0x3a5c |
---|
| 1801 | + |
---|
| 1802 | +#define VPU_MAFBC_HEADER_BUF_ADDR_LOW_S3 0x3a70 |
---|
| 1803 | +#define VPU_MAFBC_HEADER_BUF_ADDR_HIGH_S3 0x3a71 |
---|
| 1804 | +#define VPU_MAFBC_FORMAT_SPECIFIER_S3 0x3a72 |
---|
| 1805 | +#define VPU_MAFBC_BUFFER_WIDTH_S3 0x3a73 |
---|
| 1806 | +#define VPU_MAFBC_BUFFER_HEIGHT_S3 0x3a74 |
---|
| 1807 | +#define VPU_MAFBC_BOUNDING_BOX_X_START_S3 0x3a75 |
---|
| 1808 | +#define VPU_MAFBC_BOUNDING_BOX_X_END_S3 0x3a76 |
---|
| 1809 | +#define VPU_MAFBC_BOUNDING_BOX_Y_START_S3 0x3a77 |
---|
| 1810 | +#define VPU_MAFBC_BOUNDING_BOX_Y_END_S3 0x3a78 |
---|
| 1811 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_LOW_S3 0x3a79 |
---|
| 1812 | +#define VPU_MAFBC_OUTPUT_BUF_ADDR_HIGH_S3 0x3a7a |
---|
| 1813 | +#define VPU_MAFBC_OUTPUT_BUF_STRIDE_S3 0x3a7b |
---|
| 1814 | +#define VPU_MAFBC_PREFETCH_CFG_S3 0x3a7c |
---|
| 1815 | + |
---|
| 1816 | +#define DOLBY_PATH_CTRL 0x1a0c |
---|
| 1817 | +#define DOLBY_BYPASS_EN(val) (val & 0xf) |
---|
| 1818 | +#define OSD_PATH_MISC_CTRL 0x1a0e |
---|
| 1819 | +#define OSD_PATH_OSD_AXI_SEL_OSD1_AFBCD BIT(4) |
---|
| 1820 | +#define OSD_PATH_OSD_AXI_SEL_OSD2_AFBCD BIT(5) |
---|
| 1821 | +#define OSD_PATH_OSD_AXI_SEL_OSD3_AFBCD BIT(6) |
---|
| 1822 | +#define MALI_AFBCD_TOP_CTRL 0x1a0f |
---|
| 1823 | +#define MALI_AFBCD_MANUAL_RESET BIT(23) |
---|
| 1824 | + |
---|
| 1825 | +#define VIU_OSD_BLEND_CTRL 0x39b0 |
---|
| 1826 | +#define VIU_OSD_BLEND_REORDER(dest, src) ((src) << (dest * 4)) |
---|
| 1827 | +#define VIU_OSD_BLEND_DIN_EN(bits) ((bits & 0xf) << 20) |
---|
| 1828 | +#define VIU_OSD_BLEND1_DIN3_BYPASS_TO_DOUT1 BIT(24) |
---|
| 1829 | +#define VIU_OSD_BLEND1_DOUT_BYPASS_TO_BLEND2 BIT(25) |
---|
| 1830 | +#define VIU_OSD_BLEND_DIN0_BYPASS_TO_DOUT0 BIT(26) |
---|
| 1831 | +#define VIU_OSD_BLEND_BLEN2_PREMULT_EN(input) ((input & 0x3) << 27) |
---|
| 1832 | +#define VIU_OSD_BLEND_HOLD_LINES(lines) ((lines & 0x7) << 29) |
---|
| 1833 | +#define VIU_OSD_BLEND_CTRL1 0x39c0 |
---|
| 1834 | +#define VIU_OSD_BLEND_DIN0_SCOPE_H 0x39b1 |
---|
| 1835 | +#define VIU_OSD_BLEND_DIN0_SCOPE_V 0x39b2 |
---|
| 1836 | +#define VIU_OSD_BLEND_DIN1_SCOPE_H 0x39b3 |
---|
| 1837 | +#define VIU_OSD_BLEND_DIN1_SCOPE_V 0x39b4 |
---|
| 1838 | +#define VIU_OSD_BLEND_DIN2_SCOPE_H 0x39b5 |
---|
| 1839 | +#define VIU_OSD_BLEND_DIN2_SCOPE_V 0x39b6 |
---|
| 1840 | +#define VIU_OSD_BLEND_DIN3_SCOPE_H 0x39b7 |
---|
| 1841 | +#define VIU_OSD_BLEND_DIN3_SCOPE_V 0x39b8 |
---|
| 1842 | +#define VIU_OSD_BLEND_DUMMY_DATA0 0x39b9 |
---|
| 1843 | +#define VIU_OSD_BLEND_DUMMY_ALPHA 0x39ba |
---|
| 1844 | +#define VIU_OSD_BLEND_BLEND0_SIZE 0x39bb |
---|
| 1845 | +#define VIU_OSD_BLEND_BLEND1_SIZE 0x39bc |
---|
| 1846 | +#define VIU_OSD_BLEND_RO_CURRENT_XY 0x39bf |
---|
| 1847 | + |
---|
| 1848 | +#define VPP_OUT_H_V_SIZE 0x1da5 |
---|
| 1849 | + |
---|
| 1850 | +#define VPP_VD2_HDR_IN_SIZE 0x1df0 |
---|
| 1851 | +#define VPP_OSD1_IN_SIZE 0x1df1 |
---|
| 1852 | +#define VPP_GCLK_CTRL2 0x1df2 |
---|
| 1853 | +#define VD2_PPS_DUMMY_DATA 0x1df4 |
---|
| 1854 | +#define VPP_OSD1_BLD_H_SCOPE 0x1df5 |
---|
| 1855 | +#define VPP_OSD1_BLD_V_SCOPE 0x1df6 |
---|
| 1856 | +#define VPP_OSD2_BLD_H_SCOPE 0x1df7 |
---|
| 1857 | +#define VPP_OSD2_BLD_V_SCOPE 0x1df8 |
---|
| 1858 | +#define VPP_WRBAK_CTRL 0x1df9 |
---|
| 1859 | +#define VPP_SLEEP_CTRL 0x1dfa |
---|
| 1860 | +#define VD1_BLEND_SRC_CTRL 0x1dfb |
---|
| 1861 | +#define VD2_BLEND_SRC_CTRL 0x1dfc |
---|
| 1862 | +#define VD_BLEND_PREBLD_SRC_VD1 (1 << 0) |
---|
| 1863 | +#define VD_BLEND_PREBLD_SRC_VD2 (2 << 0) |
---|
| 1864 | +#define VD_BLEND_PREBLD_SRC_OSD1 (3 << 0) |
---|
| 1865 | +#define VD_BLEND_PREBLD_SRC_OSD2 (4 << 0) |
---|
| 1866 | +#define VD_BLEND_PREBLD_PREMULT_EN BIT(4) |
---|
| 1867 | +#define VD_BLEND_POSTBLD_SRC_VD1 (1 << 8) |
---|
| 1868 | +#define VD_BLEND_POSTBLD_SRC_VD2 (2 << 8) |
---|
| 1869 | +#define VD_BLEND_POSTBLD_SRC_OSD1 (3 << 8) |
---|
| 1870 | +#define VD_BLEND_POSTBLD_SRC_OSD2 (4 << 8) |
---|
| 1871 | +#define VD_BLEND_POSTBLD_PREMULT_EN BIT(16) |
---|
| 1872 | +#define OSD1_BLEND_SRC_CTRL 0x1dfd |
---|
| 1873 | +#define OSD2_BLEND_SRC_CTRL 0x1dfe |
---|
| 1874 | +#define OSD_BLEND_POSTBLD_SRC_VD1 (1 << 8) |
---|
| 1875 | +#define OSD_BLEND_POSTBLD_SRC_VD2 (2 << 8) |
---|
| 1876 | +#define OSD_BLEND_POSTBLD_SRC_OSD1 (3 << 8) |
---|
| 1877 | +#define OSD_BLEND_POSTBLD_SRC_OSD2 (4 << 8) |
---|
| 1878 | +#define OSD_BLEND_PATH_SEL_ENABLE BIT(20) |
---|
| 1879 | + |
---|
| 1880 | +#define VPP_POST_BLEND_BLEND_DUMMY_DATA 0x3968 |
---|
| 1881 | +#define VPP_POST_BLEND_DUMMY_ALPHA 0x3969 |
---|
| 1882 | +#define VPP_RDARB_MODE 0x3978 |
---|
| 1883 | +#define VPP_RDARB_REQEN_SLV 0x3979 |
---|
| 1884 | + |
---|
1400 | 1885 | #endif /* __MESON_REGISTERS_H */ |
---|