diff options
Diffstat (limited to 'libc/kernel')
| -rw-r--r-- | libc/kernel/common/media/soc2030.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/libc/kernel/common/media/soc2030.h b/libc/kernel/common/media/soc2030.h index ad0ddfc..850ab13 100644 --- a/libc/kernel/common/media/soc2030.h +++ b/libc/kernel/common/media/soc2030.h @@ -12,7 +12,7 @@ #ifndef __SOC2030_H__ #define __SOC2030_H__ -#include <linux/ioctl.h> +#include <linux/ioctl.h> #define SOC2030_IOCTL_SET_MODE _IOWR('o', 1, struct soc2030_mode) #define SOC2030_IOCTL_GET_STATUS _IOC(_IOC_READ, 'o', 2, 10) @@ -22,10 +22,11 @@ #define SOC2030_IOCTL_SET_EFFECT _IOWR('o', 6, unsigned int) #define SOC2030_IOCTL_SET_WHITEBALANCE _IOWR('o', 7, unsigned int) #define SOC2030_IOCTL_SET_EXP_COMP _IOWR('o', 8, int) +#define SOC2030_IOCTL_SET_LOCK _IOWR('o', 9, struct soc2030_lock) #define SOC2030_POLL_WAITMS 50 #define SOC2030_MAX_RETRIES 3 -#define SOC2030_POLL_RETRIES 5 +#define SOC2030_POLL_RETRIES 7 #define SOC2030_MAX_PRIVATE_SIZE 1024 #define SOC2030_MAX_NUM_MODES 6 @@ -45,8 +46,21 @@ enum { WRITE_VAR_DATA, POLL_VAR_DATA, DELAY_MS, + WRITE_REG_VAR1, + WRITE_REG_VAR2, + WRITE_REG_VAR3, + WRITE_REG_VAR4, + READ_REG_VAR1, + READ_REG_VAR2, + READ_REG_VAR3, + READ_REG_VAR4, }; +#define REG_VAR1 (READ_REG_VAR1 - READ_REG_VAR1) +#define REG_VAR2 (READ_REG_VAR2 - READ_REG_VAR1) +#define REG_VAR3 (READ_REG_VAR3 - READ_REG_VAR1) +#define REG_VAR4 (READ_REG_VAR4 - READ_REG_VAR1) + enum { EFFECT_NONE, EFFECT_BW, @@ -74,6 +88,14 @@ struct soc2030_regs { __u16 val; }; +struct soc2030_lock { + __u8 aelock; + __u8 aerelock; + __u8 awblock; + __u8 awbrelock; + __u8 previewactive; +}; + struct soc2030_mode { int xres; int yres; @@ -82,5 +104,3 @@ struct soc2030_mode { }; #endif - - |
