xref: /linux/drivers/gpu/drm/verisilicon/vs_bridge_regs.h (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
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