DSS2 questions
Tomi,
I've been following your DSS2 work, with reasonable success. However, when I tried to pull from your repo today, I got a ton of merge errors. I cloned your tree a [little] while back (it seems it was 2009-06-16, but where did the time go?)
Here's what I did:
git clone http://www.bat.org/~tomba/git/linux-omap-dss.git
HEAD=5bd374f9b199d46ae434489d56615b240de5a6d7
git checkout -b my_branch origin/master
...When I went to pull into my_branch, I got the merge errors. Any clues what I did wrong? How could/should I have managed this better?
n.b. you earlier told me that git was better than sliced bread; I'm still waiting to be shown the light :-)
Second question; I've set up my system much the same as the boards you are working on, with an LCD and TV outputs. I'm a bit confused as to how I configure the overlays and managers to be able to send YUV data directly through to either the LCD or TV. Can you explain this?
Thanks
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
Hi,
Quoted 7 lines · ext Gary Thomas
Tomi,
I've been following your DSS2 work, with reasonable success. However, when I tried to pull from your repo today, I got a ton of merge errors. I cloned your tree a [little] while back (it seems it was 2009-06-16, but where did the time go?)
Quoted 8 lines
Here's what I did:
git clone http://www.bat.org/~tomba/git/linux-omap-dss.gitHEAD=5bd374f9b199d46ae434489d56615b240de5a6d7 git checkout -b my_branch origin/master ...When I went to pull into
my_branch, I got the merge errors. Any clues what I did wrong? How could/should I have managed this better?
The problem is that I have rebased my tree so that I end up with a clean set of patches that can be posted to mailing lists. And rebasing means changing history, which means that you cannot merge it normally.
Perhaps I should keep the master branch as it is, and do rebasing on a separate branch. I don't know, I'm no git-master ;).
If you have no changes of your own in the branch, you can do git reset --hard origin/master
which will reset that branch to the exact version that is in origin/master.
Quoted 3 lines
n.b. you earlier told me that git was better than sliced bread; I'm still waiting to be shown the light :-)
You'll see it when you understand how git works ;)
Quoted 6 lines
Second question; I've set up my system much the same as the boards you are working on, with an LCD and TV outputs. I'm a bit confused as to how I configure the overlays and managers to be able to send YUV data directly through to either the LCD or TV. Can you explain this?
You need to change the framebuffer to YUV color mode. And YUV only works on video overlays, so you need to setup video overlay to be shown on the LCD or TV.
If you have fb1 as a video overlay, you can do for example:
fbset -fb /dev/fb1 -nonstd 1
which sets fb1 to YUV422 mode. 8 would be YUY422. Those numbers come from omapfb.h, enum omapfb_color_format.
Check also Documentation/arm/OMAP/DSS, if you haven't already done so.
Tomi
Quoted 23 lines · Tomi Valkeinen
Hi,
Quoted 7 lines · ext Gary Thomas
Tomi,
I've been following your DSS2 work, with reasonable success. However, when I tried to pull from your repo today, I got a ton of merge errors. I cloned your tree a [little] while back (it seems it was 2009-06-16, but where did the time go?)
Quoted 8 lines
Here's what I did:
git clone http://www.bat.org/~tomba/git/linux-omap-dss.gitHEAD=5bd374f9b199d46ae434489d56615b240de5a6d7 git checkout -b my_branch origin/master ...When I went to pull into
my_branch, I got the merge errors. Any clues what I did wrong? How could/should I have managed this better?The problem is that I have rebased my tree so that I end up with a clean set of patches that can be posted to mailing lists. And rebasing means changing history, which means that you cannot merge it normally.
Quoted 7 lines
Perhaps I should keep the master branch as it is, and do rebasing on a separate branch. I don't know, I'm no git-master ;).
If you have no changes of your own in the branch, you can do git reset --hard origin/master
which will reset that branch to the exact version that is in origin/master.
I'll give this a try - I still have the old tree I was working from.
Quoted 17 lines
Quoted 3 lines
n.b. you earlier told me that git was better than sliced bread; I'm still waiting to be shown the light :-)
You'll see it when you understand how git works ;)
Quoted 6 lines
Second question; I've set up my system much the same as the boards you are working on, with an LCD and TV outputs. I'm a bit confused as to how I configure the overlays and managers to be able to send YUV data directly through to either the LCD or TV. Can you explain this?
You need to change the framebuffer to YUV color mode. And YUV only works on video overlays, so you need to setup video overlay to be shown on the LCD or TV.
Quoted 9 lines
If you have fb1 as a video overlay, you can do for example:
fbset -fb
/dev/fb1-nonstd 1which sets fb1 to YUV422 mode. 8 would be YUY422. Those numbers come from
omapfb.h, enumomapfb_color_format.Check also
Documentation/arm/OMAP/DSS, if you haven't already done so.
Still a bit fuzzy on this. I'm sure that document helps, if one already knows how all the overlays and managers and ... are wired together. I'm new at this game :-)
I tried to set my TV to be video/uyv422 via the attached script. I was trying to leave fb0 alone (running on the LCD) and use fb1 to display the YUV422 data. Alas, 'fbset' gives me "Bad video mode"? Any pointers?
Thanks
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
#! /bin/sh
ovl0=/sys/devices/platform/omapdss/overlay0
ovl1=/sys/devices/platform/omapdss/overlay1
ovl2=/sys/devices/platform/omapdss/overlay2
mgr0=/sys/devices/platform/omapdss/manager0
mgr1=/sys/devices/platform/omapdss/manager1
lcd=/sys/devices/platform/omapdss/display0
tv=/sys/devices/platform/omapdss/display1
fb0=/sys/class/graphics/fb0
fb1=/sys/class/graphics/fb1
fb2=/sys/class/graphics/fb2
MODE=${MODE:-ntsc}
echo "0" > $tv/enabled
echo ${MODE} >$tv/timings
w=`cat $tv/timings | cut -d "," -f 2 | cut -d "/" -f 1` h=`cat $tv/timings | cut -d "," -f 3 | cut -d "/" -f 1`
echo "... Setting ${MODE} mode, Width = ${w}, Height = ${h}"
echo "0" > $ovl2/enabled
echo "2" > $fb1/overlays
echo "$w,$h" > $ovl2/output_size
echo "tv" > $ovl2/manager
echo "1" > $ovl2/enabled
echo "1" > $tv/enabled
fbset -fb /dev/fb1 -nonstd 1
Hi,
Quoted 56 lines · ext Gary Thomas
Quoted 22 lines · Tomi Valkeinen
Hi,
Quoted 7 lines · ext Gary Thomas
Tomi,
I've been following your DSS2 work, with reasonable success. However, when I tried to pull from your repo today, I got a ton of merge errors. I cloned your tree a [little] while back (it seems it was 2009-06-16, but where did the time go?)
Quoted 8 lines
Here's what I did:
git clone http://www.bat.org/~tomba/git/linux-omap-dss.gitHEAD=5bd374f9b199d46ae434489d56615b240de5a6d7 git checkout -b my_branch origin/master ...When I went to pull into
my_branch, I got the merge errors. Any clues what I did wrong? How could/should I have managed this better?The problem is that I have rebased my tree so that I end up with a clean set of patches that can be posted to mailing lists. And rebasing means changing history, which means that you cannot merge it normally.
Quoted 7 lines
Perhaps I should keep the master branch as it is, and do rebasing on a separate branch. I don't know, I'm no git-master ;).
If you have no changes of your own in the branch, you can do git reset --hard origin/master
which will reset that branch to the exact version that is in origin/master.I'll give this a try - I still have the old tree I was working from.
Quoted 13 lines
Quoted 2 lines
n.b. you earlier told me that git was better than sliced bread; I'm still waiting to be shown the light :-)
You'll see it when you understand how git works ;)
Quoted 5 lines
Second question; I've set up my system much the same as the boards you are working on, with an LCD and TV outputs. I'm a bit confused as to how I configure the overlays and managers to be able to send YUV data directly through to either the LCD or TV. Can you explain this?
You need to change the framebuffer to YUV color mode. And YUV only works on video overlays, so you need to setup video overlay to be shown on the LCD or TV.
Quoted 9 lines
If you have fb1 as a video overlay, you can do for example:
fbset -fb
/dev/fb1-nonstd 1which sets fb1 to YUV422 mode. 8 would be YUY422. Those numbers come from
omapfb.h, enumomapfb_color_format.Check also
Documentation/arm/OMAP/DSS, if you haven't already done so.
Quoted 9 lines
Still a bit fuzzy on this. I'm sure that document helps, if one already knows how all the overlays and managers and ... are wired together. I'm new at this game :-)
I tried to set my TV to be video/uyv422 via the attached script. I was trying to leave fb0 alone (running on the LCD) and use fb1 to display the YUV422 data. Alas, 'fbset' gives me "Bad video mode"? Any pointers?
You need to allocate memory for the framebuffer.
Try adding for example this:
mem=$((w*h*4))
echo $mem > $fb1/size
Also, you are trying to connect video2 overlay to fb1, but by default DSS connects video2 to fb2. So if you really want to do that, you first need to detach video1 from fb1, video2 from fb2, and then attach video2 to fb1. I suggest you use fb2 which is already attached to video2.
Tomi
Quoted 36 lines · Tomi Valkeinen
Hi,
Quoted 19 lines · ext Gary Thomas
Quoted 9 lines
Quoted 5 lines
Second question; I've set up my system much the same as the boards you are working on, with an LCD and TV outputs. I'm a bit confused as to how I configure the overlays and managers to be able to send YUV data directly through to either the LCD or TV. Can you explain this?
You need to change the framebuffer to YUV color mode. And YUV only works on video overlays, so you need to setup video overlay to be shown on the LCD or TV.
Quoted 9 lines
If you have fb1 as a video overlay, you can do for example:
fbset -fb
/dev/fb1-nonstd 1which sets fb1 to YUV422 mode. 8 would be YUY422. Those numbers come from
omapfb.h, enumomapfb_color_format.Check also
Documentation/arm/OMAP/DSS, if you haven't already done so.Quoted 9 lines
Still a bit fuzzy on this. I'm sure that document helps, if one already knows how all the overlays and managers and ... are wired together. I'm new at this game :-)
I tried to set my TV to be video/uyv422 via the attached script. I was trying to leave fb0 alone (running on the LCD) and use fb1 to display the YUV422 data. Alas, 'fbset' gives me "Bad video mode"? Any pointers?
You need to allocate memory for the framebuffer.
Try adding for example this:
Quoted 7 lines
mem=$((w*h*4))
echo $mem > $fb1/sizeAlso, you are trying to connect video2 overlay to fb1, but by default DSS connects video2 to fb2. So if you really want to do that, you first need to detach video1 from fb1, video2 from fb2, and then attach video2 to fb1. I suggest you use fb2 which is already attached to video2.
That helped, thanks. 'fbset' no longer complains and I now have a lovely green screen on my TV.
Now, to figure out how to send some YUV422 data to it. I have Vaibhav's V4L2 support in my tree - will this work with your DSS2 devices?
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------