1*dbf21777SIcenowy Zheng /* SPDX-License-Identifier: GPL-2.0-only */ 2*dbf21777SIcenowy Zheng /* 3*dbf21777SIcenowy Zheng * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me> 4*dbf21777SIcenowy Zheng * 5*dbf21777SIcenowy Zheng * Based on vs_dc_hw.h, which is: 6*dbf21777SIcenowy Zheng * Copyright (C) 2023 VeriSilicon Holdings Co., Ltd. 7*dbf21777SIcenowy Zheng */ 8*dbf21777SIcenowy Zheng 9*dbf21777SIcenowy Zheng #ifndef _VS_BRIDGE_REGS_H_ 10*dbf21777SIcenowy Zheng #define _VS_BRIDGE_REGS_H_ 11*dbf21777SIcenowy Zheng 12*dbf21777SIcenowy Zheng #include <linux/bits.h> 13*dbf21777SIcenowy Zheng 14*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG(n) (0x1418 + 0x4 * (n)) 15*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_DE_EN BIT(0) 16*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_DE_POL BIT(1) 17*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_DAT_EN BIT(4) 18*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_DAT_POL BIT(5) 19*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_CLK_EN BIT(8) 20*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_CLK_POL BIT(9) 21*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_RUNNING BIT(12) 22*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_GAMMA BIT(13) 23*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_YUV BIT(16) 24*dbf21777SIcenowy Zheng 25*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG(n) (0x14B8 + 0x4 * (n)) 26*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG_FMT_MASK GENMASK(2, 0) 27*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG_FMT_RGB565 (0) 28*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG_FMT_RGB666 (3) 29*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG_FMT_RGB888 (5) 30*dbf21777SIcenowy Zheng #define VSDC_DISP_DPI_CONFIG_FMT_RGB101010 (6) 31*dbf21777SIcenowy Zheng 32*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_START 0x1CCC 33*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_START_RUNNING(n) BIT(n) 34*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_START_MULTI_DISP_SYNC BIT(3) 35*dbf21777SIcenowy Zheng 36*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG(n) (0x1CD0 + 0x4 * (n)) 37*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_DP_EN BIT(3) 38*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_FMT_MASK GENMASK(2, 0) 39*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_FMT_RGB565 (0) 40*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_FMT_RGB666 (1) 41*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_FMT_RGB888 (2) 42*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_FMT_RGB101010 (3) 43*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_MASK GENMASK(7, 4) 44*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_UYVY8 (2 << 4) 45*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_YUV8 (4 << 4) 46*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_UYVY10 (8 << 4) 47*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_YUV10 (10 << 4) 48*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_UYYVYY8 (12 << 4) 49*dbf21777SIcenowy Zheng #define VSDC_DISP_DP_CONFIG_YUV_FMT_UYYVYY10 (13 << 4) 50*dbf21777SIcenowy Zheng 51*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_EX(n) (0x2518 + 0x4 * (n)) 52*dbf21777SIcenowy Zheng #define VSDC_DISP_PANEL_CONFIG_EX_COMMIT BIT(0) 53*dbf21777SIcenowy Zheng 54*dbf21777SIcenowy Zheng #endif /* _VS_BRIDGE_REGS_H_ */ 55