![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <device/mmio.h>
#include <console/console.h>
#include <delay.h>
#include <soc/dp.h>
#include <soc/dp-core.h>
#include <soc/fimd.h>
#include <soc/i2c.h>
#include <soc/power.h>
#include <soc/sysreg.h>
#include <timer.h>
Go to the source code of this file.
Functions | |
static void | fimd_bypass (void) |
void | fb_init (unsigned long int fb_size, void *lcdbase, struct exynos5_fimd_panel *pd) |
static int | s5p_dp_config_video (struct s5p_dp_device *dp, struct video_info *video_info) |
static int | s5p_dp_enable_rx_to_enhanced_mode (struct s5p_dp_device *dp) |
static int | s5p_dp_enable_scramble (struct s5p_dp_device *dp) |
static int | s5p_dp_init_dp (struct s5p_dp_device *dp) |
static int | s5p_dp_set_lane_lane_pre_emphasis (struct s5p_dp_device *dp, int pre_emphasis, int lane) |
static void | s5p_dp_get_max_rx_bandwidth (struct s5p_dp_device *dp, u8 *bandwidth) |
static void | s5p_dp_get_max_rx_lane_count (struct s5p_dp_device *dp, u8 *lane_count) |
static int | s5p_dp_hw_link_training (struct s5p_dp_device *dp, unsigned int max_lane, unsigned int max_rate) |
int | dp_controller_init (struct s5p_dp_device *dp_device) |
int | lcd_ctrl_init (unsigned long int fb_size, struct exynos5_fimd_panel *panel_data, void *lcdbase) |
Init the LCD controller. More... | |
Variables | |
int | lcd_line_length |
int | lcd_color_fg |
int | lcd_color_bg |
void * | lcd_console_address |
short | console_col |
short | console_row |
anonymous enum |
enum stage_t |
int dp_controller_init | ( | struct s5p_dp_device * | dp_device | ) |
Definition at line 475 of file fb.c.
References base, s5p_dp_device::base, BIOS_ERR, clock_init_dp_clock(), ENHANCED, link_train::lane_count, video_info::lane_count, link_train::link_rate, video_info::link_rate, s5p_dp_device::link_train, power_enable_dp_phy(), printk, s5p_dp_config_video(), s5p_dp_enable_rx_to_enhanced_mode(), s5p_dp_enable_scramble(), s5p_dp_hw_link_training(), s5p_dp_init_dp(), s5p_dp_init_video(), setbits32, udelay(), s5p_dp_device::video_info, and write32().
Referenced by mainboard_init().
void fb_init | ( | unsigned long int | fb_size, |
void * | lcdbase, | ||
struct exynos5_fimd_panel * | pd | ||
) |
Definition at line 98 of file fb.c.
References ALIGN, BPPMODE_F_OFFSET, BPPMODE_F_RGB_16BIT_565, CHANNEL0_EN, exynos5_fimd_panel::clkval_f, CLKVAL_F_OFFSET, exynos5_fimd::dpclkcon, ENVID_F_ON, ENVID_ON, ENWIN_F_ENABLE, exynos_disp_ctrl, exynos_fimd, exynos5_fimd_panel::fixvclk, H_BACK_PORCH_OFFSET, H_FRONT_PORCH_OFFSET, HALF_WORD_SWAP_EN, HOZVAL_OFFSET, exynos5_fimd_panel::hsync, HSYNC_PULSE_WIDTH_OFFSET, exynos5_fimd_panel::ivclk, exynos5_fimd_panel::left_margin, LINEVAL_OFFSET, exynos5_fimd_panel::lower_margin, OSD_RIGHTBOTX_F_OFFSET, OSD_RIGHTBOTY_F_OFFSET, exynos5_fimd_panel::right_margin, setbits32, exynos5_fimd::shadowcon, exynos5_fimd_panel::upper_margin, V_BACK_PORCH_OFFSET, V_FRONT_PORCH_OFFSET, val, exynos5_fimd::vidcon0, exynos5_disp_ctrl::vidcon1, exynos5_fimd::vidosd0b, exynos5_fimd::vidosd0c, exynos5_disp_ctrl::vidtcon0, exynos5_disp_ctrl::vidtcon1, exynos5_disp_ctrl::vidtcon2, exynos5_fimd::vidw00add0b0, exynos5_fimd::vidw00add1b0, exynos5_fimd::vidw00add2, exynos5_fimd_panel::vsync, VSYNC_PULSE_WIDTH_OFFSET, exynos5_fimd::wincon0, write32(), exynos5_fimd_panel::xres, and exynos5_fimd_panel::yres.
Referenced by lcd_ctrl_init().
Definition at line 86 of file fb.c.
References exynos5_sysreg::disp1blk_cfg, exynos_sysreg, FIMDBYPASS_DISP1, and setbits32.
Referenced by lcd_ctrl_init().
int lcd_ctrl_init | ( | unsigned long int | fb_size, |
struct exynos5_fimd_panel * | panel_data, | ||
void * | lcdbase | ||
) |
Init the LCD controller.
panel_data | |
lcdbase | Base address of LCD frame buffer |
Definition at line 535 of file fb.c.
References fb_init(), and fimd_bypass().
Referenced by exynos_displayport_init().
|
static |
Definition at line 150 of file fb.c.
References base, s5p_dp_device::base, BIOS_DEBUG, BIOS_ERR, CALCULATED_M, clrbits32, video_info::color_depth, video_info::color_space, video_info::dynamic_range, ERR_PLL_NOT_UNLOCKED, ERR_VIDEO_CLOCK_BAD, ERR_VIDEO_STREAM_BAD, FORMAT_SEL, HDCP_VIDEO_MUTE, PLL_UNLOCKED, printk, s5p_dp_config_video_slave_mode(), s5p_dp_enable_video_master(), s5p_dp_get_pll_lock_status(), s5p_dp_is_slave_video_stream_clock_on(), s5p_dp_is_video_stream_on(), s5p_dp_set_video_color_format(), s5p_dp_set_video_cr_mn(), setbits32, stopwatch_duration_usecs(), stopwatch_expired(), stopwatch_init_msecs_expire(), STREAM_ON_TIMEOUT, VIDEO_EN, and video_info::ycbcr_coeff.
Referenced by dp_controller_init().
|
static |
Definition at line 210 of file fb.c.
References BIOS_DEBUG, DPCD_ADDR_LANE_COUNT_SET, DPCD_ENHANCED_FRAME_EN, DPCD_LANE_COUNT_SET_MASK, ERR_DPCD_READ_ERROR1, ERR_DPCD_WRITE_ERROR1, printk, s5p_dp_read_byte_from_dpcd(), and s5p_dp_write_byte_to_dpcd().
Referenced by dp_controller_init().
|
static |
Definition at line 233 of file fb.c.
References base, s5p_dp_device::base, BIOS_DEBUG, clrbits32, DPCD_ADDR_TRAINING_PATTERN_SET, DPCD_SCRAMBLING_DISABLED, ERR_DPCD_READ_ERROR2, ERR_DPCD_WRITE_ERROR2, printk, s5p_dp_read_byte_from_dpcd(), s5p_dp_write_byte_to_dpcd(), and SCRAMBLING_DISABLE.
Referenced by dp_controller_init().
|
static |
Definition at line 328 of file fb.c.
References DPCD_ADDR_MAX_LINK_RATE, and s5p_dp_read_byte_from_dpcd().
Referenced by s5p_dp_hw_link_training().
|
static |
Definition at line 346 of file fb.c.
References DPCD_ADDR_MAX_LANE_COUNT, DPCD_MAX_LANE_COUNT_MASK, and s5p_dp_read_byte_from_dpcd().
Referenced by s5p_dp_hw_link_training().
|
static |
Definition at line 366 of file fb.c.
References base, s5p_dp_device::base, BIOS_DEBUG, BIOS_ERR, BIOS_SPEW, clrbits32, DPCD_ADDR_SINK_POWER_STATE, DPCD_SET_POWER_STATE_D0, ERR_LINK_RATE_ABNORMAL, ERR_LINK_TRAINING_FAILURE, ERR_MAX_LANE_COUNT_ABNORMAL, ERR_PRE_EMPHASIS_LEVELS, HW_TRAINING_EN, link_train::lane_count, link_train::link_rate, LINK_RATE_1_62GBPS, LINK_RATE_2_70GBPS, s5p_dp_device::link_train, MACRO_RST, PLL_LOCK_TIMEOUT, PLL_LOCKED, PLL_UNLOCKED, PRE_EMPHASIS_LEVEL_0, printk, read32(), s5p_dp_get_max_rx_bandwidth(), s5p_dp_get_max_rx_lane_count(), s5p_dp_get_pll_lock_status(), s5p_dp_set_lane_lane_pre_emphasis(), s5p_dp_wait_hw_link_training_done(), s5p_dp_write_byte_to_dpcd(), setbits32, stopwatch_expired(), stopwatch_init_msecs_expire(), udelay(), VIDEO_EN, and write32().
Referenced by dp_controller_init().
|
static |
Definition at line 259 of file fb.c.
References base, s5p_dp_device::base, BIOS_DEBUG, clrbits32, DP_INIT_TRIES, printk, s5p_dp_init_analog_func(), s5p_dp_init_aux(), s5p_dp_reset(), SW_FUNC_EN_N, and udelay().
Referenced by dp_controller_init().
|
static |
Definition at line 294 of file fb.c.
References base, s5p_dp_device::base, BIOS_DEBUG, ERR_INVALID_LANE, PRE_EMPHASIS_SET_SHIFT, printk, and write32().
Referenced by s5p_dp_hw_link_training().