blob: b8402eab82b4b4d963fd6ef45e899da11fb7f4d6 [file] [log] [blame]
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -07001/****************************************************************************
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 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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 ***
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __SOC2030_H__
20#define __SOC2030_H__
Ben Cheng654325d2012-03-07 21:13:49 -080021#include <linux/ioctl.h>
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070022#define SOC2030_IOCTL_SET_MODE _IOWR('o', 1, struct soc2030_mode)
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070024#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)
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070029#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)
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070032#define SOC2030_IOCTL_SET_LOCK _IOWR('o', 9, struct soc2030_lock)
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070034#define SOC2030_POLL_WAITMS 50
35#define SOC2030_MAX_RETRIES 3
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070036#define SOC2030_POLL_RETRIES 7
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070037#define SOC2030_MAX_PRIVATE_SIZE 1024
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070039#define SOC2030_MAX_NUM_MODES 6
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070040#define SOC_EV_MAX 2
41#define SOC_EV_MIN -2
42#define EXP_TARGET 0x32
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070044enum {
45 REG_TABLE_END,
46 WRITE_REG_DATA,
47 WRITE_REG_BIT_H,
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070049 WRITE_REG_BIT_L,
50 POLL_REG_DATA,
51 POLL_REG_BIT_H,
52 POLL_REG_BIT_L,
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070054 WRITE_VAR_DATA,
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070055 POLL_VAR_DATA,
56 DELAY_MS,
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070057 WRITE_REG_VAR1,
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070059 WRITE_REG_VAR2,
60 WRITE_REG_VAR3,
61 WRITE_REG_VAR4,
62 READ_REG_VAR1,
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070064 READ_REG_VAR2,
65 READ_REG_VAR3,
66 READ_REG_VAR4,
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070067};
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -070069#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)
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070074enum {
75 EFFECT_NONE,
76 EFFECT_BW,
77 EFFECT_NEGATIVE,
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070079 EFFECT_POSTERIZE,
80 EFFECT_SEPIA,
81 EFFECT_SOLARIZE,
82 EFFECT_AQUA,
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070084 EFFECT_MAX,
85};
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070086enum {
87 WB_AUTO,
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070089 WB_INCANDESCENT,
90 WB_FLUORESCENT,
91 WB_DAYLIGHT,
92 WB_CLOUDYDAYLIGHT,
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavin6858e652010-10-22 18:44:52 -070094 WB_NIGHT,
95 WB_MAX,
96};
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070097struct soc2030_regs {
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -070099 __u8 op;
100 __u16 addr;
101 __u16 val;
102};
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -0700104struct soc2030_lock {
Ben Cheng654325d2012-03-07 21:13:49 -0800105 __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;
Eino-Ville Talvala0d9f87a2011-10-31 10:52:50 -0700111};
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -0700112struct soc2030_mode {
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -0700114 int xres;
115 int yres;
116 int fps;
117 struct soc2030_regs *regset;
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -0700119};
Rebecca Schultz Zavindb21d7e2010-09-23 23:19:26 -0700120#endif