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 */ 44 enum { 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 */ 74 enum { 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 }; 86 enum { 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 }; 97 struct 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 */ 104 struct 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 }; 112 struct 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