From d67f619e6985fb2fd1ace8b9791bd780c6a91655 Mon Sep 17 00:00:00 2001 From: Danny Nold Date: Thu, 17 May 2012 15:22:51 -0500 Subject: [PATCH] ENGR00209883-2 - EPDC fb: Add support for MX 6SoloLite SoC - Add support for TCE source buffer in EPDC v2.1 - Remove debug code Signed-off-by: Danny Nold --- drivers/video/mxc/epdc_regs.h | 4 +--- drivers/video/mxc/mxc_epdc_fb.c | 9 +++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/video/mxc/epdc_regs.h b/drivers/video/mxc/epdc_regs.h index 50d352e7a212..cc7b5000db18 100644 --- a/drivers/video/mxc/epdc_regs.h +++ b/drivers/video/mxc/epdc_regs.h @@ -163,9 +163,7 @@ extern void __iomem *epdc_base; #define EPDC_PIGEON_15_0 (epdc_base + 0xBC0) #define EPDC_PIGEON_15_1 (epdc_base + 0xBD0) #define EPDC_PIGEON_15_2 (epdc_base + 0xBE0) -#define EPDC_PIGEON_16_0 (epdc_base + 0xC00) -#define EPDC_PIGEON_16_1 (epdc_base + 0xC10) -#define EPDC_PIGEON_16_2 (epdc_base + 0xC20) +#define EPDC_WB_ADDR_TCE (epdc_base + 0xC10) /* * Register field definitions diff --git a/drivers/video/mxc/mxc_epdc_fb.c b/drivers/video/mxc/mxc_epdc_fb.c index da77373e03a6..ef4916db0436 100644 --- a/drivers/video/mxc/mxc_epdc_fb.c +++ b/drivers/video/mxc/mxc_epdc_fb.c @@ -1130,6 +1130,7 @@ static void epdc_init_sequence(struct mxc_epdc_fb_data *fb_data) epdc_init_settings(fb_data); __raw_writel(fb_data->waveform_buffer_phys, EPDC_WVADDR); __raw_writel(fb_data->working_buffer_phys, EPDC_WB_ADDR); + __raw_writel(fb_data->working_buffer_phys, EPDC_WB_ADDR_TCE); fb_data->in_init = true; epdc_powerup(fb_data); draw_mode0(fb_data); @@ -4006,8 +4007,8 @@ static void mxc_epdc_fb_fw_handler(const struct firmware *fw, clk_enable(fb_data->epdc_clk_pix); rounded_pix_clk = clk_round_rate(fb_data->epdc_clk_pix, target_pix_clk); - if (((rounded_pix_clk >= target_pix_clk + target_pix_clk/200) || - (rounded_pix_clk <= target_pix_clk - target_pix_clk/200))) { + if (((rounded_pix_clk >= target_pix_clk + target_pix_clk/100) || + (rounded_pix_clk <= target_pix_clk - target_pix_clk/100))) { /* Can't get close enough without changing parent clk */ epdc_parent = clk_get_parent(fb_data->epdc_clk_pix); rounded_parent_rate = clk_round_rate(epdc_parent, target_pix_clk); @@ -4018,8 +4019,8 @@ static void mxc_epdc_fb_fw_handler(const struct firmware *fw, clk_set_rate(epdc_parent, epdc_pix_rate); rounded_pix_clk = clk_round_rate(fb_data->epdc_clk_pix, target_pix_clk); - if (((rounded_pix_clk >= target_pix_clk + target_pix_clk/200) || - (rounded_pix_clk <= target_pix_clk - target_pix_clk/200))) + if (((rounded_pix_clk >= target_pix_clk + target_pix_clk/100) || + (rounded_pix_clk <= target_pix_clk - target_pix_clk/100))) /* Still can't get a good clock, provide warning */ dev_err(fb_data->dev, "Unable to get an accurate EPDC pix clk" "desired = %lu, actual = %lu\n", target_pix_clk, -- 2.39.5