122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI__LINUX_OMAPFB_H__
2022851890Sopenharmony_ci#define _UAPI__LINUX_OMAPFB_H__
2122851890Sopenharmony_ci#include <linux/fb.h>
2222851890Sopenharmony_ci#include <linux/ioctl.h>
2322851890Sopenharmony_ci#include <linux/types.h>
2422851890Sopenharmony_ci#define OMAP_IOW(num,dtype) _IOW('O', num, dtype)
2522851890Sopenharmony_ci#define OMAP_IOR(num,dtype) _IOR('O', num, dtype)
2622851890Sopenharmony_ci#define OMAP_IOWR(num,dtype) _IOWR('O', num, dtype)
2722851890Sopenharmony_ci#define OMAP_IO(num) _IO('O', num)
2822851890Sopenharmony_ci#define OMAPFB_MIRROR OMAP_IOW(31, int)
2922851890Sopenharmony_ci#define OMAPFB_SYNC_GFX OMAP_IO(37)
3022851890Sopenharmony_ci#define OMAPFB_VSYNC OMAP_IO(38)
3122851890Sopenharmony_ci#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int)
3222851890Sopenharmony_ci#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps)
3322851890Sopenharmony_ci#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int)
3422851890Sopenharmony_ci#define OMAPFB_LCD_TEST OMAP_IOW(45, int)
3522851890Sopenharmony_ci#define OMAPFB_CTRL_TEST OMAP_IOW(46, int)
3622851890Sopenharmony_ci#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old)
3722851890Sopenharmony_ci#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key)
3822851890Sopenharmony_ci#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key)
3922851890Sopenharmony_ci#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info)
4022851890Sopenharmony_ci#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info)
4122851890Sopenharmony_ci#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window)
4222851890Sopenharmony_ci#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info)
4322851890Sopenharmony_ci#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info)
4422851890Sopenharmony_ci#define OMAPFB_WAITFORVSYNC OMAP_IO(57)
4522851890Sopenharmony_ci#define OMAPFB_MEMORY_READ OMAP_IOR(58, struct omapfb_memory_read)
4622851890Sopenharmony_ci#define OMAPFB_GET_OVERLAY_COLORMODE OMAP_IOR(59, struct omapfb_ovl_colormode)
4722851890Sopenharmony_ci#define OMAPFB_WAITFORGO OMAP_IO(60)
4822851890Sopenharmony_ci#define OMAPFB_GET_VRAM_INFO OMAP_IOR(61, struct omapfb_vram_info)
4922851890Sopenharmony_ci#define OMAPFB_SET_TEARSYNC OMAP_IOW(62, struct omapfb_tearsync_info)
5022851890Sopenharmony_ci#define OMAPFB_GET_DISPLAY_INFO OMAP_IOR(63, struct omapfb_display_info)
5122851890Sopenharmony_ci#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff
5222851890Sopenharmony_ci#define OMAPFB_CAPS_LCDC_MASK 0x00fff000
5322851890Sopenharmony_ci#define OMAPFB_CAPS_PANEL_MASK 0xff000000
5422851890Sopenharmony_ci#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000
5522851890Sopenharmony_ci#define OMAPFB_CAPS_TEARSYNC 0x00002000
5622851890Sopenharmony_ci#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000
5722851890Sopenharmony_ci#define OMAPFB_CAPS_PLANE_SCALE 0x00008000
5822851890Sopenharmony_ci#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000
5922851890Sopenharmony_ci#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000
6022851890Sopenharmony_ci#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000
6122851890Sopenharmony_ci#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000
6222851890Sopenharmony_ci#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000
6322851890Sopenharmony_ci#define OMAPFB_FORMAT_MASK 0x00ff
6422851890Sopenharmony_ci#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100
6522851890Sopenharmony_ci#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200
6622851890Sopenharmony_ci#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400
6722851890Sopenharmony_ci#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800
6822851890Sopenharmony_ci#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000
6922851890Sopenharmony_ci#define OMAPFB_MEMTYPE_SDRAM 0
7022851890Sopenharmony_ci#define OMAPFB_MEMTYPE_SRAM 1
7122851890Sopenharmony_ci#define OMAPFB_MEMTYPE_MAX 1
7222851890Sopenharmony_ci#define OMAPFB_MEM_IDX_ENABLED 0x80
7322851890Sopenharmony_ci#define OMAPFB_MEM_IDX_MASK 0x7f
7422851890Sopenharmony_cienum omapfb_color_format {
7522851890Sopenharmony_ci  OMAPFB_COLOR_RGB565 = 0,
7622851890Sopenharmony_ci  OMAPFB_COLOR_YUV422,
7722851890Sopenharmony_ci  OMAPFB_COLOR_YUV420,
7822851890Sopenharmony_ci  OMAPFB_COLOR_CLUT_8BPP,
7922851890Sopenharmony_ci  OMAPFB_COLOR_CLUT_4BPP,
8022851890Sopenharmony_ci  OMAPFB_COLOR_CLUT_2BPP,
8122851890Sopenharmony_ci  OMAPFB_COLOR_CLUT_1BPP,
8222851890Sopenharmony_ci  OMAPFB_COLOR_RGB444,
8322851890Sopenharmony_ci  OMAPFB_COLOR_YUY422,
8422851890Sopenharmony_ci  OMAPFB_COLOR_ARGB16,
8522851890Sopenharmony_ci  OMAPFB_COLOR_RGB24U,
8622851890Sopenharmony_ci  OMAPFB_COLOR_RGB24P,
8722851890Sopenharmony_ci  OMAPFB_COLOR_ARGB32,
8822851890Sopenharmony_ci  OMAPFB_COLOR_RGBA32,
8922851890Sopenharmony_ci  OMAPFB_COLOR_RGBX32,
9022851890Sopenharmony_ci};
9122851890Sopenharmony_cistruct omapfb_update_window {
9222851890Sopenharmony_ci  __u32 x, y;
9322851890Sopenharmony_ci  __u32 width, height;
9422851890Sopenharmony_ci  __u32 format;
9522851890Sopenharmony_ci  __u32 out_x, out_y;
9622851890Sopenharmony_ci  __u32 out_width, out_height;
9722851890Sopenharmony_ci  __u32 reserved[8];
9822851890Sopenharmony_ci};
9922851890Sopenharmony_cistruct omapfb_update_window_old {
10022851890Sopenharmony_ci  __u32 x, y;
10122851890Sopenharmony_ci  __u32 width, height;
10222851890Sopenharmony_ci  __u32 format;
10322851890Sopenharmony_ci};
10422851890Sopenharmony_cienum omapfb_plane {
10522851890Sopenharmony_ci  OMAPFB_PLANE_GFX = 0,
10622851890Sopenharmony_ci  OMAPFB_PLANE_VID1,
10722851890Sopenharmony_ci  OMAPFB_PLANE_VID2,
10822851890Sopenharmony_ci};
10922851890Sopenharmony_cienum omapfb_channel_out {
11022851890Sopenharmony_ci  OMAPFB_CHANNEL_OUT_LCD = 0,
11122851890Sopenharmony_ci  OMAPFB_CHANNEL_OUT_DIGIT,
11222851890Sopenharmony_ci};
11322851890Sopenharmony_cistruct omapfb_plane_info {
11422851890Sopenharmony_ci  __u32 pos_x;
11522851890Sopenharmony_ci  __u32 pos_y;
11622851890Sopenharmony_ci  __u8 enabled;
11722851890Sopenharmony_ci  __u8 channel_out;
11822851890Sopenharmony_ci  __u8 mirror;
11922851890Sopenharmony_ci  __u8 mem_idx;
12022851890Sopenharmony_ci  __u32 out_width;
12122851890Sopenharmony_ci  __u32 out_height;
12222851890Sopenharmony_ci  __u32 reserved2[12];
12322851890Sopenharmony_ci};
12422851890Sopenharmony_cistruct omapfb_mem_info {
12522851890Sopenharmony_ci  __u32 size;
12622851890Sopenharmony_ci  __u8 type;
12722851890Sopenharmony_ci  __u8 reserved[3];
12822851890Sopenharmony_ci};
12922851890Sopenharmony_cistruct omapfb_caps {
13022851890Sopenharmony_ci  __u32 ctrl;
13122851890Sopenharmony_ci  __u32 plane_color;
13222851890Sopenharmony_ci  __u32 wnd_color;
13322851890Sopenharmony_ci};
13422851890Sopenharmony_cienum omapfb_color_key_type {
13522851890Sopenharmony_ci  OMAPFB_COLOR_KEY_DISABLED = 0,
13622851890Sopenharmony_ci  OMAPFB_COLOR_KEY_GFX_DST,
13722851890Sopenharmony_ci  OMAPFB_COLOR_KEY_VID_SRC,
13822851890Sopenharmony_ci};
13922851890Sopenharmony_cistruct omapfb_color_key {
14022851890Sopenharmony_ci  __u8 channel_out;
14122851890Sopenharmony_ci  __u32 background;
14222851890Sopenharmony_ci  __u32 trans_key;
14322851890Sopenharmony_ci  __u8 key_type;
14422851890Sopenharmony_ci};
14522851890Sopenharmony_cienum omapfb_update_mode {
14622851890Sopenharmony_ci  OMAPFB_UPDATE_DISABLED = 0,
14722851890Sopenharmony_ci  OMAPFB_AUTO_UPDATE,
14822851890Sopenharmony_ci  OMAPFB_MANUAL_UPDATE
14922851890Sopenharmony_ci};
15022851890Sopenharmony_cistruct omapfb_memory_read {
15122851890Sopenharmony_ci  __u16 x;
15222851890Sopenharmony_ci  __u16 y;
15322851890Sopenharmony_ci  __u16 w;
15422851890Sopenharmony_ci  __u16 h;
15522851890Sopenharmony_ci  size_t buffer_size;
15622851890Sopenharmony_ci  void __user * buffer;
15722851890Sopenharmony_ci};
15822851890Sopenharmony_cistruct omapfb_ovl_colormode {
15922851890Sopenharmony_ci  __u8 overlay_idx;
16022851890Sopenharmony_ci  __u8 mode_idx;
16122851890Sopenharmony_ci  __u32 bits_per_pixel;
16222851890Sopenharmony_ci  __u32 nonstd;
16322851890Sopenharmony_ci  struct fb_bitfield red;
16422851890Sopenharmony_ci  struct fb_bitfield green;
16522851890Sopenharmony_ci  struct fb_bitfield blue;
16622851890Sopenharmony_ci  struct fb_bitfield transp;
16722851890Sopenharmony_ci};
16822851890Sopenharmony_cistruct omapfb_vram_info {
16922851890Sopenharmony_ci  __u32 total;
17022851890Sopenharmony_ci  __u32 free;
17122851890Sopenharmony_ci  __u32 largest_free_block;
17222851890Sopenharmony_ci  __u32 reserved[5];
17322851890Sopenharmony_ci};
17422851890Sopenharmony_cistruct omapfb_tearsync_info {
17522851890Sopenharmony_ci  __u8 enabled;
17622851890Sopenharmony_ci  __u8 reserved1[3];
17722851890Sopenharmony_ci  __u16 line;
17822851890Sopenharmony_ci  __u16 reserved2;
17922851890Sopenharmony_ci};
18022851890Sopenharmony_cistruct omapfb_display_info {
18122851890Sopenharmony_ci  __u16 xres;
18222851890Sopenharmony_ci  __u16 yres;
18322851890Sopenharmony_ci  __u32 width;
18422851890Sopenharmony_ci  __u32 height;
18522851890Sopenharmony_ci  __u32 reserved[5];
18622851890Sopenharmony_ci};
18722851890Sopenharmony_ci#endif
188