82 lines
2.1 KiB
C
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_ */
|