[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