coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
dp.c File Reference
#include <console/console.h>
#include <delay.h>
#include <soc/dp.h>
#include <soc/fimd.h>
#include <soc/i2c.h>
#include <soc/power.h>
#include <soc/sysreg.h>
#include <string.h>
Include dependency graph for dp.c:

Go to the source code of this file.

Functions

static int exynos_dp_init_dp (void)
 
static unsigned char exynos_dp_calc_edid_check_sum (unsigned char *edid_data)
 
static unsigned int exynos_dp_read_edid (void)
 
static unsigned int exynos_dp_handle_edid (struct edp_device_info *edp_info)
 
static void exynos_dp_init_training (void)
 
static unsigned int exynos_dp_link_start (struct edp_device_info *edp_info)
 
static unsigned int exynos_dp_training_pattern_dis (void)
 
static unsigned int exynos_dp_enable_rx_to_enhanced_mode (unsigned char enable)
 
static unsigned int exynos_dp_set_enhanced_mode (unsigned char enhance_mode)
 
static int exynos_dp_read_dpcd_lane_stat (struct edp_device_info *edp_info, unsigned char *status)
 
static unsigned int exynos_dp_read_dpcd_adj_req (unsigned char lane_num, unsigned char *sw, unsigned char *em)
 
static int exynos_dp_equalizer_err_link (struct edp_device_info *edp_info)
 
static int exynos_dp_reduce_link_rate (struct edp_device_info *edp_info)
 
static unsigned int exynos_dp_process_clock_recovery (struct edp_device_info *edp_info)
 
static unsigned int exynos_dp_process_equalizer_training (struct edp_device_info *edp_info)
 
static unsigned int exynos_dp_sw_link_training (struct edp_device_info *edp_info)
 
static unsigned int exynos_dp_set_link_train (struct edp_device_info *edp_info)
 
static void exynos_dp_enable_scramble (unsigned int enable)
 
static unsigned int exynos_dp_config_video (struct edp_device_info *edp_info)
 
int exynos_init_dp (struct edp_device_info *edp_info)
 

Function Documentation

◆ exynos_dp_calc_edid_check_sum()

static unsigned char exynos_dp_calc_edid_check_sum ( unsigned char *  edid_data)
static

Definition at line 52 of file dp.c.

References EDID_BLOCK_LENGTH.

Referenced by exynos_dp_read_edid().

Here is the caller graph for this function:

◆ exynos_dp_config_video()

◆ exynos_dp_enable_rx_to_enhanced_mode()

static unsigned int exynos_dp_enable_rx_to_enhanced_mode ( unsigned char  enable)
static

Definition at line 319 of file dp.c.

References BIOS_ERR, DPCD_ENHANCED_FRAME_EN, DPCD_LANE_COUNT_SET, DPCD_LN_COUNT_SET, exynos_dp_read_byte_from_dpcd(), EXYNOS_DP_SUCCESS, exynos_dp_write_byte_to_dpcd(), and printk.

Referenced by exynos_dp_set_enhanced_mode(), and exynos_init_dp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_enable_scramble()

static void exynos_dp_enable_scramble ( unsigned int  enable)
static

Definition at line 735 of file dp.c.

References DP_DISABLE, DP_ENABLE, DPCD_SCRAMBLING_DISABLED, DPCD_TRAINING_PATTERN_SET, exynos_dp_enable_scrambling(), exynos_dp_read_byte_from_dpcd(), and exynos_dp_write_byte_to_dpcd().

Referenced by exynos_init_dp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_equalizer_err_link()

static int exynos_dp_equalizer_err_link ( struct edp_device_info edp_info)
static

Definition at line 412 of file dp.c.

References BIOS_ERR, DP_LT_FAIL, edp_device_info::dpcd_efc, exynos_dp_set_enhanced_mode(), EXYNOS_DP_SUCCESS, exynos_dp_training_pattern_dis(), edp_device_info::lt_info, edp_link_train_info::lt_status, and printk.

Referenced by exynos_dp_process_equalizer_training().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_handle_edid()

◆ exynos_dp_init_dp()

static int exynos_dp_init_dp ( void  )
static

Definition at line 34 of file dp.c.

References DP_ENABLE, exynos_dp_enable_sw_func(), exynos_dp_init_analog_func(), exynos_dp_init_aux(), exynos_dp_init_hpd(), exynos_dp_reset(), and EXYNOS_DP_SUCCESS.

Referenced by exynos_init_dp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_init_training()

static void exynos_dp_init_training ( void  )
static

Definition at line 229 of file dp.c.

References exynos_dp_reset_macro(), exynos_dp_set_analog_power_down(), and POWER_ALL.

Referenced by exynos_dp_set_link_train().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_link_start()

◆ exynos_dp_process_clock_recovery()

◆ exynos_dp_process_equalizer_training()

◆ exynos_dp_read_dpcd_adj_req()

static unsigned int exynos_dp_read_dpcd_adj_req ( unsigned char  lane_num,
unsigned char *  sw,
unsigned char *  em 
)
static

Definition at line 389 of file dp.c.

References BIOS_ERR, buf, DPCD_ADJUST_REQUEST_LANE0_1, exynos_dp_read_byte_from_dpcd(), EXYNOS_DP_SUCCESS, and printk.

Referenced by exynos_dp_process_clock_recovery(), and exynos_dp_process_equalizer_training().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_read_dpcd_lane_stat()

static int exynos_dp_read_dpcd_lane_stat ( struct edp_device_info edp_info,
unsigned char *  status 
)
static

Definition at line 362 of file dp.c.

References BIOS_ERR, buf, DP_LANE_CNT_4, DPCD_LANE0_1_STATUS, exynos_dp_read_bytes_from_dpcd(), EXYNOS_DP_SUCCESS, edp_device_info::lane_cnt, and printk.

Referenced by exynos_dp_process_clock_recovery(), and exynos_dp_process_equalizer_training().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_read_edid()

◆ exynos_dp_reduce_link_rate()

static int exynos_dp_reduce_link_rate ( struct edp_device_info edp_info)
static

◆ exynos_dp_set_enhanced_mode()

static unsigned int exynos_dp_set_enhanced_mode ( unsigned char  enhance_mode)
static

Definition at line 347 of file dp.c.

References BIOS_ERR, exynos_dp_enable_enhanced_mode(), exynos_dp_enable_rx_to_enhanced_mode(), EXYNOS_DP_SUCCESS, and printk.

Referenced by exynos_dp_equalizer_err_link(), and exynos_dp_reduce_link_rate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_set_link_train()

static unsigned int exynos_dp_set_link_train ( struct edp_device_info edp_info)
static

Definition at line 722 of file dp.c.

References BIOS_ERR, exynos_dp_init_training(), EXYNOS_DP_SUCCESS, exynos_dp_sw_link_training(), and printk.

Referenced by exynos_init_dp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_dp_sw_link_training()

static unsigned int exynos_dp_sw_link_training ( struct edp_device_info edp_info)
static

◆ exynos_dp_training_pattern_dis()

static unsigned int exynos_dp_training_pattern_dis ( void  )
static

Definition at line 303 of file dp.c.

References BIOS_ERR, DP_NONE, DPCD_TRAINING_PATTERN_DISABLED, DPCD_TRAINING_PATTERN_SET, exynos_dp_set_training_pattern(), EXYNOS_DP_SUCCESS, exynos_dp_write_byte_to_dpcd(), and printk.

Referenced by exynos_dp_equalizer_err_link(), and exynos_dp_reduce_link_rate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exynos_init_dp()