mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
include: rk-camera-module: add control for sensor adapter driver
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com> Change-Id: I2d434a4b608bf6e6168237280e75c933fc192df3
This commit is contained in:
@@ -11,6 +11,8 @@
|
||||
|
||||
#define RKMODULE_API_VERSION KERNEL_VERSION(0, 1, 0x2)
|
||||
|
||||
/* using for rk3588 dual isp unite */
|
||||
#define RKMOUDLE_UNITE_EXTEND_PIXEL 128
|
||||
/* using for rv1109 and rv1126 */
|
||||
#define RKMODULE_EXTEND_LINE 24
|
||||
|
||||
@@ -28,6 +30,11 @@
|
||||
#define RKMODULE_CAMERA_MODULE_NAME "rockchip,camera-module-name"
|
||||
#define RKMODULE_CAMERA_LENS_NAME "rockchip,camera-module-lens-name"
|
||||
|
||||
#define RKMODULE_CAMERA_SYNC_MODE "rockchip,camera-module-sync-mode"
|
||||
#define RKMODULE_INTERNAL_MASTER_MODE "internal_master"
|
||||
#define RKMODULE_EXTERNAL_MASTER_MODE "external_master"
|
||||
#define RKMODULE_SLAVE_MODE "slave"
|
||||
|
||||
/* BT.656 & BT.1120 multi channel
|
||||
* On which channels it can send video data
|
||||
* related with struct rkmodule_bt656_mbus_info
|
||||
@@ -107,6 +114,64 @@
|
||||
#define RKMODULE_GET_SONY_BRL \
|
||||
_IOR('V', BASE_VIDIOC_PRIVATE + 19, __u32)
|
||||
|
||||
#define RKMODULE_GET_CHANNEL_INFO \
|
||||
_IOWR('V', BASE_VIDIOC_PRIVATE + 20, struct rkmodule_channel_info)
|
||||
|
||||
#define RKMODULE_GET_SYNC_MODE \
|
||||
_IOR('V', BASE_VIDIOC_PRIVATE + 21, __u32)
|
||||
|
||||
#define RKMODULE_SET_SYNC_MODE \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 22, __u32)
|
||||
|
||||
#define RKMODULE_SET_MCLK \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 23, __u32)
|
||||
|
||||
#define RKMODULE_SET_LINK_FREQ \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 24, __s64)
|
||||
|
||||
#define RKMODULE_SET_BUS_CONFIG \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 25, struct rkmodule_bus_config)
|
||||
|
||||
#define RKMODULE_GET_BUS_CONFIG \
|
||||
_IOR('V', BASE_VIDIOC_PRIVATE + 26, struct rkmodule_bus_config)
|
||||
|
||||
#define RKMODULE_SET_REGISTER \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 27, struct rkmodule_reg)
|
||||
|
||||
#define RKMODULE_SYNC_I2CDEV \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 28, __u8)
|
||||
|
||||
#define RKMODULE_SYNC_I2CDEV_COMPLETE \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 29, __u8)
|
||||
|
||||
/* csi0/csi1 phy support full/split mode */
|
||||
enum rkmodule_phy_mode {
|
||||
PHY_FULL_MODE,
|
||||
PHY_SPLIT_01,
|
||||
PHY_SPLIT_23,
|
||||
};
|
||||
|
||||
struct rkmodule_mipi_lvds_bus {
|
||||
__u32 bus_type;
|
||||
__u32 lanes;
|
||||
__u32 phy_mode; /* data type enum rkmodule_phy_mode */
|
||||
};
|
||||
|
||||
struct rkmodule_bus_config {
|
||||
union {
|
||||
struct rkmodule_mipi_lvds_bus bus;
|
||||
__u32 reserved[32];
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct rkmodule_reg {
|
||||
__u64 num_regs;
|
||||
__u64 preg_addr;
|
||||
__u64 preg_value;
|
||||
__u64 preg_addr_bytes;
|
||||
__u64 preg_value_bytes;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/**
|
||||
* struct rkmodule_base_inf - module base information
|
||||
*
|
||||
@@ -498,4 +563,23 @@ struct rkmodule_dcg_ratio {
|
||||
__u32 div_coeff;
|
||||
};
|
||||
|
||||
struct rkmodule_channel_info {
|
||||
__u32 index;
|
||||
__u32 vc;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 bus_fmt;
|
||||
__u32 data_type;
|
||||
__u32 data_bit;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* sensor exposure sync mode
|
||||
*/
|
||||
enum rkmodule_sync_mode {
|
||||
NO_SYNC_MODE = 0,
|
||||
EXTERNAL_MASTER_MODE,
|
||||
INTERNAL_MASTER_MODE,
|
||||
SLAVE_MODE,
|
||||
};
|
||||
#endif /* _UAPI_RKMODULE_CAMERA_H */
|
||||
|
||||
Reference in New Issue
Block a user