New headers for camera
Change-Id: I1136aba4aa0d588c7c37da9774bd69a78bcac656 Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
This commit is contained in:
parent
c6d4084ad0
commit
db21d7e4ed
63
libc/kernel/common/media/ov5650.h
Normal file
63
libc/kernel/common/media/ov5650.h
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
****************************************************************************
|
||||||
|
***
|
||||||
|
*** This header was automatically generated from a Linux kernel header
|
||||||
|
*** of the same name, to make information necessary for userspace to
|
||||||
|
*** call into the kernel available to libc. It contains only constants,
|
||||||
|
*** structures, and macros generated from the original header, and thus,
|
||||||
|
*** contains no copyrightable information.
|
||||||
|
***
|
||||||
|
****************************************************************************
|
||||||
|
****************************************************************************/
|
||||||
|
#ifndef __OV5650_H__
|
||||||
|
#define __OV5650_H__
|
||||||
|
|
||||||
|
#include <linux/ioctl.h>
|
||||||
|
|
||||||
|
#define OV5650_IOCTL_SET_MODE _IOW('o', 1, struct ov5650_mode)
|
||||||
|
#define OV5650_IOCTL_SET_FRAME_LENGTH _IOW('o', 2, __u32)
|
||||||
|
#define OV5650_IOCTL_SET_COARSE_TIME _IOW('o', 3, __u32)
|
||||||
|
#define OV5650_IOCTL_SET_GAIN _IOW('o', 4, __u16)
|
||||||
|
#define OV5650_IOCTL_GET_STATUS _IOR('o', 5, __u8)
|
||||||
|
#define OV5650_IOCTL_GET_OTP _IOR('o', 6, struct ov5650_otp_data)
|
||||||
|
#define OV5650_IOCTL_TEST_PATTERN _IOW('o', 7, enum ov5650_test_pattern)
|
||||||
|
|
||||||
|
enum ov5650_test_pattern {
|
||||||
|
TEST_PATTERN_NONE,
|
||||||
|
TEST_PATTERN_COLORBARS,
|
||||||
|
TEST_PATTERN_CHECKERBOARD
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ov5650_otp_data {
|
||||||
|
|
||||||
|
__u8 sensor_serial_num[6];
|
||||||
|
__u8 part_num[8];
|
||||||
|
__u8 lens_id[1];
|
||||||
|
__u8 manufacture_id[2];
|
||||||
|
__u8 factory_id[2];
|
||||||
|
__u8 manufacture_date[9];
|
||||||
|
__u8 manufacture_line[2];
|
||||||
|
|
||||||
|
__u32 module_serial_num;
|
||||||
|
__u8 focuser_liftoff[2];
|
||||||
|
__u8 focuser_macro[2];
|
||||||
|
__u8 reserved1[12];
|
||||||
|
__u8 shutter_cal[16];
|
||||||
|
__u8 reserved2[183];
|
||||||
|
|
||||||
|
__u16 crc;
|
||||||
|
__u8 reserved3[3];
|
||||||
|
__u8 auto_load[2];
|
||||||
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
|
struct ov5650_mode {
|
||||||
|
int xres;
|
||||||
|
int yres;
|
||||||
|
__u32 frame_length;
|
||||||
|
__u32 coarse_time;
|
||||||
|
__u16 gain;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
57
libc/kernel/common/media/soc2030.h
Normal file
57
libc/kernel/common/media/soc2030.h
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
****************************************************************************
|
||||||
|
***
|
||||||
|
*** This header was automatically generated from a Linux kernel header
|
||||||
|
*** of the same name, to make information necessary for userspace to
|
||||||
|
*** call into the kernel available to libc. It contains only constants,
|
||||||
|
*** structures, and macros generated from the original header, and thus,
|
||||||
|
*** contains no copyrightable information.
|
||||||
|
***
|
||||||
|
****************************************************************************
|
||||||
|
****************************************************************************/
|
||||||
|
#ifndef __SOC2030_H__
|
||||||
|
#define __SOC2030_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)
|
||||||
|
#define SOC2030_IOCTL_SET_PRIVATE _IOWR('o', 3, struct soc2030_regs)
|
||||||
|
#define SOC2030_IOCTL_GET_MODES _IO('o', 4)
|
||||||
|
#define SOC2030_IOCTL_GET_NUM_MODES _IOR('o', 5, unsigned int)
|
||||||
|
|
||||||
|
#define SOC2030_POLL_WAITMS 50
|
||||||
|
#define SOC2030_MAX_RETRIES 3
|
||||||
|
#define SOC2030_POLL_RETRIES 5
|
||||||
|
|
||||||
|
#define SOC2030_MAX_PRIVATE_SIZE 1024
|
||||||
|
#define SOC2030_MAX_NUM_MODES 6
|
||||||
|
|
||||||
|
enum {
|
||||||
|
REG_TABLE_END,
|
||||||
|
WRITE_REG_DATA,
|
||||||
|
WRITE_REG_BIT_H,
|
||||||
|
WRITE_REG_BIT_L,
|
||||||
|
POLL_REG_DATA,
|
||||||
|
POLL_REG_BIT_H,
|
||||||
|
POLL_REG_BIT_L,
|
||||||
|
POLL_VAR_DATA,
|
||||||
|
DELAY_MS,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct soc2030_regs {
|
||||||
|
__u8 op;
|
||||||
|
__u16 addr;
|
||||||
|
__u16 val;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct soc2030_mode {
|
||||||
|
int xres;
|
||||||
|
int yres;
|
||||||
|
int fps;
|
||||||
|
struct soc2030_regs *regset;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user