xref: /rk3399_rockchip-uboot/include/drm_modes.h (revision 21016d27c500da4326bdc59cd3505fcd85d236db)
1b9e63a96SMark Yao /*
2b9e63a96SMark Yao  * (C) Copyright 2008-2016 Fuzhou Rockchip Electronics Co., Ltd
3b9e63a96SMark Yao  *
4b9e63a96SMark Yao  * SPDX-License-Identifier:	GPL-2.0+
5b9e63a96SMark Yao  */
6b9e63a96SMark Yao 
7b9e63a96SMark Yao #ifndef _DRM_MODES_H
8b9e63a96SMark Yao #define _DRM_MODES_H
9b9e63a96SMark Yao 
10*21016d27SAlgea Cao #define DRM_MODE_TYPE_BUILTIN	BIT(0)
11*21016d27SAlgea Cao #define DRM_MODE_TYPE_CLOCK_C	(BIT(1) | DRM_MODE_TYPE_BUILTIN)
12*21016d27SAlgea Cao #define DRM_MODE_TYPE_CRTC_C	(BIT(2) | DRM_MODE_TYPE_BUILTIN)
13*21016d27SAlgea Cao #define DRM_MODE_TYPE_PREFERRED	BIT(3)
14*21016d27SAlgea Cao #define DRM_MODE_TYPE_DEFAULT	BIT(4)
15*21016d27SAlgea Cao #define DRM_MODE_TYPE_USERDEF	BIT(5)
16*21016d27SAlgea Cao #define DRM_MODE_TYPE_DRIVER	BIT(6)
17*21016d27SAlgea Cao 
18b9e63a96SMark Yao /* Video mode flags */
19b9e63a96SMark Yao /* bit compatible with the xorg definitions. */
20b9e63a96SMark Yao #define DRM_MODE_FLAG_PHSYNC			(1 << 0)
21b9e63a96SMark Yao #define DRM_MODE_FLAG_NHSYNC			(1 << 1)
22b9e63a96SMark Yao #define DRM_MODE_FLAG_PVSYNC			(1 << 2)
23b9e63a96SMark Yao #define DRM_MODE_FLAG_NVSYNC			(1 << 3)
24b9e63a96SMark Yao #define DRM_MODE_FLAG_INTERLACE			(1 << 4)
25b9e63a96SMark Yao #define DRM_MODE_FLAG_DBLSCAN			(1 << 5)
26b9e63a96SMark Yao #define DRM_MODE_FLAG_CSYNC			(1 << 6)
27b9e63a96SMark Yao #define DRM_MODE_FLAG_PCSYNC			(1 << 7)
28b9e63a96SMark Yao #define DRM_MODE_FLAG_NCSYNC			(1 << 8)
29b9e63a96SMark Yao #define DRM_MODE_FLAG_HSKEW			(1 << 9) /* hskew provided */
30b9e63a96SMark Yao #define DRM_MODE_FLAG_BCAST			(1 << 10)
31b9e63a96SMark Yao #define DRM_MODE_FLAG_PIXMUX			(1 << 11)
32b9e63a96SMark Yao #define DRM_MODE_FLAG_DBLCLK			(1 << 12)
33b9e63a96SMark Yao #define DRM_MODE_FLAG_CLKDIV2			(1 << 13)
34b9e63a96SMark Yao 
35b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_Unknown	0
36b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_VGA		1
37b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_DVII		2
38b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_DVID		3
39b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_DVIA		4
40b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_Composite	5
41b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_SVIDEO	6
42b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_LVDS		7
43b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_Component	8
44b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_9PinDIN	9
45b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_DisplayPort	10
46b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_HDMIA	11
47b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_HDMIB	12
48b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_TV		13
49b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_eDP		14
50b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_VIRTUAL      15
51b9e63a96SMark Yao #define DRM_MODE_CONNECTOR_DSI		16
52b9e63a96SMark Yao 
53b9e63a96SMark Yao #define DRM_EDID_PT_HSYNC_POSITIVE (1 << 1)
54b9e63a96SMark Yao #define DRM_EDID_PT_VSYNC_POSITIVE (1 << 2)
55b9e63a96SMark Yao #define DRM_EDID_PT_SEPARATE_SYNC  (3 << 3)
56b9e63a96SMark Yao #define DRM_EDID_PT_STEREO         (1 << 5)
57b9e63a96SMark Yao #define DRM_EDID_PT_INTERLACED     (1 << 7)
58b9e63a96SMark Yao 
59b9e63a96SMark Yao struct drm_display_mode {
60b9e63a96SMark Yao 	/* Proposed mode values */
61b9e63a96SMark Yao 	int clock;		/* in kHz */
62b9e63a96SMark Yao 	int hdisplay;
63b9e63a96SMark Yao 	int hsync_start;
64b9e63a96SMark Yao 	int hsync_end;
65b9e63a96SMark Yao 	int htotal;
66b9e63a96SMark Yao 	int vdisplay;
67b9e63a96SMark Yao 	int vsync_start;
68b9e63a96SMark Yao 	int vsync_end;
69b9e63a96SMark Yao 	int vtotal;
70b9e63a96SMark Yao 	int vrefresh;
71b9e63a96SMark Yao 	int vscan;
72b9e63a96SMark Yao 	unsigned int flags;
73*21016d27SAlgea Cao 	int picture_aspect_ratio;
74b9e63a96SMark Yao };
75b9e63a96SMark Yao 
76b9e63a96SMark Yao #endif
77