Files
TAIXIN/sdk/include/dev/isp/hgisp_v0.h

82 lines
2.1 KiB
C

#ifndef _HGISP_V0_H_
#define _HGISP_V0_H_
#include "hal/isp.h"
#include "lib/video/dvp/cmos_sensor/csi.h"
#ifdef __cplusplus
extern "C" {
#endif
enum isp_data_type {
ISP_DAT_GAMMA_R = 0,
ISP_DAT_GAMMA_G,
ISP_DAT_GAMMA_B,
ISP_DAT_GAMMA_Y,
ISP_DAT_HIST_R = BIT(2),
ISP_DAT_HIST_G,
ISP_DAT_HIST_B,
ISP_DAT_HIST_Y,
ISP_DAT_LSC = BIT(3),
ISP_DAT_GTMO = BIT(4),
ISP_DAT_HDR_HIST0 = BIT(5),
ISP_DAT_HDR_HIST1 = BIT(6),
ISP_DAT_INFRA = BIT(7),
};
enum isp_data_size{
ISP_DAT_SINGLE_GAMMA_SIZE = 0x100,
ISP_DAT_HIST_SIZE = 0x400,
ISP_DAT_GAMMA_SIZE = 0x400,
ISP_DAT_LSC_SIZE = 0x990,
// ISP_DAT_GTMO_SIZE = 0x304,
// ISP_DAT_HDR_HIST0_SIZE = 0x2E0,
// ISP_DAT_HDR_HIST1_SIZE = 0x2E0,
ISP_DAT_GTMO_SIZE = 0x000,
ISP_DAT_HDR_HIST0_SIZE = 0x000,
ISP_DAT_HDR_HIST1_SIZE = 0x000,
};
enum{
LL_ISP_ENABLE_FUNC_GAMMA = BIT(0),
LL_ISP_ENABLE_FUNC_HIST = BIT(1),
LL_ISP_ENABLE_FUNC_LSC = BIT(2),
LL_ISP_ENABLE_FUNC_GTMO = BIT(3),
LL_ISP_ENABLE_FUNC_HDR_HIST0 = BIT(4),
LL_ISP_ENABLE_FUNC_HDR_HIST1 = BIT(5),
};
enum {
ISP_LUMA_CA_MODE_0,
ISP_LUMA_CA_MODE_IRON,
ISP_LUMA_CA_MODE_GLOWBOW,
ISP_LUMA_CA_MODE_RAINBOW,
};
/** @brief ISP operating handle structure
* @{
*/
struct hgisp_v0 {
struct isp_device dev ;
uint32 hw ;
uint32 data_hw ;
isp_irq_hdl irq_hdl ;
uint32 irq_data ;
uint32 slave_index : 16,
curr_index : 16 ;
uint32 irq_num : 16,
opened : 1,
dsleep : 1,
dma_en : 1,
reserved : 12;
uint16 i2c_devid[4];
uint16 i2c_opt[4];
uint32 module;
};
int32 hgisp_v0_attach(uint32 dev_id, struct hgisp_v0 *isp);
void image_isp_status();
#ifdef __cplusplus
}
#endif
#endif /* _HGISP_V0_H_ */