linux/drivers/mxc/ipu3/ipu_disp.c File Reference
IPU display submodule API functions.
More...
Functions |
void | _ipu_dp_set_csc_coefficients (struct ipu_soc *ipu, ipu_channel_t channel, int32_t param[][3]) |
void | adapt_panel_to_ipu_restricitions (struct ipu_soc *ipu, uint16_t *v_start_width, uint16_t *v_sync_width, uint16_t *v_end_width) |
int32_t | ipu_init_sync_panel (struct ipu_soc *ipu, int disp, uint32_t pixel_clk, uint16_t width, uint16_t height, uint32_t pixel_fmt, uint16_t h_start_width, uint16_t h_sync_width, uint16_t h_end_width, uint16_t v_start_width, uint16_t v_sync_width, uint16_t v_end_width, uint32_t v_to_h_sync, ipu_di_signal_cfg_t sig) |
int32_t | ipu_disp_set_global_alpha (struct ipu_soc *ipu, ipu_channel_t channel, bool enable, uint8_t alpha) |
int32_t | ipu_disp_set_color_key (struct ipu_soc *ipu, ipu_channel_t channel, bool enable, uint32_t color_key) |
int32_t | ipu_disp_set_gamma_correction (struct ipu_soc *ipu, ipu_channel_t channel, bool enable, int constk[], int slopek[]) |
int32_t | _ipu_disp_set_window_pos (struct ipu_soc *ipu, ipu_channel_t channel, int16_t x_pos, int16_t y_pos) |
Detailed Description
IPU display submodule API functions.
Function Documentation
int32_t _ipu_disp_set_window_pos |
( |
struct ipu_soc * |
ipu, |
|
|
ipu_channel_t |
channel, |
|
|
int16_t |
x_pos, |
|
|
int16_t |
y_pos | |
|
) |
| | |
This function sets the window position of the foreground or background plane. modes.
- Parameters:
-
| ipu | ipu handler |
| channel | Input parameter for the logical channel ID. |
| x_pos | The X coordinate position to place window at. The position is relative to the top left corner. |
| y_pos | The Y coordinate position to place window at. The position is relative to the top left corner. |
- Returns:
- Returns 0 on success or negative error code on fail
void _ipu_dp_set_csc_coefficients |
( |
struct ipu_soc * |
ipu, |
|
|
ipu_channel_t |
channel, |
|
|
int32_t |
param[][3] | |
|
) |
| | |
This function sets the colorspace for of dp. modes.
- Parameters:
-
| ipu | ipu handler |
| channel | Input parameter for the logical channel ID. |
| param | If it's not NULL, update the csc table with this parameter. |
- Returns:
- N/A
void adapt_panel_to_ipu_restricitions |
( |
struct ipu_soc * |
ipu, |
|
|
uint16_t * |
v_start_width, |
|
|
uint16_t * |
v_sync_width, |
|
|
uint16_t * |
v_end_width | |
|
) |
| | |
This function is called to adapt synchronous LCD panel to IPU restriction.
Referenced by ipu_init_sync_panel().
int32_t ipu_disp_set_color_key |
( |
struct ipu_soc * |
ipu, |
|
|
ipu_channel_t |
channel, |
|
|
bool |
enable, |
|
|
uint32_t |
color_key | |
|
) |
| | |
This function sets the transparent color key for SDC graphic plane.
- Parameters:
-
| ipu | ipu handler |
| channel | Input parameter for the logical channel ID. |
| enable | Boolean to enable or disable color key |
| colorKey | 24-bit RGB color for transparent color key. |
- Returns:
- Returns 0 on success or negative error code on fail
int32_t ipu_disp_set_gamma_correction |
( |
struct ipu_soc * |
ipu, |
|
|
ipu_channel_t |
channel, |
|
|
bool |
enable, |
|
|
int |
constk[], |
|
|
int |
slopek[] | |
|
) |
| | |
This function sets the gamma correction for DP output.
- Parameters:
-
| ipu | ipu handler |
| channel | Input parameter for the logical channel ID. |
| enable | Boolean to enable or disable gamma correction. |
| constk | Gamma piecewise linear approximation constk coeff. |
| slopek | Gamma piecewise linear approximation slopek coeff. |
- Returns:
- Returns 0 on success or negative error code on fail
int32_t ipu_disp_set_global_alpha |
( |
struct ipu_soc * |
ipu, |
|
|
ipu_channel_t |
channel, |
|
|
bool |
enable, |
|
|
uint8_t |
alpha | |
|
) |
| | |
This function sets the foreground and background plane global alpha blending modes. This function also sets the DP graphic plane according to the parameter of IPUv3 DP channel.
- Parameters:
-
| ipu | ipu handler |
| channel | IPUv3 DP channel |
| enable | Boolean to enable or disable global alpha blending. If disabled, local blending is used. |
| alpha | Global alpha value. |
- Returns:
- Returns 0 on success or negative error code on fail
int32_t ipu_init_sync_panel |
( |
struct ipu_soc * |
ipu, |
|
|
int |
disp, |
|
|
uint32_t |
pixel_clk, |
|
|
uint16_t |
width, |
|
|
uint16_t |
height, |
|
|
uint32_t |
pixel_fmt, |
|
|
uint16_t |
h_start_width, |
|
|
uint16_t |
h_sync_width, |
|
|
uint16_t |
h_end_width, |
|
|
uint16_t |
v_start_width, |
|
|
uint16_t |
v_sync_width, |
|
|
uint16_t |
v_end_width, |
|
|
uint32_t |
v_to_h_sync, |
|
|
ipu_di_signal_cfg_t |
sig | |
|
) |
| | |
This function is called to initialize a synchronous LCD panel.
- Parameters:
-
| ipu | ipu handler |
| disp | The DI the panel is attached to. |
| pixel_clk | Desired pixel clock frequency in Hz. |
| pixel_fmt | Input parameter for pixel format of buffer. Pixel format is a FOURCC ASCII code. |
| width | The width of panel in pixels. |
| height | The height of panel in pixels. |
| hStartWidth | The number of pixel clocks between the HSYNC signal pulse and the start of valid data. |
| hSyncWidth | The width of the HSYNC signal in units of pixel clocks. |
| hEndWidth | The number of pixel clocks between the end of valid data and the HSYNC signal for next line. |
| vStartWidth | The number of lines between the VSYNC signal pulse and the start of valid data. |
| vSyncWidth | The width of the VSYNC signal in units of lines |
| vEndWidth | The number of lines between the end of valid data and the VSYNC signal for next frame. |
| sig | Bitfield of signal polarities for LCD interface. |
- Returns:
- This function returns 0 on success or negative error code on fail.
References adapt_panel_to_ipu_restricitions().