[PATCH 07/10] uapi: linux: Xylon framebuffer driver header file
Driver header file containing structures and IOCTLs for user space applications to be able to use advanced logiCVC hw functionality. Signed-off-by: Davor Joja --- include/uapi/linux/xylonfb.h | 85 1 file changed, 85 insertions(+) create mode 100644 include/uapi/linux/xylonfb.h diff --git a/include/uapi/linux/xylonfb.h b/include/uapi/linux/xylonfb.h new file mode 100644 index 000..662c02f --- /dev/null +++ b/include/uapi/linux/xylonfb.h @@ -0,0 +1,85 @@ +/* + * Xylon logiCVC frame buffer driver IOCTL parameters + * + * Copyright (C) 2015 Xylon d.o.o. + * Author: Davor Joja + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __XYLONFB_H__ +#define __XYLONFB_H__ + +#include + +struct xylonfb_hw_access { + __u32 offset; + __u32 value; + bool set; +}; + +/* Used only with logiCVC 3.x */ +struct xylonfb_layer_buffer { + __u8 id; + bool set; +}; + +struct xylonfb_layer_color { + __u32 raw_rgb; + __u8 use_raw; + __u8 r; + __u8 g; + __u8 b; + bool set; +}; + +struct xylonfb_layer_geometry { + __u16 x; + __u16 y; + __u16 width; + __u16 height; + __u16 x_offset; + __u16 y_offset; + bool set; +}; + +struct xylonfb_layer_transparency { + __u8 alpha; + bool set; +}; + +/* Xylon FB IOCTL's */ +#define XYLONFB_IOW(num, dtype)_IOW('x', num, dtype) +#define XYLONFB_IOR(num, dtype)_IOR('x', num, dtype) +#define XYLONFB_IOWR(num, dtype) _IOWR('x', num, dtype) +#define XYLONFB_IO(num)_IO('x', num) + +#define XYLONFB_VSYNC_CTRL XYLONFB_IOR(30, bool) +#define XYLONFB_LAYER_IDX XYLONFB_IOR(31, unsigned int) +#define XYLONFB_LAYER_ALPHA\ + XYLONFB_IOR(32, struct xylonfb_layer_transparency) +#define XYLONFB_LAYER_COLOR_TRANSP_CTRLXYLONFB_IOW(33, bool) +#define XYLONFB_LAYER_COLOR_TRANSP \ + XYLONFB_IOR(34, struct xylonfb_layer_color) +#define XYLONFB_LAYER_GEOMETRY \ + XYLONFB_IOR(35, struct xylonfb_layer_geometry) +#define XYLONFB_LAYER_BUFFER \ + XYLONFB_IOR(36, struct xylonfb_layer_buffer) +#define XYLONFB_LAYER_BUFFER_OFFSETXYLONFB_IOR(37, unsigned int) +#define XYLONFB_BACKGROUND_COLOR \ + XYLONFB_IOR(38, struct xylonfb_layer_color) +#define XYLONFB_LAYER_EXT_BUFF_SWITCH XYLONFB_IOW(39, bool) +#define XYLONFB_HW_ACCESS \ + XYLONFB_IOR(40, struct xylonfb_hw_access) +#define XYLONFB_IP_CORE_VERSIONXYLONFB_IOR(41, __u32) +#define XYLONFB_WAIT_EDID XYLONFB_IOW(42, unsigned int) +#define XYLONFB_GET_EDID XYLONFB_IOR(43, char) + +#endif /* __XYLONFB_H__ */ -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 07/10] uapi: linux: Xylon framebuffer driver header file
Driver header file containing structures and IOCTLs for user space apps to be able to use complete logiCVC hw functionality. Signed-off-by: Davor Joja --- include/uapi/linux/xylonfb.h | 85 1 file changed, 85 insertions(+) create mode 100644 include/uapi/linux/xylonfb.h diff --git a/include/uapi/linux/xylonfb.h b/include/uapi/linux/xylonfb.h new file mode 100644 index 000..5db8344 --- /dev/null +++ b/include/uapi/linux/xylonfb.h @@ -0,0 +1,85 @@ +/* + * Xylon logiCVC frame buffer driver IOCTL parameters + * + * Copyright (C) 2014 Xylon d.o.o. + * Author: Davor Joja + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __XYLONFB_H__ +#define __XYLONFB_H__ + +#include + +struct xylonfb_hw_access { + __u32 offset; + __u32 value; + bool set; +}; + +/* Used only with logiCVC 3.x */ +struct xylonfb_layer_buffer { + __u8 id; + bool set; +}; + +struct xylonfb_layer_color { + __u32 raw_rgb; + __u8 use_raw; + __u8 r; + __u8 g; + __u8 b; + bool set; +}; + +struct xylonfb_layer_geometry { + __u16 x; + __u16 y; + __u16 width; + __u16 height; + __u16 x_offset; + __u16 y_offset; + bool set; +}; + +struct xylonfb_layer_transparency { + __u8 alpha; + bool set; +}; + +/* Xylon FB IOCTL's */ +#define XYLONFB_IOW(num, dtype)_IOW('x', num, dtype) +#define XYLONFB_IOR(num, dtype)_IOR('x', num, dtype) +#define XYLONFB_IOWR(num, dtype) _IOWR('x', num, dtype) +#define XYLONFB_IO(num)_IO('x', num) + +#define XYLONFB_VSYNC_CTRL XYLONFB_IOR(30, bool) +#define XYLONFB_LAYER_IDX XYLONFB_IOR(31, unsigned int) +#define XYLONFB_LAYER_ALPHA\ + XYLONFB_IOR(32, struct xylonfb_layer_transparency) +#define XYLONFB_LAYER_COLOR_TRANSP_CTRLXYLONFB_IOW(33, bool) +#define XYLONFB_LAYER_COLOR_TRANSP \ + XYLONFB_IOR(34, struct xylonfb_layer_color) +#define XYLONFB_LAYER_GEOMETRY \ + XYLONFB_IOR(35, struct xylonfb_layer_geometry) +#define XYLONFB_LAYER_BUFFER \ + XYLONFB_IOR(36, struct xylonfb_layer_buffer) +#define XYLONFB_LAYER_BUFFER_OFFSETXYLONFB_IOR(37, unsigned int) +#define XYLONFB_BACKGROUND_COLOR \ + XYLONFB_IOR(38, struct xylonfb_layer_color) +#define XYLONFB_LAYER_EXT_BUFF_SWITCH XYLONFB_IOW(39, bool) +#define XYLONFB_HW_ACCESS \ + XYLONFB_IOR(40, struct xylonfb_hw_access) +#define XYLONFB_IP_CORE_VERSIONXYLONFB_IOR(41, __u32) +#define XYLONFB_WAIT_EDID XYLONFB_IOW(42, unsigned int) +#define XYLONFB_GET_EDID XYLONFB_IOR(43, char) + +#endif /* __XYLONFB_H__ */ -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/