• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
2 /*
3  * include/linux/v4l2-common.h
4  *
5  * Common V4L2 and V4L2 subdev definitions.
6  *
7  * Users are advised to #include this file either through videodev2.h
8  * (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer
9  * to this file directly.
10  *
11  * Copyright (C) 2012 Nokia Corporation
12  * Contact: Sakari Ailus <sakari.ailus@iki.fi>
13  */
14 
15 #ifndef __V4L2_COMMON__
16 #define __V4L2_COMMON__
17 
18 #include <sys/types.h>
19 
20 /*
21  *
22  * Selection interface definitions
23  *
24  */
25 
26 /* Current cropping area */
27 #define V4L2_SEL_TGT_CROP		0x0000
28 /* Default cropping area */
29 #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
30 /* Cropping bounds */
31 #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
32 /* Native frame size */
33 #define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
34 /* Current composing area */
35 #define V4L2_SEL_TGT_COMPOSE		0x0100
36 /* Default composing area */
37 #define V4L2_SEL_TGT_COMPOSE_DEFAULT	0x0101
38 /* Composing bounds */
39 #define V4L2_SEL_TGT_COMPOSE_BOUNDS	0x0102
40 /* Current composing area plus all padding pixels */
41 #define V4L2_SEL_TGT_COMPOSE_PADDED	0x0103
42 
43 /* Selection flags */
44 #define V4L2_SEL_FLAG_GE		(1 << 0)
45 #define V4L2_SEL_FLAG_LE		(1 << 1)
46 #define V4L2_SEL_FLAG_KEEP_CONFIG	(1 << 2)
47 
48 struct v4l2_edid {
49 	uint32_t pad;
50 	uint32_t start_block;
51 	uint32_t blocks;
52 	uint32_t reserved[5];
53 	uint8_t  *edid;
54 };
55 
56 /* Backward compatibility target definitions --- to be removed. */
57 #define V4L2_SEL_TGT_CROP_ACTIVE	V4L2_SEL_TGT_CROP
58 #define V4L2_SEL_TGT_COMPOSE_ACTIVE	V4L2_SEL_TGT_COMPOSE
59 #define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL	V4L2_SEL_TGT_CROP
60 #define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE
61 #define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS	V4L2_SEL_TGT_CROP_BOUNDS
62 #define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS
63 
64 /* Backward compatibility flag definitions --- to be removed. */
65 #define V4L2_SUBDEV_SEL_FLAG_SIZE_GE	V4L2_SEL_FLAG_GE
66 #define V4L2_SUBDEV_SEL_FLAG_SIZE_LE	V4L2_SEL_FLAG_LE
67 #define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
68 
69 #endif /* __V4L2_COMMON__ */
70