1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de> |
4 | * |
5 | * generic videomode description |
6 | */ |
7 | |
8 | #ifndef __LINUX_VIDEOMODE_H |
9 | #define __LINUX_VIDEOMODE_H |
10 | |
11 | #include <linux/types.h> |
12 | #include <video/display_timing.h> |
13 | |
14 | /* |
15 | * Subsystem independent description of a videomode. |
16 | * Can be generated from struct display_timing. |
17 | */ |
18 | struct videomode { |
19 | unsigned long pixelclock; /* pixelclock in Hz */ |
20 | |
21 | u32 hactive; |
22 | u32 hfront_porch; |
23 | u32 hback_porch; |
24 | u32 hsync_len; |
25 | |
26 | u32 vactive; |
27 | u32 vfront_porch; |
28 | u32 vback_porch; |
29 | u32 vsync_len; |
30 | |
31 | enum display_flags flags; /* display flags */ |
32 | }; |
33 | |
34 | /** |
35 | * videomode_from_timing - convert display timing to videomode |
36 | * @dt: display_timing structure |
37 | * @vm: return value |
38 | * |
39 | * DESCRIPTION: |
40 | * This function converts a struct display_timing to a struct videomode. |
41 | */ |
42 | void videomode_from_timing(const struct display_timing *dt, |
43 | struct videomode *vm); |
44 | |
45 | /** |
46 | * videomode_from_timings - convert one display timings entry to videomode |
47 | * @disp: structure with all possible timing entries |
48 | * @vm: return value |
49 | * @index: index into the list of display timings in devicetree |
50 | * |
51 | * DESCRIPTION: |
52 | * This function converts one struct display_timing entry to a struct videomode. |
53 | */ |
54 | int videomode_from_timings(const struct display_timings *disp, |
55 | struct videomode *vm, unsigned int index); |
56 | |
57 | #endif |
58 | |