embox

Форк
0
/
vesa_videomodes_table.c 
147 строк · 5.9 Кб
1
/**
2
 * @file
3
 *
4
 * @date Aug 27, 2021
5
 * @author Anton Bondarev
6
 */
7

8
#include <lib/libds/array.h>
9

10
#include <drivers/video/vesa_modes.h>
11
#include <drivers/video/fb.h>
12
#include <drivers/video/fb_videomodes.h>
13

14
static const struct fb_videomode vesa_modes[] = {
15
	/* 0 640x350-85 VESA */
16
	{ NULL, 85, 640, 350, 31746,  96, 32, 60, 32, 64, 3,
17
	  FB_SYNC_HOR_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA},
18
	/* 1 640x400-85 VESA */
19
	{ NULL, 85, 640, 400, 31746,  96, 32, 41, 01, 64, 3,
20
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
21
	/* 2 720x400-85 VESA */
22
	{ NULL, 85, 721, 400, 28169, 108, 36, 42, 01, 72, 3,
23
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
24
	/* 3 640x480-60 VESA */
25
	{ NULL, 60, 640, 480, 39682,  48, 16, 33, 10, 96, 2,
26
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
27
	/* 4 640x480-72 VESA */
28
	{ NULL, 72, 640, 480, 31746, 128, 24, 29, 9, 40, 2,
29
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
30
	/* 5 640x480-75 VESA */
31
	{ NULL, 75, 640, 480, 31746, 120, 16, 16, 01, 64, 3,
32
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
33
	/* 6 640x480-85 VESA */
34
	{ NULL, 85, 640, 480, 27777, 80, 56, 25, 01, 56, 3,
35
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
36
	/* 7 800x600-56 VESA */
37
	{ NULL, 56, 800, 600, 27777, 128, 24, 22, 01, 72, 2,
38
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
39
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
40
	/* 8 800x600-60 VESA */
41
	{ NULL, 60, 800, 600, 25000, 88, 40, 23, 01, 128, 4,
42
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
43
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
44
	/* 9 800x600-72 VESA */
45
	{ NULL, 72, 800, 600, 20000, 64, 56, 23, 37, 120, 6,
46
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
47
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
48
	/* 10 800x600-75 VESA */
49
	{ NULL, 75, 800, 600, 20202, 160, 16, 21, 01, 80, 3,
50
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
51
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
52
	/* 11 800x600-85 VESA */
53
	{ NULL, 85, 800, 600, 17761, 152, 32, 27, 01, 64, 3,
54
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
55
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
56
        /* 12 1024x768i-43 VESA */
57
	{ NULL, 43, 1024, 768, 22271, 56, 8, 41, 0, 176, 8,
58
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
59
	  FB_VMODE_INTERLACED, FB_MODE_IS_VESA },
60
	/* 13 1024x768-60 VESA */
61
	{ NULL, 60, 1024, 768, 15384, 160, 24, 29, 3, 136, 6,
62
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
63
	/* 14 1024x768-70 VESA */
64
	{ NULL, 70, 1024, 768, 13333, 144, 24, 29, 3, 136, 6,
65
	  0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
66
	/* 15 1024x768-75 VESA */
67
	{ NULL, 75, 1024, 768, 12690, 176, 16, 28, 1, 96, 3,
68
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
69
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
70
	/* 16 1024x768-85 VESA */
71
	{ NULL, 85, 1024, 768, 10582, 208, 48, 36, 1, 96, 3,
72
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
73
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
74
	/* 17 1152x864-75 VESA */
75
	{ NULL, 75, 1152, 864, 9259, 256, 64, 32, 1, 128, 3,
76
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
77
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
78
	/* 18 1280x960-60 VESA */
79
	{ NULL, 60, 1280, 960, 9259, 312, 96, 36, 1, 112, 3,
80
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
81
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
82
	/* 19 1280x960-85 VESA */
83
	{ NULL, 85, 1280, 960, 6734, 224, 64, 47, 1, 160, 3,
84
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
85
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
86
	/* 20 1280x1024-60 VESA */
87
	{ NULL, 60, 1280, 1024, 9259, 248, 48, 38, 1, 112, 3,
88
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
89
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
90
	/* 21 1280x1024-75 VESA */
91
	{ NULL, 75, 1280, 1024, 7407, 248, 16, 38, 1, 144, 3,
92
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
93
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
94
	/* 22 1280x1024-85 VESA */
95
	{ NULL, 85, 1280, 1024, 6349, 224, 64, 44, 1, 160, 3,
96
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
97
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
98
	/* 23 1600x1200-60 VESA */
99
	{ NULL, 60, 1600, 1200, 6172, 304, 64, 46, 1, 192, 3,
100
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
101
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
102
	/* 24 1600x1200-65 VESA */
103
	{ NULL, 65, 1600, 1200, 5698, 304,  64, 46, 1, 192, 3,
104
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
105
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
106
	/* 25 1600x1200-70 VESA */
107
	{ NULL, 70, 1600, 1200, 5291, 304, 64, 46, 1, 192, 3,
108
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
109
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
110
	/* 26 1600x1200-75 VESA */
111
	{ NULL, 75, 1600, 1200, 4938, 304, 64, 46, 1, 192, 3,
112
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
113
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
114
	/* 27 1600x1200-85 VESA */
115
	{ NULL, 85, 1600, 1200, 4357, 304, 64, 46, 1, 192, 3,
116
	  FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
117
	  FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
118
	/* 28 1792x1344-60 VESA */
119
	{ NULL, 60, 1792, 1344, 4882, 328, 128, 46, 1, 200, 3,
120
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
121
	/* 29 1792x1344-75 VESA */
122
	{ NULL, 75, 1792, 1344, 3831, 352, 96, 69, 1, 216, 3,
123
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
124
	/* 30 1856x1392-60 VESA */
125
	{ NULL, 60, 1856, 1392, 4580, 352, 96, 43, 1, 224, 3,
126
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
127
	/* 31 1856x1392-75 VESA */
128
	{ NULL, 75, 1856, 1392, 3472, 352, 128, 104, 1, 224, 3,
129
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
130
	/* 32 1920x1440-60 VESA */
131
	{ NULL, 60, 1920, 1440, 4273, 344, 128, 56, 1, 200, 3,
132
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
133
	/* 33 1920x1440-75 VESA */
134
	{ NULL, 75, 1920, 1440, 3367, 352, 144, 56, 1, 224, 3,
135
	  FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
136
	/* 34 480x272 STM32F7 LCD */
137
	{ NULL, 85, 480, 272, 31746,  96, 32, 60, 32, 64, 3,
138
	  FB_SYNC_HOR_HIGH_ACT, FB_VMODE_NONINTERLACED},
139
};
140

141
const struct fb_videomode *fb_get_videomode_table(struct fb_info *fb_info) {
142
	return vesa_modes;
143
}
144

145
int fb_get_videomode_table_size(struct fb_info *fb_info) {
146
	return  ARRAY_SIZE(vesa_modes);
147
}
148

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.