123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- // =============================================================================
- // File : Gem_isp_sys.h
- // Version : v1.0
- // Author : Honglei Zhu
- // Date : 2014.12.5
- // -----------------------------------------------------------------------------
- // Description :
- //
- // -----------------------------------------------------------------------------
- #ifndef _GEM_ISP_SYS_H_
- #define _GEM_ISP_SYS_H_
- #include "Gem_isp.h"
- #define USE_ISR_TO_SWITCH_MODE
- #define GEM_SYS_BASE (0x000)
- #define GEM_MSK_BASE (0x05c)
- // �µ�ERISֱ��ͼ�汾
- #define GEM_STS_BASE (0x1a8 + 0x0c + 0x0c) // ����3���Ĵ���
- #define GEM_VIFRASE_BASE (0x6d * 4) // ���֡��
- typedef struct isp_sys_
- {
- unsigned char ispenbale; // 1 bit
- unsigned char ckpolar; // 1 bit
- unsigned char vcpolar; // 1 bit
- unsigned char hcpolar; // 1 bit
- unsigned char vmskenable; // 1 bit, ����, ��������Ϊ0
- unsigned char frameratei; // 8 bit
- unsigned char framerateo; // 8 bit, ����, ��������Ϊ0
- unsigned int vifrasel0; // 32bit, ���֡���п���, ���ɶ���64֡
- unsigned int vifrasel1;
- unsigned char resizebit; // bit16-bit17, Raw data resize (0:normal 1:cut 1bit 2: cut 2 bit 3: cut 3 bit)
- unsigned char sensorbit; // 2 bit
- unsigned char bayermode; // 2 bit
- unsigned char sonyif;
- unsigned int sonysac1;
- unsigned int sonysac2;
- unsigned int sonysac3;
- unsigned int sonysac4;
- unsigned int imagewidth; // 16 bit
- unsigned int imageheight; // 16 bit
- unsigned int imagehblank; // 16 bit
- unsigned int zonestridex; // 16 bit
- unsigned int zonestridey; // 16 bit
- unsigned char vmanSftenable;
- unsigned char vchkIntenable;
- unsigned char pabtIntenable;
- unsigned char fendIntenable;
- unsigned char fabtIntenable;
- unsigned char babtIntenable;
- unsigned char ffiqIntenable;
- unsigned char pendIntenable;
- unsigned char infoIntenable; // "�ع�״̬��Ϣ�����(��ʾ���Զ�ȡAE״̬��Ϣ)"�ж�����λ,
- // ISP�ڲ����ع�ͳ�������, �ⲿ�����ʱ������ȷ��ȡAE��Ϣ, ִ����һ���ع��
- unsigned char vmanSftset;
- unsigned char vchkIntclr;
- unsigned char pabtIntclr;
- unsigned char fendIntset;
- unsigned char fendIntclr;
- unsigned char fabtIntclr;
- unsigned char babtIntclr;
- unsigned char ffiqIntclr;
- unsigned char pendIntclr;
- unsigned char infoStaclr; // ���ISP���ع�ͳ����ɱ�ʶ
- unsigned char vchkIntraw;
- unsigned char pabtIntraw;
- unsigned char fendIntraw;
- unsigned char fabtIntraw;
- unsigned char babtIntraw;
- unsigned char ffiqIntraw;
- unsigned char pendIntraw;
- unsigned char infoIntraw;
- unsigned char vchkIntmsk;
- unsigned char pabtIntmsk;
- unsigned char fendIntmsk;
- unsigned char fabtIntmsk;
- unsigned char babtIntmsk;
- unsigned char ffiqIntmsk;
- unsigned char pendIntmsk;
- unsigned char infoIntmsk;
- unsigned char preserve0;
- unsigned char preserve1;
- unsigned char fendIntid[4];
- unsigned int ffiqIntdelay;
- unsigned char fendStaid;
- unsigned char infoStadone;
- unsigned char debugmode; // 1 bit, 0 �رյ���ģʽ, 1 �������ģʽ
- unsigned char testenable; // 1 bit, 0 �ر�dram����ģʽ, 1 ����dram����ģʽ
- unsigned char rawmenable; // 1 bit, 0: �ر�RAW������� 1: ����RAW�������
- unsigned char yuvenable; // 1 bit, 0: �ر�YUV������� 1: ����YUV�������
- unsigned char refenable; // 1 bit���ر�3D����ʱ��Ӧͬʱdisable�ο�֡�� ����ISP�������д�ο�֡��
- unsigned char yuvformat; // 2 bit
- unsigned char dmalock; // 2 bit, �����ᵼ��H264 codecʱ������
- // 2: ʹ��, ��ȡЧ�ʸ�
- // ������ֵ: �ر�
- unsigned int hstride; // 16 bit
- unsigned int refaddr; // 32 bit
- unsigned int rawaddr0; // 32 bit
- unsigned int rawaddr1; // 32 bit
- unsigned int rawaddr2; // 32 bit
- unsigned int rawaddr3; // 32 bit
- unsigned int yaddr0; // 32 bit
- unsigned int yaddr1; // 32 bit
- unsigned int yaddr2; // 32 bit
- unsigned int yaddr3; // 32 bit
- unsigned int uaddr0; // 32 bit
- unsigned int uaddr1; // 32 bit
- unsigned int uaddr2; // 32 bit
- unsigned int uaddr3; // 32 bit
- unsigned int vaddr0; // 32 bit
- unsigned int vaddr1; // 32 bit
- unsigned int vaddr2; // 32 bit
- unsigned int vaddr3; // 32 bit
- unsigned int frameno; // 32 bit
- unsigned int isp_reset_request; // ISP�쳣����Ҫ��λ����
- } isp_sys_t;
- typedef struct isp_sys_ *isp_sys_ptr_t;
- void isp_sys_init (isp_sys_ptr_t p_sys, isp_param_ptr_t p_isp);
- void isp_sys_init_io (isp_sys_ptr_t p_sys);
- unsigned int isp_sys_status_read(isp_sys_ptr_t p_sys);
- unsigned int get_isp_framebufferno(void);
- unsigned int return_isp_frame(void);
- void Reset_isp_frame(void);
- void isp_sys_infomask_clr (void);
- void isp_disable (void);
- void isp_enable (void);
- void isp_dump_sys_register (void);
- void isp_sys_set_frame_ready (unsigned int frame_id);
- #endif
|