#ifndef HG_SCALE_H #define HG_SCALE_H #include "tx_platform.h" #include "list.h" #include "dev.h" #include "hal/scale.h" typedef enum { FRAME_END, INBUF_OV, ERROR_PEND, SCALE_IRQ_NUM }SCALE_IRQ_E; struct hgscale { struct scale_device dev; uint32 hw; scale_irq_hdl irq_hdl; uint32 irq_data; uint32 irq_num; volatile uint32_t opened:1, use_dma:1, clk_en:1, dsleep:1,need_close:1; uint32 *cfg_backup; }; int32 hgscale1_attach(uint32 dev_id, struct hgscale *scale); int32 hgscale2_attach(uint32 dev_id, struct hgscale *scale); int32 hgscale3_attach(uint32 dev_id, struct hgscale *scale); void scale_ov_isr(uint32 irq_flag,uint32 irq_data,uint32 param1); #endif