[oe-commits] org.oe.dev linux omap2 git: add patches to get overlay working for beagleboard
koen commit
oe at amethyst.openembedded.net
Wed Jul 9 23:31:47 UTC 2008
linux omap2 git: add patches to get overlay working for beagleboard
Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 7270ff86aff5c36c5c7de6dcc5e4084225a9f455
ViewMTN: http://monotone.openembedded.org/revision/info/7270ff86aff5c36c5c7de6dcc5e4084225a9f455
Files:
1
packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch
packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch
packages/linux/linux-omap2-git/beagleboard/01-fix-timing-print.diff
packages/linux/linux-omap2-git/beagleboard/02-set-clkseld11.diff
packages/linux/linux-omap2-git/beagleboard/03-enable-overlay-opt.diff
packages/linux/linux-omap2-git/beagleboard/04-use-pcd.diff
packages/linux/linux-omap2-git/beagleboard/05-fix-display-panning.diff
packages/linux/linux-omap2-git/beagleboard/06-ensure-fclk.diff
packages/linux/linux-omap2-git/beagleboard/07-set-burst-size.diff
packages/linux/linux-omap2-git/beagleboard/defconfig
packages/linux/linux-omap2_git.bb
Diffs:
#
# mt diff -r3467a4abad1f223c3841d36def1901f840634bb4 -r7270ff86aff5c36c5c7de6dcc5e4084225a9f455
#
#
#
# delete "packages/linux/linux-omap2-git/beagleboard/omap3-dppl-divider.patch"
#
# delete "packages/linux/linux-omap2-git/beagleboard/omap3-jitter.patch"
#
# add_file "packages/linux/linux-omap2-git/beagleboard/01-fix-timing-print.diff"
# content [578467287022f996cc9d3299955710ffec11630b]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/02-set-clkseld11.diff"
# content [25293160c17c02f86cea5ad77f502d4e5dc589a0]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/03-enable-overlay-opt.diff"
# content [c9d93591d917a914510f918b6537229154b51ab6]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/04-use-pcd.diff"
# content [eb5be9105f8c9f513ac8f5805509fd1f699d7217]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/05-fix-display-panning.diff"
# content [38ebbe5406926e875c19096f7ed74df898888fb4]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/06-ensure-fclk.diff"
# content [06f7d37a0c0ba2e57774a439c3be844b0a0ec5b6]
#
# add_file "packages/linux/linux-omap2-git/beagleboard/07-set-burst-size.diff"
# content [7503ac6e8f68204349b8460ad5f3ce695eb28162]
#
# patch "packages/linux/linux-omap2-git/beagleboard/defconfig"
# from [61306895c6b0bae840d63008e1d83ad6488255cb]
# to [560914bc9a5ea2d1a400c348659a241349d2640d]
#
# patch "packages/linux/linux-omap2_git.bb"
# from [e6f17b9cec8b3cfa0d93d2fd47b21c197a3b7d7a]
# to [038137f8660e7c39b96a18d3d3947f245e440d45]
#
============================================================
--- packages/linux/linux-omap2-git/beagleboard/01-fix-timing-print.diff 578467287022f996cc9d3299955710ffec11630b
+++ packages/linux/linux-omap2-git/beagleboard/01-fix-timing-print.diff 578467287022f996cc9d3299955710ffec11630b
@@ -0,0 +1,23 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Sat, 5 Jul 2008 20:31:56 +0000 (+0100)
+Subject: omapfb: fix video timings message
+X-Git-Tag: beagle-5~3
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2929b75035ebe8702ba2ff2c81b654c487701f64
+
+omapfb: fix video timings message
+---
+
+diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
+index 418ed9f..1166a01 100644
+--- a/drivers/video/omap/omapfb_main.c
++++ b/drivers/video/omap/omapfb_main.c
+@@ -1789,7 +1789,8 @@ static int omapfb_do_probe(struct platform_device *pdev,
+ vram, fbdev->mem_desc.region_cnt);
+ pr_info("omapfb: Pixclock %lu kHz hfreq %lu.%lu kHz "
+ "vfreq %lu.%lu Hz\n",
+- phz / 1000, hhz / 10000, hhz % 10, vhz / 10, vhz % 10);
++ phz / 1000, hhz / 10000, hhz % 10000,
++ vhz / 10, vhz % 10);
+
+ return 0;
+
============================================================
--- packages/linux/linux-omap2-git/beagleboard/02-set-clkseld11.diff 25293160c17c02f86cea5ad77f502d4e5dc589a0
+++ packages/linux/linux-omap2-git/beagleboard/02-set-clkseld11.diff 25293160c17c02f86cea5ad77f502d4e5dc589a0
@@ -0,0 +1,22 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Sat, 5 Jul 2008 20:32:38 +0000 (+0100)
+Subject: omap: set CLKSEL_DSS1 to 2
+X-Git-Tag: beagle-5~2
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=d23f9c3c5c6243b626f7ec4c255469de2536e488
+
+omap: set CLKSEL_DSS1 to 2
+---
+
+diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
+index 8fdf8f3..04dedec 100644
+--- a/arch/arm/mach-omap2/clock34xx.c
++++ b/arch/arm/mach-omap2/clock34xx.c
+@@ -596,6 +596,8 @@ int __init omap2_clk_init(void)
+ /* u32 clkrate; */
+ u32 cpu_clkflg;
+
++ __raw_writel(0x1002, io_p2v(0x48004e40));
++
+ /* REVISIT: Ultimately this will be used for multiboot */
+ #if 0
+ if (cpu_is_omap242x()) {
============================================================
--- packages/linux/linux-omap2-git/beagleboard/03-enable-overlay-opt.diff c9d93591d917a914510f918b6537229154b51ab6
+++ packages/linux/linux-omap2-git/beagleboard/03-enable-overlay-opt.diff c9d93591d917a914510f918b6537229154b51ab6
@@ -0,0 +1,27 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Sun, 6 Jul 2008 13:15:36 +0000 (+0100)
+Subject: omapfb: enable overlay optimisation when possible
+X-Git-Tag: beagle-5~1
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=a63ac3abdf6781f863112321260fe7a5da757802
+
+omapfb: enable overlay optimisation when possible
+---
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 6aff476..3b36227 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -582,11 +582,13 @@ static int omap_dispc_enable_plane(int plane, int enable)
+ const u32 at_reg[] = { DISPC_GFX_ATTRIBUTES,
+ DISPC_VID1_BASE + DISPC_VID_ATTRIBUTES,
+ DISPC_VID2_BASE + DISPC_VID_ATTRIBUTES };
++ unsigned overlay_opt = plane & !!enable & !dispc.color_key.key_type;
+ if ((unsigned int)plane > dispc.mem_desc.region_cnt)
+ return -EINVAL;
+
+ enable_lcd_clocks(1);
+ MOD_REG_FLD(at_reg[plane], 1, enable ? 1 : 0);
++ MOD_REG_FLD(DISPC_CONTROL, 1<<12 | 1<<5, overlay_opt<<12 | 1<<5);
+ enable_lcd_clocks(0);
+
+ return 0;
============================================================
--- packages/linux/linux-omap2-git/beagleboard/04-use-pcd.diff eb5be9105f8c9f513ac8f5805509fd1f699d7217
+++ packages/linux/linux-omap2-git/beagleboard/04-use-pcd.diff eb5be9105f8c9f513ac8f5805509fd1f699d7217
@@ -0,0 +1,28 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Sun, 6 Jul 2008 13:22:54 +0000 (+0100)
+Subject: omapfb: use PCD if set in panel config
+X-Git-Tag: beagle-5
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=c8060d36ae156771f00a7a27cabf1b4435c378bd
+
+omapfb: use PCD if set in panel config
+---
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 3b36227..4e1a8e3 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -798,7 +798,13 @@ static void set_lcd_timings(void)
+ l |= panel->acb & 0xff;
+ dispc_write_reg(DISPC_POL_FREQ, l);
+
+- calc_ck_div(is_tft, panel->pixel_clock * 1000, &lck_div, &pck_div);
++ if (panel->pcd) {
++ pck_div = panel->pcd;
++ lck_div = 1;
++ } else {
++ calc_ck_div(is_tft, panel->pixel_clock * 1000,
++ &lck_div, &pck_div);
++ }
+
+ l = dispc_read_reg(DISPC_DIVISOR);
+ l &= ~(FLD_MASK(16, 8) | FLD_MASK(0, 8));
============================================================
--- packages/linux/linux-omap2-git/beagleboard/05-fix-display-panning.diff 38ebbe5406926e875c19096f7ed74df898888fb4
+++ packages/linux/linux-omap2-git/beagleboard/05-fix-display-panning.diff 38ebbe5406926e875c19096f7ed74df898888fb4
@@ -0,0 +1,45 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Mon, 7 Jul 2008 00:13:00 +0000 (+0100)
+Subject: omapfb: fix display panning
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=9fec252c96b0e69bcef0afd9cb9dd72b7179c239
+
+omapfb: fix display panning
+---
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 4e1a8e3..c17371c 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -435,6 +435,8 @@ static inline int _setup_plane(int plane, int channel_out,
+
+ dispc_write_reg(ri_reg[plane], (screen_width - width) * bpp / 8 + 1);
+
++ MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
++
+ return height * screen_width * bpp / 8;
+ }
+
+diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
+index 1166a01..3e4959e 100644
+--- a/drivers/video/omap/omapfb_main.c
++++ b/drivers/video/omap/omapfb_main.c
+@@ -206,8 +206,8 @@ static int ctrl_change_mode(struct fb_info *fbi)
+ struct omapfb_device *fbdev = plane->fbdev;
+ struct fb_var_screeninfo *var = &fbi->var;
+
+- offset = var->yoffset * fbi->fix.line_length +
+- var->xoffset * var->bits_per_pixel / 8;
++ offset = (var->yoffset * var->xres_virtual + var->xoffset) *
++ var->bits_per_pixel / 8;
+
+ if (fbdev->ctrl->sync)
+ fbdev->ctrl->sync();
+@@ -423,6 +423,8 @@ static void set_fb_fix(struct fb_info *fbi)
+ }
+ fix->accel = FB_ACCEL_OMAP1610;
+ fix->line_length = var->xres_virtual * bpp / 8;
++ fix->xpanstep = 1;
++ fix->ypanstep = 1;
+ }
+
+ static int set_color_mode(struct omapfb_plane_struct *plane,
============================================================
--- packages/linux/linux-omap2-git/beagleboard/06-ensure-fclk.diff 06f7d37a0c0ba2e57774a439c3be844b0a0ec5b6
+++ packages/linux/linux-omap2-git/beagleboard/06-ensure-fclk.diff 06f7d37a0c0ba2e57774a439c3be844b0a0ec5b6
@@ -0,0 +1,31 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Mon, 7 Jul 2008 23:59:08 +0000 (+0100)
+Subject: omapfb: ensure fck/lcd < 173MHz
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=0523ece1bad659c48c66aea364d83f7490e7e5ae
+
+omapfb: ensure fck/lcd < 173MHz
+---
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index c17371c..85d6cad 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -738,14 +738,16 @@ static void setup_color_conv_coef(void)
+ MOD_REG_FLD(at2_reg, (1 << 11), ct->full_range);
+ }
+
++#define MAX_FCK_LCD 173000000
++
+ static void calc_ck_div(int is_tft, int pck, int *lck_div, int *pck_div)
+ {
+ unsigned long fck, lck;
+
+- *lck_div = 1;
+ pck = max(1, pck);
+ fck = clk_get_rate(dispc.dss1_fck);
+- lck = fck;
++ *lck_div = (fck + MAX_FCK_LCD - 1) / MAX_FCK_LCD;
++ lck = fck / *lck_div;
+ *pck_div = (lck + pck - 1) / pck;
+ if (is_tft)
+ *pck_div = max(2, *pck_div);
============================================================
--- packages/linux/linux-omap2-git/beagleboard/07-set-burst-size.diff 7503ac6e8f68204349b8460ad5f3ce695eb28162
+++ packages/linux/linux-omap2-git/beagleboard/07-set-burst-size.diff 7503ac6e8f68204349b8460ad5f3ce695eb28162
@@ -0,0 +1,21 @@
+From: Mans Rullgard <mans at mansr.com>
+Date: Tue, 8 Jul 2008 18:26:43 +0000 (+0100)
+Subject: omapfb: set graphics burst size to 16x32
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=4f9e415dfcd5613a8de973f6c9878cab959c5869
+
+omapfb: set graphics burst size to 16x32
+---
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 85d6cad..fd06ca2 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -409,7 +409,7 @@ static inline int _setup_plane(int plane, int channel_out,
+ l |= cconv_en << 9;
+
+ l &= ~(0x03 << burst_shift);
+- l |= DISPC_BURST_8x32 << burst_shift;
++ l |= DISPC_BURST_16x32 << burst_shift;
+
+ l &= ~(1 << chout_shift);
+ l |= chout_val << chout_shift;
============================================================
--- packages/linux/linux-omap2-git/beagleboard/defconfig 61306895c6b0bae840d63008e1d83ad6488255cb
+++ packages/linux/linux-omap2-git/beagleboard/defconfig 560914bc9a5ea2d1a400c348659a241349d2640d
@@ -1246,7 +1246,7 @@ CONFIG_FB_OMAP_079M3R=y
# CONFIG_FB_OMAP_092M9R is not set
# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=8
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
============================================================
--- packages/linux/linux-omap2_git.bb e6f17b9cec8b3cfa0d93d2fd47b21c197a3b7d7a
+++ packages/linux/linux-omap2_git.bb 038137f8660e7c39b96a18d3d3947f245e440d45
@@ -5,7 +5,7 @@ PV = "2.6.25+2.6.26-rc9+${PR}+git${SRCRE
SRCREV = "7786cd7a00ae0b18923185789380a88052f4eee7"
PV = "2.6.25+2.6.26-rc9+${PR}+git${SRCREV}"
-PR = "r40"
+PR = "r41"
SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \
file://defconfig"
@@ -21,6 +21,13 @@ SRC_URI_append_beagleboard = " file://no
file://no-empty-flash-warnings.patch;patch=1 \
file://logo_linux_clut224.ppm \
file://oprofile-0.9.3.armv7.diff;patch=1 \
+ file://01-fix-timing-print.diff;patch=1 \
+ file://02-set-clkseld11.diff;patch=1 \
+ file://03-enable-overlay-opt.diff;patch=1 \
+ file://04-use-pcd.diff;patch=1 \
+ file://05-fix-display-panning.diff;patch=1 \
+ file://06-ensure-fclk.diff;patch=1 \
+ file://07-set-burst-size.diff;patch=1 \
"
SRC_URI_append_omap3evm = " file://no-harry-potter.diff;patch=1 \
More information about the Openembedded-commits
mailing list