1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19#ifndef __SOC2030_H__ 20#define __SOC2030_H__ 21#include <linux/ioctl.h> 22#define SOC2030_IOCTL_SET_MODE _IOWR('o', 1, struct soc2030_mode) 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24#define SOC2030_IOCTL_GET_STATUS _IOC(_IOC_READ, 'o', 2, 10) 25#define SOC2030_IOCTL_SET_PRIVATE _IOWR('o', 3, struct soc2030_regs) 26#define SOC2030_IOCTL_GET_MODES _IO('o', 4) 27#define SOC2030_IOCTL_GET_NUM_MODES _IOR('o', 5, unsigned int) 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29#define SOC2030_IOCTL_SET_EFFECT _IOWR('o', 6, unsigned int) 30#define SOC2030_IOCTL_SET_WHITEBALANCE _IOWR('o', 7, unsigned int) 31#define SOC2030_IOCTL_SET_EXP_COMP _IOWR('o', 8, int) 32#define SOC2030_IOCTL_SET_LOCK _IOWR('o', 9, struct soc2030_lock) 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34#define SOC2030_POLL_WAITMS 50 35#define SOC2030_MAX_RETRIES 3 36#define SOC2030_POLL_RETRIES 7 37#define SOC2030_MAX_PRIVATE_SIZE 1024 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39#define SOC2030_MAX_NUM_MODES 6 40#define SOC_EV_MAX 2 41#define SOC_EV_MIN -2 42#define EXP_TARGET 0x32 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44enum { 45 REG_TABLE_END, 46 WRITE_REG_DATA, 47 WRITE_REG_BIT_H, 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 WRITE_REG_BIT_L, 50 POLL_REG_DATA, 51 POLL_REG_BIT_H, 52 POLL_REG_BIT_L, 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 WRITE_VAR_DATA, 55 POLL_VAR_DATA, 56 DELAY_MS, 57 WRITE_REG_VAR1, 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 WRITE_REG_VAR2, 60 WRITE_REG_VAR3, 61 WRITE_REG_VAR4, 62 READ_REG_VAR1, 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 READ_REG_VAR2, 65 READ_REG_VAR3, 66 READ_REG_VAR4, 67}; 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69#define REG_VAR1 (READ_REG_VAR1 - READ_REG_VAR1) 70#define REG_VAR2 (READ_REG_VAR2 - READ_REG_VAR1) 71#define REG_VAR3 (READ_REG_VAR3 - READ_REG_VAR1) 72#define REG_VAR4 (READ_REG_VAR4 - READ_REG_VAR1) 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74enum { 75 EFFECT_NONE, 76 EFFECT_BW, 77 EFFECT_NEGATIVE, 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 EFFECT_POSTERIZE, 80 EFFECT_SEPIA, 81 EFFECT_SOLARIZE, 82 EFFECT_AQUA, 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 EFFECT_MAX, 85}; 86enum { 87 WB_AUTO, 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 WB_INCANDESCENT, 90 WB_FLUORESCENT, 91 WB_DAYLIGHT, 92 WB_CLOUDYDAYLIGHT, 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 WB_NIGHT, 95 WB_MAX, 96}; 97struct soc2030_regs { 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 __u8 op; 100 __u16 addr; 101 __u16 val; 102}; 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104struct soc2030_lock { 105 __u8 aelock; 106 __u8 aerelock; 107 __u8 awblock; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __u8 awbrelock; 110 __u8 previewactive; 111}; 112struct soc2030_mode { 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 int xres; 115 int yres; 116 int fps; 117 struct soc2030_regs *regset; 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119}; 120#endif 121