25 #define CAM_DATA_STORE_MODE_NORMAL (0U)
26 #define CAM_DATA_STORE_MODE_Y_UV_PLANES (CAM_CR1_STORAGE_MODE_SET(1))
27 #define CAM_DATA_STORE_MODE_Y_ONLY (CAM_CR1_STORAGE_MODE_SET(2))
28 #define CAM_DATA_STORE_MODE_BINARY (CAM_CR1_STORAGE_MODE_SET(3))
33 #define CAM_SENSOR_BITWIDTH_8BITS (CAM_CR1_SENSOR_BIT_WIDTH_SET(0))
34 #define CAM_SENSOR_BITWIDTH_10BITS (CAM_CR1_SENSOR_BIT_WIDTH_SET(1))
35 #define CAM_SENSOR_BITWIDTH_24BITS (CAM_CR1_SENSOR_BIT_WIDTH_SET(3))
68 #define CAM_COLOR_FORMAT_RGB888 (CAM_CR1_COLOR_FORMATS_SET(2))
69 #define CAM_COLOR_FORMAT_RGB565 (CAM_CR1_COLOR_FORMATS_SET(4))
70 #define CAM_COLOR_FORMAT_RGB555 (CAM_CR1_COLOR_FORMATS_SET(6))
71 #define CAM_COLOR_FORMAT_YCBCR422 (CAM_CR1_COLOR_FORMATS_SET(7))
72 #define CAM_COLOR_FORMAT_YUV444 (CAM_CR1_COLOR_FORMATS_SET(8))
73 #define CAM_COLOR_FORMAT_RAW8 (CAM_CR1_COLOR_FORMATS_SET(0xf))
74 #define CAM_COLOR_FORMAT_UNSUPPORTED (1)
315 return ((ptr->
STA & sta_mask) != 0U) ? true :
false;
enum display_pixel_format display_pixel_format_t
display pixel format
@ display_pixel_format_rgb565
Definition: hpm_display_common.h:47
@ display_pixel_format_raw8
Definition: hpm_display_common.h:54
@ display_pixel_format_ycbcr422
Definition: hpm_display_common.h:52
void cam_get_default_config(CAM_Type *ptr, cam_config_t *config, display_pixel_format_t pixel_format)
CAM get default config.
Definition: hpm_cam_drv.c:12
static void cam_disable_argb8888_output(CAM_Type *ptr)
CAM disable argb8888 output.
Definition: hpm_cam_drv.h:266
hpm_stat_t cam_init(CAM_Type *ptr, cam_config_t *config)
CAM init.
Definition: hpm_cam_drv.c:76
static void cam_set_input_pixel_byte_order(CAM_Type *ptr, cam_input_pixel_byte_order_t order)
CAM set input pixel byte order.
Definition: hpm_cam_drv.h:277
static void cam_enable_binary_output(CAM_Type *ptr)
CAM enable binary output.
Definition: hpm_cam_drv.h:222
#define CAM_COLOR_FORMAT_RAW8
Definition: hpm_cam_drv.h:73
cam_irq_mask_t
CAM IRQ mask.
Definition: hpm_cam_drv.h:40
void cam_start(CAM_Type *ptr)
CAM start.
Definition: hpm_cam_drv.c:147
static void cam_update_buffer2(CAM_Type *ptr, uint32_t buffer)
CAM update DMASA_FB2 buffer.
Definition: hpm_cam_drv.h:209
static void cam_enable_irq(CAM_Type *ptr, cam_irq_mask_t irq_mask)
CAM enable irq.
Definition: hpm_cam_drv.h:288
static void cam_disable_irq(CAM_Type *ptr, cam_irq_mask_t irq_mask)
CAM disable irq.
Definition: hpm_cam_drv.h:300
#define CAM_COLOR_FORMAT_UNSUPPORTED
Definition: hpm_cam_drv.h:74
static void cam_clear_status(CAM_Type *ptr, cam_status_mask_t sta_mask)
Clear CAM status according to the given status mask.
Definition: hpm_cam_drv.h:324
#define CAM_COLOR_FORMAT_RGB565
Definition: hpm_cam_drv.h:69
static uint32_t cam_get_pixel_format(display_pixel_format_t format)
cam get pixel format value
Definition: hpm_cam_drv.h:130
static void cam_disable_binary_output(CAM_Type *ptr)
CAM disable binary output.
Definition: hpm_cam_drv.h:232
void cam_stop_safely(CAM_Type *ptr)
CAM safety stop.
Definition: hpm_cam_drv.c:152
#define CAM_COLOR_FORMAT_YCBCR422
Definition: hpm_cam_drv.h:71
static bool cam_check_status(CAM_Type *ptr, cam_status_mask_t sta_mask)
Check CAM status according to the given status mask.
Definition: hpm_cam_drv.h:313
static void cam_set_color_key(CAM_Type *ptr, uint32_t high, uint32_t low)
CAM set high and low limits of color key.
Definition: hpm_cam_drv.h:151
static void cam_enable_argb8888_output(CAM_Type *ptr)
CAM enable argb8888 output.
Definition: hpm_cam_drv.h:256
cam_status_mask_t
CAM status mask.
Definition: hpm_cam_drv.h:54
static void cam_update_buffer(CAM_Type *ptr, uint32_t buffer)
CAM update DMASA_FB1 buffer.
Definition: hpm_cam_drv.h:198
static void cam_set_binary_threshold(CAM_Type *ptr, uint8_t threshold)
CAM set binary threshold.
Definition: hpm_cam_drv.h:243
void cam_stop(CAM_Type *ptr)
CAM stop.
Definition: hpm_cam_drv.c:142
cam_input_pixel_byte_order_t
cam input pixel byte order
Definition: hpm_cam_drv.h:99
@ cam_irq_hist_calculation_done
Definition: hpm_cam_drv.h:42
@ cam_irq_start_of_frame
Definition: hpm_cam_drv.h:48
@ cam_irq_hresponse_error
Definition: hpm_cam_drv.h:43
@ cam_irq_unsupported_configuration
Definition: hpm_cam_drv.h:41
@ cam_irq_fb1_dma_transfer_done
Definition: hpm_cam_drv.h:47
@ cam_irq_end_of_frame
Definition: hpm_cam_drv.h:44
@ cam_irq_fb2_dma_transfer_done
Definition: hpm_cam_drv.h:46
@ cam_irq_rx_fifo_overrun
Definition: hpm_cam_drv.h:45
@ cam_status_hist_calculation_done
Definition: hpm_cam_drv.h:56
@ cam_status_rx_fifo_overrun
Definition: hpm_cam_drv.h:57
@ cam_status_fb1_dma_transfer_done
Definition: hpm_cam_drv.h:59
@ cam_status_unsupported_configuration
Definition: hpm_cam_drv.h:55
@ cam_status_hresponse_error
Definition: hpm_cam_drv.h:62
@ cam_status_start_of_frame
Definition: hpm_cam_drv.h:61
@ cam_status_fb2_dma_transfer_done
Definition: hpm_cam_drv.h:58
@ cam_status_end_of_frame
Definition: hpm_cam_drv.h:60
@ cam_input_pixel_gbr888
Definition: hpm_cam_drv.h:112
@ cam_input_pixel_bgr565
Definition: hpm_cam_drv.h:111
@ cam_input_pixel_yvu444
Definition: hpm_cam_drv.h:101
@ cam_input_pixel_uvy444
Definition: hpm_cam_drv.h:104
@ cam_input_pixel_rgb888
Definition: hpm_cam_drv.h:115
@ cam_input_pixel_brg888
Definition: hpm_cam_drv.h:116
@ cam_input_pixel_rgb565
Definition: hpm_cam_drv.h:110
@ cam_input_pixel_vyuy422
Definition: hpm_cam_drv.h:109
@ cam_input_pixel_yvyu422
Definition: hpm_cam_drv.h:107
@ cam_input_pixel_rbg888
Definition: hpm_cam_drv.h:117
@ cam_input_pixel_uyvy422
Definition: hpm_cam_drv.h:108
@ cam_input_pixel_yuv444
Definition: hpm_cam_drv.h:100
@ cam_input_pixel_vyu444
Definition: hpm_cam_drv.h:103
@ cam_input_pixel_vuy444
Definition: hpm_cam_drv.h:105
@ cam_input_pixel_grb888
Definition: hpm_cam_drv.h:113
@ cam_input_pixel_bgr888
Definition: hpm_cam_drv.h:114
@ cam_input_pixel_uyv444
Definition: hpm_cam_drv.h:102
@ cam_input_pixel_yuyv422
Definition: hpm_cam_drv.h:106
uint32_t hpm_stat_t
Definition: hpm_common.h:119
#define CAM_CR20_THRESHOLD_MASK
Definition: hpm_cam_regs.h:625
#define CAM_STA_ERR_CL_BWID_CFG_MASK
Definition: hpm_cam_regs.h:398
#define CAM_INT_EN_FB2_DMA_DONE_INTEN_MASK
Definition: hpm_cam_regs.h:299
#define CAM_INT_EN_SOF_INT_EN_MASK
Definition: hpm_cam_regs.h:324
#define CAM_STA_EOF_INT_MASK
Definition: hpm_cam_regs.h:457
#define CAM_STA_HRESP_ERR_INT_MASK
Definition: hpm_cam_regs.h:482
#define CAM_CLRKEY_LOW_LIMIT_SET(x)
Definition: hpm_cam_regs.h:737
#define CAM_INT_EN_EOF_INT_EN_MASK
Definition: hpm_cam_regs.h:274
#define CAM_STA_DMA_TSF_DONE_FB1_MASK
Definition: hpm_cam_regs.h:445
#define CAM_CR1_COLOR_EXT_MASK
Definition: hpm_cam_regs.h:65
#define CAM_CR2_CLRBITFORMAT_MASK
Definition: hpm_cam_regs.h:387
#define CAM_STA_SOF_INT_MASK
Definition: hpm_cam_regs.h:469
#define CAM_STA_RF_OR_INT_MASK
Definition: hpm_cam_regs.h:421
#define CAM_INT_EN_ERR_CL_BWID_CFG_INT_EN_MASK
Definition: hpm_cam_regs.h:240
#define CAM_STA_DMA_TSF_DONE_FB2_MASK
Definition: hpm_cam_regs.h:433
#define CAM_CLRKEY_HIGH_LIMIT_SET(x)
Definition: hpm_cam_regs.h:748
#define CAM_INT_EN_HIST_DONE_INT_EN_MASK
Definition: hpm_cam_regs.h:250
#define CAM_INT_EN_RF_OR_INTEN_MASK
Definition: hpm_cam_regs.h:286
#define CAM_CR20_THRESHOLD_SET(x)
Definition: hpm_cam_regs.h:627
#define CAM_INT_EN_HRESP_ERR_EN_MASK
Definition: hpm_cam_regs.h:262
#define CAM_CR2_CLRBITFORMAT_SET(x)
Definition: hpm_cam_regs.h:389
#define CAM_STA_HIST_DONE_MASK
Definition: hpm_cam_regs.h:408
#define CAM_INT_EN_FB1_DMA_DONE_INTEN_MASK
Definition: hpm_cam_regs.h:312
#define CAM_CR20_BINARY_EN_MASK
Definition: hpm_cam_regs.h:595
Definition: hpm_cam_regs.h:12
__RW uint32_t INT_EN
Definition: hpm_cam_regs.h:14
__RW uint32_t CLRKEY_HIGH
Definition: hpm_cam_regs.h:34
__RW uint32_t CLRKEY_LOW
Definition: hpm_cam_regs.h:33
__RW uint32_t STA
Definition: hpm_cam_regs.h:18
__RW uint32_t DMASA_FB1
Definition: hpm_cam_regs.h:20
__RW uint32_t CR1
Definition: hpm_cam_regs.h:13
__RW uint32_t CR20
Definition: hpm_cam_regs.h:28
__RW uint32_t CR2
Definition: hpm_cam_regs.h:16
__RW uint32_t DMASA_FB2
Definition: hpm_cam_regs.h:21
CAM config.
Definition: hpm_cam_drv.h:79
uint32_t buffer2
Definition: hpm_cam_drv.h:92
uint8_t color_format
Definition: hpm_cam_drv.h:89
uint16_t data_store_mode
Definition: hpm_cam_drv.h:88
uint32_t width
Definition: hpm_cam_drv.h:80
uint8_t sensor_bitwidth
Definition: hpm_cam_drv.h:90
bool color_ext
Definition: hpm_cam_drv.h:86
bool hsync_active_low
Definition: hpm_cam_drv.h:84
bool vsync_active_low
Definition: hpm_cam_drv.h:85
display_yuv2rgb_config_t csc_config
Definition: hpm_cam_drv.h:93
uint32_t height
Definition: hpm_cam_drv.h:81
uint32_t buffer1
Definition: hpm_cam_drv.h:91
bool data_pack_msb
Definition: hpm_cam_drv.h:87
bool de_active_low
Definition: hpm_cam_drv.h:83
bool pixclk_sampling_falling
Definition: hpm_cam_drv.h:82
display yuv to rgb format conversion config
Definition: hpm_display_common.h:126