linux/drivers/mxc/ipu3/ipu_capture.c File Reference

IPU capture dase functions. More...

Functions

int _ipu_csi_mclk_set (struct ipu_soc *ipu, uint32_t pixel_clk, uint32_t csi)
int32_t ipu_csi_init_interface (struct ipu_soc *ipu, uint16_t width, uint16_t height, uint32_t pixel_fmt, ipu_csi_signal_cfg_t cfg_param)
int32_t ipu_csi_get_sensor_protocol (struct ipu_soc *ipu, uint32_t csi)
int ipu_csi_enable_mclk (struct ipu_soc *ipu, int csi, bool flag, bool wait)
void ipu_csi_get_window_size (struct ipu_soc *ipu, uint32_t *width, uint32_t *height, uint32_t csi)
void ipu_csi_set_window_size (struct ipu_soc *ipu, uint32_t width, uint32_t height, uint32_t csi)
void ipu_csi_set_window_pos (struct ipu_soc *ipu, uint32_t left, uint32_t top, uint32_t csi)
void _ipu_csi_horizontal_downsize_enable (struct ipu_soc *ipu, uint32_t csi)
void _ipu_csi_horizontal_downsize_disable (struct ipu_soc *ipu, uint32_t csi)
void _ipu_csi_vertical_downsize_enable (struct ipu_soc *ipu, uint32_t csi)
void _ipu_csi_vertical_downsize_disable (struct ipu_soc *ipu, uint32_t csi)
void _ipu_csi_set_test_generator (struct ipu_soc *ipu, bool active, uint32_t r_value, uint32_t g_value, uint32_t b_value, uint32_t pix_clk, uint32_t csi)
void _ipu_csi_ccir_err_detection_enable (struct ipu_soc *ipu, uint32_t csi)
void _ipu_csi_ccir_err_detection_disable (struct ipu_soc *ipu, uint32_t csi)
int _ipu_csi_set_mipi_di (struct ipu_soc *ipu, uint32_t num, uint32_t di_val, uint32_t csi)
int _ipu_csi_set_skip_isp (struct ipu_soc *ipu, uint32_t skip, uint32_t max_ratio, uint32_t csi)
int _ipu_csi_set_skip_smfc (struct ipu_soc *ipu, uint32_t skip, uint32_t max_ratio, uint32_t id, uint32_t csi)
void _ipu_smfc_init (struct ipu_soc *ipu, ipu_channel_t channel, uint32_t mipi_id, uint32_t csi)
void _ipu_smfc_set_wmc (struct ipu_soc *ipu, ipu_channel_t channel, bool set, uint32_t level)
void _ipu_smfc_set_burst_size (struct ipu_soc *ipu, ipu_channel_t channel, uint32_t bs)
int _ipu_csi_init (struct ipu_soc *ipu, ipu_channel_t channel, uint32_t csi)
static irqreturn_t csi_irq_handler (int irq, void *dev_id)
void _ipu_csi_wait4eof (struct ipu_soc *ipu, ipu_channel_t channel)

Detailed Description

IPU capture dase functions.


Function Documentation

void _ipu_csi_ccir_err_detection_disable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_ccir_err_detection_disable Disable error detection and correction for CCIR interlaced mode with protection bit.

Parameters:
ipu ipu handler
csi csi 0 or csi 1

Referenced by ipu_csi_init_interface().

void _ipu_csi_ccir_err_detection_enable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_ccir_err_detection_en Enable error detection and correction for CCIR interlaced mode with protection bit.

Parameters:
ipu ipu handler
csi csi 0 or csi 1

Referenced by ipu_csi_init_interface().

void _ipu_csi_horizontal_downsize_disable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_horizontal_downsize_disable Disable horizontal downsizing(decimation) by 2.

Parameters:
ipu ipu handler
csi csi 0 or csi 1
void _ipu_csi_horizontal_downsize_enable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_horizontal_downsize_enable Enable horizontal downsizing(decimation) by 2.

Parameters:
ipu ipu handler
csi csi 0 or csi 1
int _ipu_csi_init ( struct ipu_soc *  ipu,
ipu_channel_t  channel,
uint32_t  csi 
)

_ipu_csi_init

Parameters:
ipu ipu handler
channel IDMAC channel
csi csi 0 or csi 1
Returns:
Returns 0 on success or negative error code on fail
int _ipu_csi_mclk_set ( struct ipu_soc *  ipu,
uint32_t  pixel_clk,
uint32_t  csi 
)

_ipu_csi_mclk_set

Parameters:
ipu ipu handler
pixel_clk desired pixel clock frequency in Hz
csi csi 0 or csi 1
Returns:
Returns 0 on success or negative error code on fail

Referenced by _ipu_csi_set_test_generator().

int _ipu_csi_set_mipi_di ( struct ipu_soc *  ipu,
uint32_t  num,
uint32_t  di_val,
uint32_t  csi 
)

_ipu_csi_set_mipi_di

Parameters:
ipu ipu handler
num MIPI data identifier 0-3 handled by CSI
di_val data identifier value
csi csi 0 or csi 1
Returns:
Returns 0 on success or negative error code on fail
int _ipu_csi_set_skip_isp ( struct ipu_soc *  ipu,
uint32_t  skip,
uint32_t  max_ratio,
uint32_t  csi 
)

_ipu_csi_set_skip_isp

Parameters:
ipu ipu handler
skip select frames to be skipped and set the correspond bits to 1
max_ratio number of frames in a skipping set and the maximum value of max_ratio is 5
csi csi 0 or csi 1
Returns:
Returns 0 on success or negative error code on fail
int _ipu_csi_set_skip_smfc ( struct ipu_soc *  ipu,
uint32_t  skip,
uint32_t  max_ratio,
uint32_t  id,
uint32_t  csi 
)

_ipu_csi_set_skip_smfc

Parameters:
ipu ipu handler
skip select frames to be skipped and set the correspond bits to 1
max_ratio number of frames in a skipping set and the maximum value of max_ratio is 5
id csi to smfc skipping id
csi csi 0 or csi 1
Returns:
Returns 0 on success or negative error code on fail
void _ipu_csi_set_test_generator ( struct ipu_soc *  ipu,
bool  active,
uint32_t  r_value,
uint32_t  g_value,
uint32_t  b_value,
uint32_t  pix_clk,
uint32_t  csi 
)

_ipu_csi_set_test_generator

Parameters:
ipu ipu handler
active 1 for active and 0 for inactive
r_value red value for the generated pattern of even pixel
g_value green value for the generated pattern of even pixel
b_value blue value for the generated pattern of even pixel
pixel_clk desired pixel clock frequency in Hz
csi csi 0 or csi 1

References _ipu_csi_mclk_set().

void _ipu_csi_vertical_downsize_disable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_vertical_downsize_disable Disable vertical downsizing(decimation) by 2.

Parameters:
ipu ipu handler
csi csi 0 or csi 1
void _ipu_csi_vertical_downsize_enable ( struct ipu_soc *  ipu,
uint32_t  csi 
)

_ipu_csi_vertical_downsize_enable Enable vertical downsizing(decimation) by 2.

Parameters:
ipu ipu handler
csi csi 0 or csi 1
void _ipu_csi_wait4eof ( struct ipu_soc *  ipu,
ipu_channel_t  channel 
)

_ipu_csi_wait4eof

Parameters:
ipu ipu handler
channel IDMAC channel

References csi_irq_handler().

void _ipu_smfc_init ( struct ipu_soc *  ipu,
ipu_channel_t  channel,
uint32_t  mipi_id,
uint32_t  csi 
)

_ipu_smfc_init Map CSI frames to IDMAC channels.

Parameters:
ipu ipu handler
channel IDMAC channel 0-3
mipi_id mipi id number 0-3
csi csi0 or csi1
void _ipu_smfc_set_burst_size ( struct ipu_soc *  ipu,
ipu_channel_t  channel,
uint32_t  bs 
)

_ipu_smfc_set_burst_size

Parameters:
ipu ipu handler
channel IDMAC channel 0-3
bs burst size of IDMAC channel, the value programmed here shoud be BURST_SIZE-1
void _ipu_smfc_set_wmc ( struct ipu_soc *  ipu,
ipu_channel_t  channel,
bool  set,
uint32_t  level 
)

_ipu_smfc_set_wmc Caution: The number of required channels, the enabled channels and the FIFO size per channel are configured restrictedly.

Parameters:
ipu ipu handler
channel IDMAC channel 0-3
set set 1 or clear 0
level water mark level when FIFO is on the relative size
static irqreturn_t csi_irq_handler ( int  irq,
void *  dev_id 
) [static]

csi_irq_handler

Parameters:
irq interrupt id
dev_id pointer to ipu handler
Returns:
Returns if irq is handled

References IRQ_HANDLED.

Referenced by _ipu_csi_wait4eof().

int ipu_csi_enable_mclk ( struct ipu_soc *  ipu,
int  csi,
bool  flag,
bool  wait 
)

ipu_csi_enable_mclk

Parameters:
ipu ipu handler
csi csi 0 or csi 1
flag true to enable mclk, false to disable mclk
wait true to wait 100ms make clock stable, false not wait
Returns:
Returns 0 on success
int32_t ipu_csi_get_sensor_protocol ( struct ipu_soc *  ipu,
uint32_t  csi 
)

ipu_csi_get_sensor_protocol

Parameters:
ipu ipu handler
csi csi 0 or csi 1
Returns:
Returns sensor protocol
void ipu_csi_get_window_size ( struct ipu_soc *  ipu,
uint32_t *  width,
uint32_t *  height,
uint32_t  csi 
)

ipu_csi_get_window_size

Parameters:
ipu ipu handler
width pointer to window width
height pointer to window height
csi csi 0 or csi 1
int32_t ipu_csi_init_interface ( struct ipu_soc *  ipu,
uint16_t  width,
uint16_t  height,
uint32_t  pixel_fmt,
ipu_csi_signal_cfg_t  cfg_param 
)

ipu_csi_init_interface Sets initial values for the CSI registers. The width and height of the sensor and the actual frame size will be set to the same values.

Parameters:
ipu ipu handler
width Sensor width
height Sensor height
pixel_fmt pixel format
cfg_param ipu_csi_signal_cfg_t structure
csi csi 0 or csi 1
Returns:
0 for success, -EINVAL for error

References _ipu_csi_ccir_err_detection_disable(), and _ipu_csi_ccir_err_detection_enable().

void ipu_csi_set_window_pos ( struct ipu_soc *  ipu,
uint32_t  left,
uint32_t  top,
uint32_t  csi 
)

ipu_csi_set_window_pos

Parameters:
ipu ipu handler
left uint32 window x start
top uint32 window y start
csi csi 0 or csi 1
void ipu_csi_set_window_size ( struct ipu_soc *  ipu,
uint32_t  width,
uint32_t  height,
uint32_t  csi 
)

ipu_csi_set_window_size

Parameters:
ipu ipu handler
width window width
height window height
csi csi 0 or csi 1
footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen