12 #include <soc/power.h>
13 #include <soc/sysreg.h>
98 void fb_init(
unsigned long int fb_size,
void *lcdbase,
103 fb_size =
ALIGN(fb_size, 4096);
295 int pre_emphasis,
int lane)
367 unsigned int max_lane,
368 unsigned int max_rate)
370 int pll_is_locked = 0;
399 for (lane = 0; lane < max_lane; lane++)
466 printk(
BIOS_SPEW,
"Done training: Link bandwidth: 0x%x, lane_count: %d\n",
541 fb_init(fb_size, lcdbase, panel_data);
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define printk(level,...)
void s5p_dp_reset(struct s5p_dp_device *dp)
int s5p_dp_write_byte_to_dpcd(struct s5p_dp_device *dp, unsigned int reg_addr, unsigned char data)
void s5p_dp_init_aux(struct s5p_dp_device *dp)
int s5p_dp_read_byte_from_dpcd(struct s5p_dp_device *dp, unsigned int reg_addr, unsigned char *data)
void s5p_dp_enable_video_master(struct s5p_dp_device *dp)
void s5p_dp_set_video_cr_mn(struct s5p_dp_device *dp, enum clock_recovery_m_value_type type, unsigned int m_value, unsigned int n_value)
int s5p_dp_is_slave_video_stream_clock_on(struct s5p_dp_device *dp)
void s5p_dp_wait_hw_link_training_done(struct s5p_dp_device *dp)
void s5p_dp_init_video(struct s5p_dp_device *dp)
int s5p_dp_init_analog_func(struct s5p_dp_device *dp)
void s5p_dp_set_video_color_format(struct s5p_dp_device *dp, unsigned int color_depth, unsigned int color_space, unsigned int dynamic_range, unsigned int coeff)
int s5p_dp_is_video_stream_on(struct s5p_dp_device *dp)
unsigned int s5p_dp_get_pll_lock_status(struct s5p_dp_device *dp)
void s5p_dp_config_video_slave_mode(struct s5p_dp_device *dp, struct video_info *video_info)
#define STREAM_ON_TIMEOUT
#define SCRAMBLING_DISABLE
void clock_init_dp_clock(void)
#define PRE_EMPHASIS_SET_SHIFT
#define DPCD_LANE_COUNT_SET_MASK
#define DPCD_ADDR_TRAINING_PATTERN_SET
#define DPCD_MAX_LANE_COUNT_MASK
#define DPCD_SCRAMBLING_DISABLED
#define DPCD_ADDR_SINK_POWER_STATE
#define DPCD_ENHANCED_FRAME_EN
#define DPCD_ADDR_MAX_LINK_RATE
#define DPCD_ADDR_LANE_COUNT_SET
#define DPCD_SET_POWER_STATE_D0
#define DPCD_ADDR_MAX_LANE_COUNT
#define VSYNC_PULSE_WIDTH_OFFSET
#define BPPMODE_F_RGB_16BIT_565
#define H_BACK_PORCH_OFFSET
#define HSYNC_PULSE_WIDTH_OFFSET
static struct exynos5_disp_ctrl *const exynos_disp_ctrl
#define V_FRONT_PORCH_OFFSET
#define H_FRONT_PORCH_OFFSET
static struct exynos5_fimd *const exynos_fimd
#define V_BACK_PORCH_OFFSET
#define OSD_RIGHTBOTX_F_OFFSET
#define HALF_WORD_SWAP_EN
#define OSD_RIGHTBOTY_F_OFFSET
static int s5p_dp_hw_link_training(struct s5p_dp_device *dp, unsigned int max_lane, unsigned int max_rate)
void fb_init(unsigned long int fb_size, void *lcdbase, struct exynos5_fimd_panel *pd)
void * lcd_console_address
static void s5p_dp_get_max_rx_lane_count(struct s5p_dp_device *dp, u8 *lane_count)
static int s5p_dp_enable_scramble(struct s5p_dp_device *dp)
static void fimd_bypass(void)
@ ERR_LINK_TRAINING_FAILURE
@ ERR_MAX_LANE_COUNT_ABNORMAL
@ ERR_PRE_EMPHASIS_LEVELS
static int s5p_dp_enable_rx_to_enhanced_mode(struct s5p_dp_device *dp)
int lcd_ctrl_init(unsigned long int fb_size, struct exynos5_fimd_panel *panel_data, void *lcdbase)
Init the LCD controller.
static int s5p_dp_init_dp(struct s5p_dp_device *dp)
static void s5p_dp_get_max_rx_bandwidth(struct s5p_dp_device *dp, u8 *bandwidth)
static int s5p_dp_set_lane_lane_pre_emphasis(struct s5p_dp_device *dp, int pre_emphasis, int lane)
int dp_controller_init(struct s5p_dp_device *dp_device)
static int s5p_dp_config_video(struct s5p_dp_device *dp, struct video_info *video_info)
#define setbits32(addr, set)
#define clrbits32(addr, clear)
static int stopwatch_expired(struct stopwatch *sw)
static void stopwatch_init_msecs_expire(struct stopwatch *sw, long ms)
static long stopwatch_duration_usecs(struct stopwatch *sw)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
static struct exynos5_sysreg *const exynos_sysreg
void power_enable_dp_phy(void)
unsigned int right_margin
unsigned int upper_margin
unsigned int lower_margin
unsigned int vidw00add0b0
unsigned int vidw00add1b0
unsigned int disp1blk_cfg
struct link_train link_train
struct video_info * video_info
enum color_coefficient ycbcr_coeff
enum color_depth color_depth
enum dynamic_range dynamic_range
enum link_lane_count lane_count
enum color_space color_space