1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef __LINUX_MATROXFB_H__
3#define __LINUX_MATROXFB_H__
4
5#include <asm/ioctl.h>
6#include <linux/types.h>
7#include <linux/videodev2.h>
8#include <linux/fb.h>
9
10struct matroxioc_output_mode {
11	__u32	output;		/* which output */
12#define MATROXFB_OUTPUT_PRIMARY		0x0000
13#define MATROXFB_OUTPUT_SECONDARY	0x0001
14#define MATROXFB_OUTPUT_DFP		0x0002
15	__u32	mode;		/* which mode */
16#define MATROXFB_OUTPUT_MODE_PAL	0x0001
17#define MATROXFB_OUTPUT_MODE_NTSC	0x0002
18#define MATROXFB_OUTPUT_MODE_MONITOR	0x0080
19};
20#define MATROXFB_SET_OUTPUT_MODE	_IOW('n',0xFA,size_t)
21#define MATROXFB_GET_OUTPUT_MODE	_IOWR('n',0xFA,size_t)
22
23/* bitfield */
24#define MATROXFB_OUTPUT_CONN_PRIMARY	(1 << MATROXFB_OUTPUT_PRIMARY)
25#define MATROXFB_OUTPUT_CONN_SECONDARY	(1 << MATROXFB_OUTPUT_SECONDARY)
26#define MATROXFB_OUTPUT_CONN_DFP	(1 << MATROXFB_OUTPUT_DFP)
27/* connect these outputs to this framebuffer */
28#define MATROXFB_SET_OUTPUT_CONNECTION	_IOW('n',0xF8,size_t)
29/* which outputs are connected to this framebuffer */
30#define MATROXFB_GET_OUTPUT_CONNECTION	_IOR('n',0xF8,size_t)
31/* which outputs are available for this framebuffer */
32#define MATROXFB_GET_AVAILABLE_OUTPUTS	_IOR('n',0xF9,size_t)
33/* which outputs exist on this framebuffer */
34#define MATROXFB_GET_ALL_OUTPUTS	_IOR('n',0xFB,size_t)
35
36enum matroxfb_ctrl_id {
37  MATROXFB_CID_TESTOUT	 = V4L2_CID_PRIVATE_BASE,
38  MATROXFB_CID_DEFLICKER,
39  MATROXFB_CID_LAST
40};
41
42#endif
43
44