Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1672724 > unrolled thread
| Started by | Hugues Fruchet <hugues.fruchet@st.com> |
|---|---|
| First post | 2017-06-22 17:10 +0200 |
| Last post | 2017-06-26 12:10 +0200 |
| Articles | 15 on this page of 55 — 12 participants |
Back to article view | Back to linux.kernel
[PATCH v1 0/6] Add support of OV9655 camera Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
[PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 12:30 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Andreas Färber <afaerber@suse.de> - 2017-06-23 12:50 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 13:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2017-06-23 14:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 17:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Andreas Färber <afaerber@suse.de> - 2017-06-23 17:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 17:30 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Suman Anna <s-anna@ti.com> - 2017-06-23 20:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 21:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Suman Anna <s-anna@ti.com> - 2017-06-24 00:30 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 08:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-26 12:40 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Sylwester Nawrocki <snawrocki@kernel.org> - 2017-06-26 22:10 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-27 07:50 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Sylwester Nawrocki <snawrocki@kernel.org> - 2017-06-28 01:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-28 11:20 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Sylwester Nawrocki <s.nawrocki@samsung.com> - 2017-06-28 13:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-28 13:30 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-28 14:30 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Rob Herring <robh@kernel.org> - 2017-06-26 21:00 +0200
Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module Rob Herring <robh@kernel.org> - 2017-06-26 21:00 +0200
[PATCH v1 2/6] [media] ov9650: add device tree support Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
Re: [PATCH v1 2/6] [media] ov9650: add device tree support Sakari Ailus <sakari.ailus@iki.fi> - 2017-06-26 18:40 +0200
Re: [PATCH v1 2/6] [media] ov9650: add device tree support "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 19:50 +0200
Re: [PATCH v1 2/6] [media] ov9650: add device tree support Sakari Ailus <sakari.ailus@iki.fi> - 2017-06-27 07:40 +0200
Re: [PATCH v1 2/6] [media] ov9650: add device tree support Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-27 12:20 +0200
[PATCH v1 4/6] [media] ov9650: use write_array() for resolution sequences Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
Re: [PATCH v1 4/6] [media] ov9650: use write_array() for resolution sequences Sakari Ailus <sakari.ailus@iki.fi> - 2017-06-26 18:40 +0200
Re: [PATCH v1 4/6] [media] ov9650: use write_array() for resolution sequences Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-29 16:10 +0200
[PATCH v1 3/6] [media] ov9650: select the nearest higher resolution Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
[PATCH v1 6/6] [media] ov9650: add support of OV9655 variant Hugues Fruchet <hugues.fruchet@st.com> - 2017-06-22 17:10 +0200
Re: [PATCH v1 6/6] [media] ov9650: add support of OV9655 variant kbuild test robot <lkp@intel.com> - 2017-06-25 18:10 +0200
[PATCH] ov9650: fix semicolon.cocci warnings kbuild test robot <lkp@intel.com> - 2017-06-25 18:10 +0200
Re: [PATCH v1 6/6] [media] ov9650: add support of OV9655 variant "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 08:10 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-22 17:50 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-23 12:30 +0200
omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera Pavel Machek <pavel@ucw.cz> - 2017-06-25 11:20 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 08:10 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera Pavel Machek <pavel@ucw.cz> - 2017-06-26 10:40 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 12:00 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera Pavel Machek <pavel@ucw.cz> - 2017-06-26 13:20 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-27 08:00 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-26 15:30 +0200
Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-27 10:00 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-07-01 23:10 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera Hugues FRUCHET <hugues.fruchet@st.com> - 2017-07-03 10:20 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-07-03 11:20 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera Hugues FRUCHET <hugues.fruchet@st.com> - 2017-07-03 14:10 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-07-03 14:30 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-07-05 16:10 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera Sakari Ailus <sakari.ailus@iki.fi> - 2017-07-08 23:00 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-06-26 08:10 +0200
Re: [PATCH v1 0/6] Add support of OV9655 camera Hugues FRUCHET <hugues.fruchet@st.com> - 2017-06-26 12:10 +0200
Page 3 of 3 — ← Prev page 1 2 [3]
| From | Pavel Machek <pavel@ucw.cz> |
|---|---|
| Date | 2017-06-26 10:40 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWxIS-8qP-11@gated-at.bofh.it> |
| In reply to | #1674447 |
[Multipart message — attachments visible in raw view] — view raw
On Mon 2017-06-26 08:05:04, H. Nikolaus Schaller wrote:
> Hi Pavel,
>
> > Am 25.06.2017 um 11:18 schrieb Pavel Machek <pavel@ucw.cz>:
> >
> > Hi!
> >
> >> * unfortunately we still get no image :(
> >>
> >> The latter is likely a setup issue of our camera interface (OMAP3 ISP = Image Signal Processor) which
> >> we were not yet able to solve. Oscilloscoping signals on the interface indicated that signals and
> >> sync are correct. But we do not know since mplayer only shows a green screen.
> >
> > What mplayer command line do you use? How did you set up the pipeline
> > with media-ctl?
> >
> > On kernel.org, I have tree called camera-fw5-6 , where camera works
> > for me on n900. On gitlab, there's modifed fcam-dev, which can be used
> > for testing.
>
> We did have yet another (non-DT) camera driver and media-ctl working in with 3.12.37,
> but had no success yet to update it to work with modern kernels or drivers. It
> is either that the (newer) drivers missing something or the media-ctl has changed.
>
> Here is the log of our scripts with Hugues' driver and our latest setup:
>
> root@letux:~# ./camera-demo sxga
> DISPLAY=:0
> XAUTHORITY=tcp
> Camera: /dev/v4l-subdev8
> Setting mode sxga
> media-ctl -r
> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]'
> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]'
> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]'
> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]'
> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]'
Ok, so you are using capture, not preview.
You may want to try this one:
commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef
Author: Pavel <pavel@ucw.cz>
Date: Mon Feb 13 21:26:51 2017 +0100
omap3isp: fix VP2SDR bit so capture (not preview) works
This is neccessary for capture (not preview) to work properly on
N900. Why is unknown.
Pavel
> ### starting mplayer in sxga mode ###
> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11
> MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
>
> Playing tv://.
> Detected file format: TV
> Selected driver: v4l2
> name: Video 4 Linux 2 input
> author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
> comment: first try, more to come ;-)
> v4l2: ioctl get standard failed: Invalid argument
> Selected device: OMAP3 ISP CCDC output
> Capabilities: video capture video output streaming
> supported norms:
> inputs: 0 = camera;
> Current input: 0
> Current format: unknown (0x0)
> tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
> v4l2: ioctl enum norm failed: Inappropriate ioctl for device
> Error: Cannot set norm!
> Selected input hasn't got a tuner!
> v4l2: ioctl set mute failed: Inappropriate ioctl for device
> v4l2: ioctl query control failed: Inappropriate ioctl for device
> v4l2: ioctl query control failed: Inappropriate ioctl for device
> v4l2: ioctl query control failed: Inappropriate ioctl for device
> v4l2: ioctl query control failed: Inappropriate ioctl for device
> v4l2: ioctl streamon failed: Broken pipe
> [ass] auto-open
> Opening video filter: [rotate=2]
> VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s)
> Could not find matching colorspace - retrying with -vf scale...
> Opening video filter: [scale]
> [swscaler @ 0xb5ca9980]using unscaled uyvy422 -> yuv420p special converter
> VO: [x11] 1024x1280 => 1024x1280 Planar YV12
> [swscaler @ 0xb5ca9980]No accelerated colorspace conversion found from yuv420p to bgra.
> Colorspace details not fully supported by selected vo.
> Selected video codec: RAW UYVY [raw]
> Audio: no sound
> Starting playback...
> V: 0.0 10/ 10 ??% ??% ??,?% 0 0 $<3>
>
>
> MPlayer interrupted by signal 2 in module: filter_video
> V: 0.0 11/ 11 ??% ??% ??,?% 0 0 $<3>
> v4l2: ioctl set mute failed: Inappropriate ioctl for device
> v4l2: 0 frames successfully processed, 0 frames dropped.
>
> Exiting... (Quit)
> root@letux:~#
>
> BR and thanks,
> Nikolaus
>
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-06-26 12:00 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWyYh-I2-5@gated-at.bofh.it> |
| In reply to | #1674529 |
[Multipart message — attachments visible in raw view] — view raw
Hi Pavel, > Am 26.06.2017 um 10:39 schrieb Pavel Machek <pavel@ucw.cz>: > > On Mon 2017-06-26 08:05:04, H. Nikolaus Schaller wrote: >> Hi Pavel, >> >>> Am 25.06.2017 um 11:18 schrieb Pavel Machek <pavel@ucw.cz>: >>> >>> Hi! >>> >>>> * unfortunately we still get no image :( >>>> >>>> The latter is likely a setup issue of our camera interface (OMAP3 ISP = Image Signal Processor) which >>>> we were not yet able to solve. Oscilloscoping signals on the interface indicated that signals and >>>> sync are correct. But we do not know since mplayer only shows a green screen. >>> >>> What mplayer command line do you use? How did you set up the pipeline >>> with media-ctl? >>> >>> On kernel.org, I have tree called camera-fw5-6 , where camera works >>> for me on n900. On gitlab, there's modifed fcam-dev, which can be used >>> for testing. >> >> We did have yet another (non-DT) camera driver and media-ctl working in with 3.12.37, >> but had no success yet to update it to work with modern kernels or drivers. It >> is either that the (newer) drivers missing something or the media-ctl has changed. >> >> Here is the log of our scripts with Hugues' driver and our latest setup: >> >> root@letux:~# ./camera-demo sxga >> DISPLAY=:0 >> XAUTHORITY=tcp >> Camera: /dev/v4l-subdev8 >> Setting mode sxga >> media-ctl -r >> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' >> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' >> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' > > Ok, so you are using capture, not preview. Yes. > > You may want to try this one: > > commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef > Author: Pavel <pavel@ucw.cz> > Date: Mon Feb 13 21:26:51 2017 +0100 > > omap3isp: fix VP2SDR bit so capture (not preview) works > > This is neccessary for capture (not preview) to work properly on > N900. Why is unknown. Ah, interesting. I will give it a try. Do you please have a link to the repo where this commit can be found? BR and thanks, Nikolaus > > Pavel > >> ### starting mplayer in sxga mode ### >> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 >> MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team >> >> Playing tv://. >> Detected file format: TV >> Selected driver: v4l2 >> name: Video 4 Linux 2 input >> author: Martin Olschewski <olschewski@zpr.uni-koeln.de> >> comment: first try, more to come ;-) >> v4l2: ioctl get standard failed: Invalid argument >> Selected device: OMAP3 ISP CCDC output >> Capabilities: video capture video output streaming >> supported norms: >> inputs: 0 = camera; >> Current input: 0 >> Current format: unknown (0x0) >> tv.c: norm_from_string(pal): Bogus norm parameter, setting default. >> v4l2: ioctl enum norm failed: Inappropriate ioctl for device >> Error: Cannot set norm! >> Selected input hasn't got a tuner! >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl streamon failed: Broken pipe >> [ass] auto-open >> Opening video filter: [rotate=2] >> VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s) >> Could not find matching colorspace - retrying with -vf scale... >> Opening video filter: [scale] >> [swscaler @ 0xb5ca9980]using unscaled uyvy422 -> yuv420p special converter >> VO: [x11] 1024x1280 => 1024x1280 Planar YV12 >> [swscaler @ 0xb5ca9980]No accelerated colorspace conversion found from yuv420p to bgra. >> Colorspace details not fully supported by selected vo. >> Selected video codec: RAW UYVY [raw] >> Audio: no sound >> Starting playback... >> V: 0.0 10/ 10 ??% ??% ??,?% 0 0 $<3> >> >> >> MPlayer interrupted by signal 2 in module: filter_video >> V: 0.0 11/ 11 ??% ??% ??,?% 0 0 $<3> >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: 0 frames successfully processed, 0 frames dropped. >> >> Exiting... (Quit) >> root@letux:~# >> >> BR and thanks, >> Nikolaus >> > > > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[toc] | [prev] | [next] | [standalone]
| From | Pavel Machek <pavel@ucw.cz> |
|---|---|
| Date | 2017-06-26 13:20 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWAdH-1EI-3@gated-at.bofh.it> |
| In reply to | #1674581 |
[Multipart message — attachments visible in raw view] — view raw
Hi! > > You may want to try this one: > > > > commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef > > Author: Pavel <pavel@ucw.cz> > > Date: Mon Feb 13 21:26:51 2017 +0100 > > > > omap3isp: fix VP2SDR bit so capture (not preview) works > > > > This is neccessary for capture (not preview) to work properly on > > N900. Why is unknown. > > Ah, interesting. I will give it a try. > > Do you please have a link to the repo where this commit can be > > found? This branch, as mentioned before: https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-n900.git/log/?h=camera-fw5-6 Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-06-27 08:00 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWRHA-4zw-5@gated-at.bofh.it> |
| In reply to | #1674638 |
[Multipart message — attachments visible in raw view] — view raw
> Am 26.06.2017 um 13:16 schrieb Pavel Machek <pavel@ucw.cz>: > > Hi! > >>> You may want to try this one: >>> >>> commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef >>> Author: Pavel <pavel@ucw.cz> >>> Date: Mon Feb 13 21:26:51 2017 +0100 >>> >>> omap3isp: fix VP2SDR bit so capture (not preview) works >>> >>> This is neccessary for capture (not preview) to work properly on >>> N900. Why is unknown. >> >> Ah, interesting. I will give it a try. >> >> Do you please have a link to the repo where this commit can be >>> found? > > This branch, as mentioned before: > > https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-n900.git/log/?h=camera-fw5-6 Thanks. I have merged this patch but unfortunately, it does not make the green screen go away. Neither with our own driver nor with the new one by Hugues (which turned out to not support SXGA at all but I tried VGA). I think we should postpone debugging this until Hugues proposed patches are better reviewed. BR and thanks, Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | Hugues FRUCHET <hugues.fruchet@st.com> |
|---|---|
| Date | 2017-06-26 15:30 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWCfw-2Sk-11@gated-at.bofh.it> |
| In reply to | #1674529 |
Nikolaus, some comments about pixel format/resolution below: On 06/26/2017 10:39 AM, Pavel Machek wrote: > On Mon 2017-06-26 08:05:04, H. Nikolaus Schaller wrote: >> Hi Pavel, >> >>> Am 25.06.2017 um 11:18 schrieb Pavel Machek <pavel@ucw.cz>: >>> >>> Hi! >>> >>>> * unfortunately we still get no image :( >>>> >>>> The latter is likely a setup issue of our camera interface (OMAP3 ISP = Image Signal Processor) which >>>> we were not yet able to solve. Oscilloscoping signals on the interface indicated that signals and >>>> sync are correct. But we do not know since mplayer only shows a green screen. >>> >>> What mplayer command line do you use? How did you set up the pipeline >>> with media-ctl? >>> >>> On kernel.org, I have tree called camera-fw5-6 , where camera works >>> for me on n900. On gitlab, there's modifed fcam-dev, which can be used >>> for testing. >> >> We did have yet another (non-DT) camera driver and media-ctl working in with 3.12.37, >> but had no success yet to update it to work with modern kernels or drivers. It >> is either that the (newer) drivers missing something or the media-ctl has changed. >> >> Here is the log of our scripts with Hugues' driver and our latest setup: >> >> root@letux:~# ./camera-demo sxga >> DISPLAY=:0 >> XAUTHORITY=tcp >> Camera: /dev/v4l-subdev8 >> Setting mode sxga >> media-ctl -r >> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' >> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' >> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' > > Ok, so you are using capture, not preview. > > You may want to try this one: > > commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef > Author: Pavel <pavel@ucw.cz> > Date: Mon Feb 13 21:26:51 2017 +0100 > > omap3isp: fix VP2SDR bit so capture (not preview) works > > This is neccessary for capture (not preview) to work properly on > N900. Why is unknown. > > Pavel > >> ### starting mplayer in sxga mode ### >> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 => "outfmt=uyvy:width=1280:height=1024" Nikolaus, Be careful that only VGA/RGB565 is coded in this basic version of OV9655, perhaps this explain partly your troubles ? >> MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team >> >> Playing tv://. >> Detected file format: TV >> Selected driver: v4l2 >> name: Video 4 Linux 2 input >> author: Martin Olschewski <olschewski@zpr.uni-koeln.de> >> comment: first try, more to come ;-) >> v4l2: ioctl get standard failed: Invalid argument >> Selected device: OMAP3 ISP CCDC output >> Capabilities: video capture video output streaming >> supported norms: >> inputs: 0 = camera; >> Current input: 0 >> Current format: unknown (0x0) >> tv.c: norm_from_string(pal): Bogus norm parameter, setting default. >> v4l2: ioctl enum norm failed: Inappropriate ioctl for device >> Error: Cannot set norm! >> Selected input hasn't got a tuner! >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl streamon failed: Broken pipe >> [ass] auto-open >> Opening video filter: [rotate=2] >> VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s) >> Could not find matching colorspace - retrying with -vf scale... >> Opening video filter: [scale] >> [swscaler @ 0xb5ca9980]using unscaled uyvy422 -> yuv420p special converter >> VO: [x11] 1024x1280 => 1024x1280 Planar YV12 >> [swscaler @ 0xb5ca9980]No accelerated colorspace conversion found from yuv420p to bgra. >> Colorspace details not fully supported by selected vo. >> Selected video codec: RAW UYVY [raw] >> Audio: no sound >> Starting playback... >> V: 0.0 10/ 10 ??% ??% ??,?% 0 0 $<3> >> >> >> MPlayer interrupted by signal 2 in module: filter_video >> V: 0.0 11/ 11 ??% ??% ??,?% 0 0 $<3> >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: 0 frames successfully processed, 0 frames dropped. >> >> Exiting... (Quit) >> root@letux:~# >> >> BR and thanks, >> Nikolaus >> > > >
[toc] | [prev] | [next] | [standalone]
| From | Hugues FRUCHET <hugues.fruchet@st.com> |
|---|---|
| Date | 2017-06-27 10:00 +0200 |
| Subject | Re: omap3isp camera was Re: [PATCH v1 0/6] Add support of OV9655 camera |
| Message-ID | <tWTzJ-5PY-31@gated-at.bofh.it> |
| In reply to | #1674773 |
Hi Nikolaus, I would propose to work first on YUV support, so you can test a YUV VGA grabbing using your OMPA3 setup, I will add this support then in patch serie. For the co-work, let's continue on IRC (irc.freenode.net), chat #v4l, my pseudo is "hfr". BR, Hugues. On 06/26/2017 06:28 PM, H. Nikolaus Schaller wrote: > Hi Hugues, > >> Am 26.06.2017 um 15:19 schrieb Hugues FRUCHET <hugues.fruchet@st.com>: >> >> Nikolaus, >> some comments about pixel format/resolution below: >> >> On 06/26/2017 10:39 AM, Pavel Machek wrote: >>> On Mon 2017-06-26 08:05:04, H. Nikolaus Schaller wrote: >>>> Hi Pavel, >>>> >>>>> Am 25.06.2017 um 11:18 schrieb Pavel Machek <pavel@ucw.cz>: >>>>> >>>>> Hi! >>>>> >>>>>> * unfortunately we still get no image :( >>>>>> >>>>>> The latter is likely a setup issue of our camera interface (OMAP3 ISP = Image Signal Processor) which >>>>>> we were not yet able to solve. Oscilloscoping signals on the interface indicated that signals and >>>>>> sync are correct. But we do not know since mplayer only shows a green screen. >>>>> >>>>> What mplayer command line do you use? How did you set up the pipeline >>>>> with media-ctl? >>>>> >>>>> On kernel.org, I have tree called camera-fw5-6 , where camera works >>>>> for me on n900. On gitlab, there's modifed fcam-dev, which can be used >>>>> for testing. >>>> >>>> We did have yet another (non-DT) camera driver and media-ctl working in with 3.12.37, >>>> but had no success yet to update it to work with modern kernels or drivers. It >>>> is either that the (newer) drivers missing something or the media-ctl has changed. >>>> >>>> Here is the log of our scripts with Hugues' driver and our latest setup: >>>> >>>> root@letux:~# ./camera-demo sxga >>>> DISPLAY=:0 >>>> XAUTHORITY=tcp >>>> Camera: /dev/v4l-subdev8 >>>> Setting mode sxga >>>> media-ctl -r >>>> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' >>>> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' >>>> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' >>>> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' >>>> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' >>> >>> Ok, so you are using capture, not preview. >>> >>> You may want to try this one: >>> >>> commit 0eae9d2a8f096f703cbc8f9a0ab155cd3cc14cef >>> Author: Pavel <pavel@ucw.cz> >>> Date: Mon Feb 13 21:26:51 2017 +0100 >>> >>> omap3isp: fix VP2SDR bit so capture (not preview) works >>> >>> This is neccessary for capture (not preview) to work properly on >>> N900. Why is unknown. >>> >>> Pavel >>> >>>> ### starting mplayer in sxga mode ### >>>> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 >> >> => "outfmt=uyvy:width=1280:height=1024" >> >> Nikolaus, >> Be careful that only VGA/RGB565 is coded in this basic version of OV9655, >> perhaps this explain partly your troubles ? > > Ah, I see. The driver should support SXGA and UYVY2X8 (because our 3.12 compatible driver did). > > This very old (but working) non-DT driver for 3.12 kernels > was not based on the ov9650.c code but mt9p031.c: > > http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=drivers/media/i2c/ov9655.c;hb=refs/heads/3.12.37 > > We abandoned this independent driver because we felt (like you) that extending the existing > ov9650 driver is a better solution for mainline. > > > At least in theory. Therefore I assumed your submission supports SXGA and UYVY as well, > since your work is based on ours. > > Nevertheless, VGA resolution doesn't work either. > > root@letux:~# ./camera-demo vga > DISPLAY=:0 > XAUTHORITY=tcp > Camera: /dev/v4l-subdev8 > Setting mode vga > media-ctl -r > media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' > media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' > media-ctl -V '"ov965x":0 [UYVY2X8 640x480]' > media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 640x480]' > media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 640x480]' > ### starting mplayer in vga mode ### > mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=640:height=480:fps=30 -vo x11 > > > A little later it reports a NULL pointer dereference in ccdc_link_validate() / ccdc_is_shiftable(). > > It appears as if the input format translates into a NULL pointer by > omap3isp_video_format_info(0x00001008). > > This NULL pointer is not catched by ccdc_is_shiftable(). > > And it indicates that the camera driver is doing a format that is not > supported by omap3isp... > > > So how should we proceed? > > It looks as if your driver supports your scenario (STM32F746G-DISCO) in VGA/RGB565 > and our drivers (basically) support ours (omap3isp) in VGA/SXGA but UYVY. > > We certainly need a generic driver that supports all platforms and formats. So > we somehow need to get all this stuff into a single driver. > > Working on two different patch sets doesn't make sense and would be rejected > my maintainers... > > Basically I could work on your basis to add what we need, but this requires your > basis to be stabilized first. Or I would spend more time rebasing my code than > fixing things. > > Or you implement the missing formats / features and I test and try to pinpoint > and report issues to you for integration. > > So we have to agree on some way to coordinate the work, especially who submits > patch sets for review here. Since you were faster than us to submit anything, > so you should continue with this series. > > BR and thanks, > Nikolaus >
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-07-01 23:10 +0200 |
| Message-ID | <tYxOp-6Z-21@gated-at.bofh.it> |
| In reply to | #1675397 |
Hi, Firstly, it turned out that we also must have V4L2_CID_PIXEL_RATE for omap3isp compatibility (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?&id=0bc77f3f06fcf2ca7b7fad782d70926cd4d235f1 ). And secondly, I have tried to add some SXGA config and it looks good by oscilloscope: - XCLK ca. 24 MHz - PCLK ca. 12 MHz - HREF ca. 15.6 kHz negative going impulses - VSYNC ca. 15 Hz (fps) positive going impulses - D8 data line shows changing 0/1 patterns which depend on light falling in camera lens But mplayer still shows a green screen and reports v4l2: select timeout. I assume we should see a at least scrambled image but not a green screen, even if sync position and polarity or data format would not be correctly set up. This time the omap3isp is fully initialized and does a register dump: > root@letux:~# ./camera-demo sxga > Camera: /dev/v4l-subdev8 > Setting mode sxga > media-ctl -r > media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' > media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' > media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' > media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' > media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' > ### starting mplayer in sxga mode ### > mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 NOTE: /dev/video2 is $(media-ctl -e "OMAP3 ISP CCDC output") > MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team > > Playing tv://. > Detected file format: TV > Selected driver: v4l2 > name: Video 4 Linux 2 input > author: Martin Olschewski <olschewski@zpr.uni-koeln.de> > comment: first try, more to come ;-) > v4l2: ioctl get standard failed: Invalid argument ^^^ does not look harmful > Selected device: OMAP3 ISP CCDC output > Capabilities: video capture video output streaming > supported norms: > inputs: 0 = camera; > Current input: 0 > Current format: unknown (0x0) > tv.c: norm_from_string(pal): Bogus norm parameter, setting default. > v4l2: ioctl enum norm failed: Inappropriate ioctl for device ^^^ does not look harmful > Error: Cannot set norm! > Selected input hasn't got a tuner! ^^^ does not look harmful > v4l2: ioctl set mute failed: Inappropriate ioctl for device > v4l2: ioctl query control failed: Inappropriate ioctl for device > v4l2: ioctl query control failed: Inappropriate ioctl for device > v4l2: ioctl query control failed: Inappropriate ioctl for device > v4l2: ioctl query control failed: Inappropriate ioctl for device ^^^ does not look harmful > [ 558.848815] configuring for 1280(2560)x1024 > [ 558.854003] omap3isp 480bc000.isp: -------------CCDC Register dump------------- > [ 558.863983] omap3isp 480bc000.isp: ###CCDC PCR=0x00000000 > [ 558.870880] omap3isp 480bc000.isp: ###CCDC SYN_MODE=0x00071704 > [ 558.877227] omap3isp 480bc000.isp: ###CCDC HD_VD_WID=0x00000000 > [ 558.884613] omap3isp 480bc000.isp: ###CCDC PIX_LINES=0x00000000 > [ 558.891876] omap3isp 480bc000.isp: ###CCDC HORZ_INFO=0x000004ff > [ 558.898132] omap3isp 480bc000.isp: ###CCDC VERT_START=0x00000000 > [ 558.905700] omap3isp 480bc000.isp: ###CCDC VERT_LINES=0x000003ff > [ 558.913421] omap3isp 480bc000.isp: ###CCDC CULLING=0xffff00ff > [ 558.920471] omap3isp 480bc000.isp: ###CCDC HSIZE_OFF=0x00000a00 > [ 558.926727] omap3isp 480bc000.isp: ###CCDC SDOFST=0x00000000 > [ 558.933929] omap3isp 480bc000.isp: ###CCDC SDR_ADDR=0x40000000 > [ 558.940948] omap3isp 480bc000.isp: ###CCDC CLAMP=0x00000010 > [ 558.946990] omap3isp 480bc000.isp: ###CCDC DCSUB=0x00000000 > [ 558.953948] omap3isp 480bc000.isp: ###CCDC COLPTN=0xbb11bb11 > [ 558.960845] omap3isp 480bc000.isp: ###CCDC BLKCMP=0x00000000 > [ 558.966888] omap3isp 480bc000.isp: ###CCDC FPC=0x00000000 > [ 558.973724] omap3isp 480bc000.isp: ###CCDC FPC_ADDR=0x00000000 > [ 558.982757] omap3isp 480bc000.isp: ###CCDC VDINT=0x03fe02aa > [ 558.988769] omap3isp 480bc000.isp: ###CCDC ALAW=0x00000004 > [ 558.995483] omap3isp 480bc000.isp: ###CCDC REC656IF=0x00000000 > [ 559.002380] omap3isp 480bc000.isp: ###CCDC CFG=0x00008800 > [ 559.008056] omap3isp 480bc000.isp: ###CCDC FMTCFG=0x00000000 > [ 559.014892] omap3isp 480bc000.isp: ###CCDC FMT_HORZ=0x00000000 > [ 559.021697] omap3isp 480bc000.isp: ###CCDC FMT_VERT=0x00000000 > [ 559.027954] omap3isp 480bc000.isp: ###CCDC PRGEVEN0=0x00000000 > [ 559.034912] omap3isp 480bc000.isp: ###CCDC PRGEVEN1=0x00000000 > [ 559.041748] omap3isp 480bc000.isp: ###CCDC PRGODD0=0x00000000 > [ 559.047790] omap3isp 480bc000.isp: ###CCDC PRGODD1=0x00000000 > [ 559.054687] omap3isp 480bc000.isp: ###CCDC VP_OUT=0x00000000 > [ 559.061645] omap3isp 480bc000.isp: ###CCDC LSC_CONFIG=0x00006600 > [ 559.068084] omap3isp 480bc000.isp: ###CCDC LSC_INITIAL=0x00000000 > [ 559.075378] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_BASE=0x00000000 > [ 559.082916] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_OFFSET=0x00000000 > [ 559.090454] omap3isp 480bc000.isp: -------------------------------------------- > [ass] auto-open > Opening video filter: [rotate=2] > VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s) > Could not find matching colorspace - retrying with -vf scale... > Opening video filter: [scale] > [swscaler @ 0xb5d45980]using unscaled uyvy422 -> yuv420p special converter > VO: [x11] 1024x1280 => 1024x1280 Planar YV12 > [swscaler @ 0xb5d45980]No accelerated colorspace conversion found from yuv420p to bgra. > Colorspace details not fully supported by selected vo. > Selected video codec: RAW UYVY [raw] > Audio: no sound > Starting playback... > v4l2: select timeout > V: 0.0 1/ 1 ??% ??% ??,?% 0 0 > v4l2: select timeout > V: 0.0 3/ 3 ??% ??% ??,?% 0 0 > v4l2: select timeout > V: 0.0 4/ 4 ??% ??% ??,?% 0 0 > v4l2: select timeout > V: 0.0 5/ 5 ??% ??% ??,?% 0 0 > v4l2: select timeout > > > MPlayer interrupted by signal 2 in module: filter_video > V: 0.0 6/ 6 ??% ??% ??,?% 0 0 > v4l2: select timeout > [ 565.122406] omap3isp 480bc000.isp: OMAP3 ISP AEWB: user wants to disable module. > [ 565.130950] omap3isp 480bc000.isp: OMAP3 ISP AEWB: module is being disabled > [ 565.138397] omap3isp 480bc000.isp: OMAP3 ISP AF: user wants to disable module. > [ 565.149047] omap3isp 480bc000.isp: OMAP3 ISP AF: module is being disabled > [ 565.158660] omap3isp 480bc000.isp: OMAP3 ISP histogram: user wants to disable module. > [ 565.168945] omap3isp 480bc000.isp: OMAP3 ISP histogram: module is being disabled > [ 567.221099] omap3isp 480bc000.isp: CCDC stop timeout! > [ 567.226593] omap3isp 480bc000.isp: Unable to stop OMAP3 ISP CCDC ^^^ that looks like some lockup of the CCDC? > v4l2: ioctl set mute failed: Inappropriate ioctl for device > v4l2: 0 frames successfully processed, 1 frames dropped. > > Exiting... (Quit) > root@letux:~# Latest patches are here: http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/extern/ov9655-v2 Device tree: http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=arch/arm/boot/dts/omap3-gta04.dtsi;hb=80a33790b381c83fd6e99af15cb5bd6c97abb0a7#l941 Any ideas how to debug 'v4l2: select timeout'? BR and thanks, Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | Hugues FRUCHET <hugues.fruchet@st.com> |
|---|---|
| Date | 2017-07-03 10:20 +0200 |
| Message-ID | <tZ4Km-6Tf-3@gated-at.bofh.it> |
| In reply to | #1679404 |
Hi Nikolaus, Could you enable V4L2 UAPI traces ? Something like: echo 0xFF > /sys/devices/platform/soc/<isp address>.<isp name>/video4linux/video2/dev_debug you will see then in kernel dmesg the V4L2 calls and their parameters/return values. BR, Hugues. On 07/01/2017 11:00 PM, H. Nikolaus Schaller wrote: > Hi, > > Firstly, it turned out that we also must have V4L2_CID_PIXEL_RATE for omap3isp compatibility > (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?&id=0bc77f3f06fcf2ca7b7fad782d70926cd4d235f1 ). > > And secondly, I have tried to add some SXGA config and it looks good by oscilloscope: > - XCLK ca. 24 MHz > - PCLK ca. 12 MHz > - HREF ca. 15.6 kHz negative going impulses > - VSYNC ca. 15 Hz (fps) positive going impulses > - D8 data line shows changing 0/1 patterns which depend on light falling in camera lens > > But mplayer still shows a green screen and reports v4l2: select timeout. > > I assume we should see a at least scrambled image but not a green screen, > even if sync position and polarity or data format would not be correctly > set up. > > This time the omap3isp is fully initialized and does a register dump: > >> root@letux:~# ./camera-demo sxga >> Camera: /dev/v4l-subdev8 >> Setting mode sxga >> media-ctl -r >> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' >> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' >> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' >> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' >> ### starting mplayer in sxga mode ### >> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 > > NOTE: /dev/video2 is $(media-ctl -e "OMAP3 ISP CCDC output") > >> MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team >> >> Playing tv://. >> Detected file format: TV >> Selected driver: v4l2 >> name: Video 4 Linux 2 input >> author: Martin Olschewski <olschewski@zpr.uni-koeln.de> >> comment: first try, more to come ;-) >> v4l2: ioctl get standard failed: Invalid argument > > ^^^ does not look harmful > >> Selected device: OMAP3 ISP CCDC output >> Capabilities: video capture video output streaming >> supported norms: >> inputs: 0 = camera; >> Current input: 0 >> Current format: unknown (0x0) >> tv.c: norm_from_string(pal): Bogus norm parameter, setting default. >> v4l2: ioctl enum norm failed: Inappropriate ioctl for device > > ^^^ does not look harmful > >> Error: Cannot set norm! >> Selected input hasn't got a tuner! > > ^^^ does not look harmful > >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device >> v4l2: ioctl query control failed: Inappropriate ioctl for device > > ^^^ does not look harmful > >> [ 558.848815] configuring for 1280(2560)x1024 >> [ 558.854003] omap3isp 480bc000.isp: -------------CCDC Register dump------------- >> [ 558.863983] omap3isp 480bc000.isp: ###CCDC PCR=0x00000000 >> [ 558.870880] omap3isp 480bc000.isp: ###CCDC SYN_MODE=0x00071704 >> [ 558.877227] omap3isp 480bc000.isp: ###CCDC HD_VD_WID=0x00000000 >> [ 558.884613] omap3isp 480bc000.isp: ###CCDC PIX_LINES=0x00000000 >> [ 558.891876] omap3isp 480bc000.isp: ###CCDC HORZ_INFO=0x000004ff >> [ 558.898132] omap3isp 480bc000.isp: ###CCDC VERT_START=0x00000000 >> [ 558.905700] omap3isp 480bc000.isp: ###CCDC VERT_LINES=0x000003ff >> [ 558.913421] omap3isp 480bc000.isp: ###CCDC CULLING=0xffff00ff >> [ 558.920471] omap3isp 480bc000.isp: ###CCDC HSIZE_OFF=0x00000a00 >> [ 558.926727] omap3isp 480bc000.isp: ###CCDC SDOFST=0x00000000 >> [ 558.933929] omap3isp 480bc000.isp: ###CCDC SDR_ADDR=0x40000000 >> [ 558.940948] omap3isp 480bc000.isp: ###CCDC CLAMP=0x00000010 >> [ 558.946990] omap3isp 480bc000.isp: ###CCDC DCSUB=0x00000000 >> [ 558.953948] omap3isp 480bc000.isp: ###CCDC COLPTN=0xbb11bb11 >> [ 558.960845] omap3isp 480bc000.isp: ###CCDC BLKCMP=0x00000000 >> [ 558.966888] omap3isp 480bc000.isp: ###CCDC FPC=0x00000000 >> [ 558.973724] omap3isp 480bc000.isp: ###CCDC FPC_ADDR=0x00000000 >> [ 558.982757] omap3isp 480bc000.isp: ###CCDC VDINT=0x03fe02aa >> [ 558.988769] omap3isp 480bc000.isp: ###CCDC ALAW=0x00000004 >> [ 558.995483] omap3isp 480bc000.isp: ###CCDC REC656IF=0x00000000 >> [ 559.002380] omap3isp 480bc000.isp: ###CCDC CFG=0x00008800 >> [ 559.008056] omap3isp 480bc000.isp: ###CCDC FMTCFG=0x00000000 >> [ 559.014892] omap3isp 480bc000.isp: ###CCDC FMT_HORZ=0x00000000 >> [ 559.021697] omap3isp 480bc000.isp: ###CCDC FMT_VERT=0x00000000 >> [ 559.027954] omap3isp 480bc000.isp: ###CCDC PRGEVEN0=0x00000000 >> [ 559.034912] omap3isp 480bc000.isp: ###CCDC PRGEVEN1=0x00000000 >> [ 559.041748] omap3isp 480bc000.isp: ###CCDC PRGODD0=0x00000000 >> [ 559.047790] omap3isp 480bc000.isp: ###CCDC PRGODD1=0x00000000 >> [ 559.054687] omap3isp 480bc000.isp: ###CCDC VP_OUT=0x00000000 >> [ 559.061645] omap3isp 480bc000.isp: ###CCDC LSC_CONFIG=0x00006600 >> [ 559.068084] omap3isp 480bc000.isp: ###CCDC LSC_INITIAL=0x00000000 >> [ 559.075378] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_BASE=0x00000000 >> [ 559.082916] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_OFFSET=0x00000000 >> [ 559.090454] omap3isp 480bc000.isp: -------------------------------------------- >> [ass] auto-open >> Opening video filter: [rotate=2] >> VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s) >> Could not find matching colorspace - retrying with -vf scale... >> Opening video filter: [scale] >> [swscaler @ 0xb5d45980]using unscaled uyvy422 -> yuv420p special converter >> VO: [x11] 1024x1280 => 1024x1280 Planar YV12 >> [swscaler @ 0xb5d45980]No accelerated colorspace conversion found from yuv420p to bgra. >> Colorspace details not fully supported by selected vo. >> Selected video codec: RAW UYVY [raw] >> Audio: no sound >> Starting playback... >> v4l2: select timeout >> V: 0.0 1/ 1 ??% ??% ??,?% 0 0 >> v4l2: select timeout >> V: 0.0 3/ 3 ??% ??% ??,?% 0 0 >> v4l2: select timeout >> V: 0.0 4/ 4 ??% ??% ??,?% 0 0 >> v4l2: select timeout >> V: 0.0 5/ 5 ??% ??% ??,?% 0 0 >> v4l2: select timeout >> >> >> MPlayer interrupted by signal 2 in module: filter_video >> V: 0.0 6/ 6 ??% ??% ??,?% 0 0 >> v4l2: select timeout >> [ 565.122406] omap3isp 480bc000.isp: OMAP3 ISP AEWB: user wants to disable module. >> [ 565.130950] omap3isp 480bc000.isp: OMAP3 ISP AEWB: module is being disabled >> [ 565.138397] omap3isp 480bc000.isp: OMAP3 ISP AF: user wants to disable module. >> [ 565.149047] omap3isp 480bc000.isp: OMAP3 ISP AF: module is being disabled >> [ 565.158660] omap3isp 480bc000.isp: OMAP3 ISP histogram: user wants to disable module. >> [ 565.168945] omap3isp 480bc000.isp: OMAP3 ISP histogram: module is being disabled >> [ 567.221099] omap3isp 480bc000.isp: CCDC stop timeout! >> [ 567.226593] omap3isp 480bc000.isp: Unable to stop OMAP3 ISP CCDC > > ^^^ that looks like some lockup of the CCDC? > >> v4l2: ioctl set mute failed: Inappropriate ioctl for device >> v4l2: 0 frames successfully processed, 1 frames dropped. >> >> Exiting... (Quit) >> root@letux:~# > > Latest patches are here: > > http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/extern/ov9655-v2 > > Device tree: > > http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=arch/arm/boot/dts/omap3-gta04.dtsi;hb=80a33790b381c83fd6e99af15cb5bd6c97abb0a7#l941 > > Any ideas how to debug 'v4l2: select timeout'? > > BR and thanks, > Nikolaus >
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-07-03 11:20 +0200 |
| Message-ID | <tZ5Gr-7vd-33@gated-at.bofh.it> |
| In reply to | #1679742 |
Hi Hugues, > Am 03.07.2017 um 10:16 schrieb Hugues FRUCHET <hugues.fruchet@st.com>: > > Hi Nikolaus, > Could you enable V4L2 UAPI traces ? Something like: > echo 0xFF > /sys/devices/platform/soc/<isp address>.<isp > name>/video4linux/video2/dev_debug > > you will see then in kernel dmesg the V4L2 calls and their > parameters/return values. Nice. > root@letux:~# echo 255 >/sys/devices/platform/68000000.ocp/480bc000.isp/video4linux/video2/dev_debug > root@letux:~# ./camera-demo sxga > Camera: /dev/v4l-subdev8 > Setting mode sxga > media-ctl -r > media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]' > media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]' > media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]' > media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]' > media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]' > ### starting mplayer in sxga mode ### > mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11 > MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team > > Playing tv://. > Detected file format: TV > Selected driver: v4l2 > name: Video 4 Linux 2 input > author: Martin Olschewski <olschewski@zpr.uni-koeln.de> > comment: first try, more to come ;-) > [ 425.216094] video2: open (0) > [ 425.219329] video2: VIDIOC_QUERYCAP: driver=ispvideo, card=OMAP3 ISP CCDC output, bus=media, version=0x00040c00, capabilities=0x84200003, device_caps=0x04200001 > [ 425.236389] video2: VIDIOC_G_FMT: type=vid-cap, width=0, height=0, pixelformat=, field=any, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.254699] video2: VIDIOC_G_STD: error -25: std=0x00000000 > [ 425.260620] video2: VIDIOC_G_PARM: error -22: type=vid-cap, capability=0x0, capturemode=0x0, timeperframe=0/0, extendedmode=0, readbuffers=0 > v4l2: ioctl get standard failed: Invalid argumen[ 425.275573] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0 > t > Selected device: OMAP3 ISP CCDC output > Capa[ 425.289398] video2: VIDIOC_ENUMINPUT: index=0, name=camera, type=2, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0 > bilities: video capture video output streamin[ 425.306396] video2: VIDIOC_ENUMINPUT: error -22: index=1, name=, type=0, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0 > g > supported norms: > inputs: 0 = camera;[ 425.323822] video2: VIDIOC_G_INPUT: value=0 > > Current input: 0 > [ 425.332580] video2: VIDIOC_ENUM_FMT: error -25: index=0, type=vid-cap, flags=0x0, pixelformat=, description='' > Current format: unknown (0x0) > [ 425.345428] video2: VIDIOC_G_FMT: type=vid-cap, width=0, height=0, pixelformat=, field=any, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.367858] video2: VIDIOC_S_FMT: type=vid-cap, width=640, height=480, pixelformat=, field=none, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.386627] video2: VIDIOC_G_FMT: type=vid-cap, width=640, height=480, pixelformat=, field=none, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.405334] video2: VIDIOC_S_FMT: type=vid-cap, width=640, height=480, pixelformat=UYVY, field=none, bytesperline=1280, sizeimage=614400, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.425720] video2: VIDIOC_ENUMINPUT: index=0, name=camera, type=2, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0 > [ 425.439727] video2: VIDIOC_S_INPUT: value=0 > [ 425.445159] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0 > tv.c: norm_from_string(pal): Bogus norm paramete[ 425.455871] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0 > r, setting default. > v4l2: ioctl enum norm failed: In[ 425.470397] video2: VIDIOC_G_FMT: type=vid-cap, width=640, height=480, pixelformat=UYVY, field=none, bytesperline=1280, sizeimage=614400, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > appropriate ioctl for device > Error: Cannot set [ 425.493743] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > norm! > [ 425.517669] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.538238] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.558990] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > Selected input hasn't got a tuner! > [ 425.600646] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.623840] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.644317] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0 > [ 425.676971] video2: VIDIOC_REQBUFS: count=2, type=vid-cap, memory=mmap > [ 425.684082] video2: VIDIOC_QUERYBUF: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00002000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x0, length=2621440 > [ 425.702117] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000 > [ 425.713073] video2: mmap (0) > [ 425.716400] video2: VIDIOC_QBUF: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00002003, field=any, sequence=0, memory=mmap, bytesused=2621440, offset/userptr=0x0, length=2621440 > [ 425.734436] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000 > [ 425.743499] video2: VIDIOC_QUERYBUF: 00:00:00.00000000 index=1, type=vid-cap, flags=0x00002000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x280000, length=2621440 > [ 425.761688] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000 > [ 425.772186] video2: mmap (0) > [ 425.775299] video2: VIDIOC_QBUF: 00:00:00.00000000 index=1, type=vid-cap, flags=0x00002003, field=any, sequence=0, memory=mmap, bytesused=2621440, offset/userptr=0x280000, length=2621440 > [ 425.793670] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000 > [ 425.802703] video2: VIDIOC_S_CTRL: error -25: id=0x980909, value=0 > v4l2: ioctl set mute failed: Inappropriate ioctl[ 425.809661] video2: VIDIOC_QUERYCTRL: error -25: id=0x980900, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000 > for device > v4l2: ioctl query control failed: Inappropriate [ 425.826965] video2: VIDIOC_QUERYCTRL: error -25: id=0x980903, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000 > ioctl for device > v4l2: ioctl query control failed[ 425.844055] video2: VIDIOC_QUERYCTRL: error -25: id=0x980902, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000 > : Inappropriate ioctl for device > v4l2: ioctl quer[ 425.860198] video2: VIDIOC_QUERYCTRL: error -25: id=0x980901, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000 > y control failed: Inappropriate ioctl for device > v4l2: ioctl query control failed: Inappropriate ioctl for device > [ 425.930206] configuring for 1280(2560)x1024 > [ 425.943481] omap3isp 480bc000.isp: -------------CCDC Register dump------------- > [ 425.951171] omap3isp 480bc000.isp: ###CCDC PCR=0x00000000 > [ 425.958007] omap3isp 480bc000.isp: ###CCDC SYN_MODE=0x00071704 > [ 425.964996] omap3isp 480bc000.isp: ###CCDC HD_VD_WID=0x00000000 > [ 425.972656] omap3isp 480bc000.isp: ###CCDC PIX_LINES=0x00000000 > [ 425.978881] omap3isp 480bc000.isp: ###CCDC HORZ_INFO=0x000004ff > [ 425.986114] omap3isp 480bc000.isp: ###CCDC VERT_START=0x00000000 > [ 425.993255] omap3isp 480bc000.isp: ###CCDC VERT_LINES=0x000003ff > [ 425.999694] omap3isp 480bc000.isp: ###CCDC CULLING=0xffff00ff > [ 426.006530] omap3isp 480bc000.isp: ###CCDC HSIZE_OFF=0x00000a00 > [ 426.013580] omap3isp 480bc000.isp: ###CCDC SDOFST=0x00000000 > [ 426.019531] omap3isp 480bc000.isp: ###CCDC SDR_ADDR=0x40000000 > [ 426.026550] omap3isp 480bc000.isp: ###CCDC CLAMP=0x00000010 > [ 426.033142] omap3isp 480bc000.isp: ###CCDC DCSUB=0x00000000 > [ 426.039123] omap3isp 480bc000.isp: ###CCDC COLPTN=0xbb11bb11 > [ 426.046020] omap3isp 480bc000.isp: ###CCDC BLKCMP=0x00000000 > [ 426.052795] omap3isp 480bc000.isp: ###CCDC FPC=0x00000000 > [ 426.058532] omap3isp 480bc000.isp: ###CCDC FPC_ADDR=0x00000000 > [ 426.065551] omap3isp 480bc000.isp: ###CCDC VDINT=0x03fe02aa > [ 426.072143] omap3isp 480bc000.isp: ###CCDC ALAW=0x00000006 > [ 426.078033] omap3isp 480bc000.isp: ###CCDC REC656IF=0x00000000 > [ 426.084960] omap3isp 480bc000.isp: ###CCDC CFG=0x00008800 > [ 426.090759] omap3isp 480bc000.isp: ###CCDC FMTCFG=0x00000000 > [ 426.097869] omap3isp 480bc000.isp: ###CCDC FMT_HORZ=0x00000000 > [ 426.104949] omap3isp 480bc000.isp: ###CCDC FMT_VERT=0x00000000 > [ 426.111053] omap3isp 480bc000.isp: ###CCDC PRGEVEN0=0x00000000 > [ 426.118103] omap3isp 480bc000.isp: ###CCDC PRGEVEN1=0x00000000 > [ 426.124999] omap3isp 480bc000.isp: ###CCDC PRGODD0=0x00000000 > [ 426.131164] omap3isp 480bc000.isp: ###CCDC PRGODD1=0x00000000 > [ 426.138000] omap3isp 480bc000.isp: ###CCDC VP_OUT=0x00000000 > [ 426.144744] omap3isp 480bc000.isp: ###CCDC LSC_CONFIG=0x00006600 > [ 426.151062] omap3isp 480bc000.isp: ###CCDC LSC_INITIAL=0x00000000 > [ 426.158325] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_BASE=0x00000000 > [ 426.165740] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_OFFSET=0x00000000 > [ 426.173400] omap3isp 480bc000.isp: -------------------------------------------- > [ 426.188140] video2: VIDIOC_STREAMON: type=vid-cap > [ 426.194244] video2: poll: 00000000 > [ass] auto-open > Opening video filter: [rotate=2] > VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s) > Could not find matching colorspace - retrying with -vf scale... > Opening video filter: [scale] > [swscaler @ 0xb5d45980]using unscaled uyvy422 -> yuv420p special converter > VO: [x11] 1024x1280 => 1024x1280 Planar YV12 > [swscaler @ 0xb5d45980]No accelerated colorspace conversion found from yuv420p to bgra. > Colorspace details not fully supported by selected vo. > Selected video codec: RAW UYVY [raw] > Audio: no sound > Starting playback... > [ 427.194793] video2: poll: 00000000 > v4l2: select timeout > [ 427.203033] video2: poll: 00000000 > [ 428.204498] video2: poll: 00000000 > > v4l2: select timeout > [ 428.215667] video2: poll: 00000000 > [ 429.217102] video2: poll: 00000000 > > v4l2: select timeout > [ 429.233978] video2: poll: 00000000 > [ 430.235656] video2: poll: 00000000 > > v4l2: select timeout > [ 430.240661] video2: poll: 00000000 > [ 431.242889] video2: poll: 00000000 > > v4l2: select timeout > [ 431.249114] video2: poll: 00000000 > V: 0.0 6/ 6 ??% ??% ??,?% 0 0 > > > MPlayer interrupted by signal 2 in module: filter_video > [ 432.251220] video2: poll: 00000000 > v4l2: select timeout > [ 432.256713] video2: poll: 00000000 > [ 433.258941] video2: poll: 00000000 > > v4l2: select timeout > [ 433.266632] omap3isp 480bc000.isp: OMAP3 ISP AEWB: user wants to disable module. > [ 433.280090] omap3isp 480bc000.isp: OMAP3 ISP AEWB: module is being disabled > [ 433.290130] omap3isp 480bc000.isp: OMAP3 ISP AF: user wants to disable module. > [ 433.300140] omap3isp 480bc000.isp: OMAP3 ISP AF: module is being disabled > [ 433.309631] omap3isp 480bc000.isp: OMAP3 ISP histogram: user wants to disable module. > [ 433.319885] omap3isp 480bc000.isp: OMAP3 ISP histogram: module is being disabled > [ 435.373168] omap3isp 480bc000.isp: CCDC stop timeout! > [ 435.380371] omap3isp 480bc000.isp: Unable to stop OMAP3 ISP CCDC > [ 435.391754] video2: VIDIOC_STREAMOFF: type=vid-cap > [ 435.397583] video2: VIDIOC_DQBUF: error -22: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00000000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x0, length=0 > [ 435.417175] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000 > [ 435.431549] video2: VIDIOC_S_CTRL: error -25: id=0x980909, value=1 > v4l2: ioctl set mute failed: Inappropriate ioctl for device > [ 435.495422] video2: release > v4l2: 0 frames successfully processed, 1 frames dropped. > > Exiting... (Quit) > root@letux:~# Seem as if it tells me not much more than setting "pal" norm does fail and there is no "MUTE". VIDIOC_STREAMON is successful and the poll times out. Anyways, this indicates that the problem is probably not in the v4l2 layer but below, i.e. omap3isp+camera. Maybe as simple as the ISP ignoring the SYNC inputs and then of course failing to capture frames within given time. I have checked our pinmux setup but didn't find anything suspicious. So is it somehow possible to check if the omap3isp is running and receiving sync inpulses? BR and thanks, Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | Hugues FRUCHET <hugues.fruchet@st.com> |
|---|---|
| Date | 2017-07-03 14:10 +0200 |
| Message-ID | <tZ8kW-1aZ-5@gated-at.bofh.it> |
| In reply to | #1679810 |
Hi Nikolaus,
nothing really strange in trace, I wanted to check the latest S_FMT and
it is well 1280x1024 YUV:
>> [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280,
height=1024, pixelformat=UYVY, field=none, bytesperline=2560,
sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0,
xfer_func=0
You're right that it seems that the ISP is not seeing any data in input.
Have you double checked the polarities of sync signals ? I see
differences in devicetree:
960 ov9655: endpoint {
961 remote-endpoint = <¶llel_ep>;
962 #if 0 // not used by camera driver - define &parellel_ep for isp
963 bus-width = <8>;
964 data-shift = <2>; /* Lines
9:2 are used */
965 hsync-active = <1>; /* Active
high */
966 vsync-active = <1>; /* Active
high */
967 data-active = <1>; /* Active
high */
968 pclk-sample = <1>; /* Rising */
969 #endif
Which has been commented out in flavour of:
1011 /* parallel camera interface */
1012 ¶llel_ep {
1013 remote-endpoint = <&ov9655>;
1014 ti,isp-clock-divisor = <1>;
1015 ti,strobe-mode;
1016 bus-width = <8>;/* Used data lines */
1017 data-shift = <2>; /* Lines 9:2 are used */
1018 hsync-active = <0>; /* Active low */
1019 vsync-active = <1>; /* Active high */
1020 data-active = <1>;/* Active high */
1021 pclk-sample = <1>;/* Rising */
1022 };
there is a difference regarding active level of hsync.
Nevertheless seems OK if I check OMAP3 ISP register:
CCDC SYN_MODE=0x00071704
#define ISPCCDC_SYN_MODE_VDPOL (1 << 2)
#define ISPCCDC_SYN_MODE_HDPOL (1 << 3)
seems well that vertical is 1 and horizontal is 0.
BR,
Hugues.
On 07/03/2017 11:14 AM, H. Nikolaus Schaller wrote:
> Hi Hugues,
>
>> Am 03.07.2017 um 10:16 schrieb Hugues FRUCHET <hugues.fruchet@st.com>:
>>
>> Hi Nikolaus,
>> Could you enable V4L2 UAPI traces ? Something like:
>> echo 0xFF > /sys/devices/platform/soc/<isp address>.<isp
>> name>/video4linux/video2/dev_debug
>>
>> you will see then in kernel dmesg the V4L2 calls and their
>> parameters/return values.
>
> Nice.
>
>> root@letux:~# echo 255 >/sys/devices/platform/68000000.ocp/480bc000.isp/video4linux/video2/dev_debug
>> root@letux:~# ./camera-demo sxga
>> Camera: /dev/v4l-subdev8
>> Setting mode sxga
>> media-ctl -r
>> media-ctl -l '"ov965x":0 -> "OMAP3 ISP CCDC":0[1]'
>> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0[1]'
>> media-ctl -V '"ov965x":0 [UYVY2X8 1280x1024]'
>> media-ctl -V '"OMAP3 ISP CCDC":0 [UYVY2X8 1280x1024]'
>> media-ctl -V '"OMAP3 ISP CCDC":1 [UYVY 1280x1024]'
>> ### starting mplayer in sxga mode ###
>> mplayer tv:// -vf rotate=2 -tv driver=v4l2:device=/dev/video2:outfmt=uyvy:width=1280:height=1024:fps=15 -vo x11
>> MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
>>
>> Playing tv://.
>> Detected file format: TV
>> Selected driver: v4l2
>> name: Video 4 Linux 2 input
>> author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
>> comment: first try, more to come ;-)
>> [ 425.216094] video2: open (0)
>> [ 425.219329] video2: VIDIOC_QUERYCAP: driver=ispvideo, card=OMAP3 ISP CCDC output, bus=media, version=0x00040c00, capabilities=0x84200003, device_caps=0x04200001
>> [ 425.236389] video2: VIDIOC_G_FMT: type=vid-cap, width=0, height=0, pixelformat=, field=any, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.254699] video2: VIDIOC_G_STD: error -25: std=0x00000000
>> [ 425.260620] video2: VIDIOC_G_PARM: error -22: type=vid-cap, capability=0x0, capturemode=0x0, timeperframe=0/0, extendedmode=0, readbuffers=0
>> v4l2: ioctl get standard failed: Invalid argumen[ 425.275573] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0
>> t
>> Selected device: OMAP3 ISP CCDC output
>> Capa[ 425.289398] video2: VIDIOC_ENUMINPUT: index=0, name=camera, type=2, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0
>> bilities: video capture video output streamin[ 425.306396] video2: VIDIOC_ENUMINPUT: error -22: index=1, name=, type=0, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0
>> g
>> supported norms:
>> inputs: 0 = camera;[ 425.323822] video2: VIDIOC_G_INPUT: value=0
>>
>> Current input: 0
>> [ 425.332580] video2: VIDIOC_ENUM_FMT: error -25: index=0, type=vid-cap, flags=0x0, pixelformat=, description=''
>> Current format: unknown (0x0)
>> [ 425.345428] video2: VIDIOC_G_FMT: type=vid-cap, width=0, height=0, pixelformat=, field=any, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.367858] video2: VIDIOC_S_FMT: type=vid-cap, width=640, height=480, pixelformat=, field=none, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.386627] video2: VIDIOC_G_FMT: type=vid-cap, width=640, height=480, pixelformat=, field=none, bytesperline=0, sizeimage=0, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.405334] video2: VIDIOC_S_FMT: type=vid-cap, width=640, height=480, pixelformat=UYVY, field=none, bytesperline=1280, sizeimage=614400, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.425720] video2: VIDIOC_ENUMINPUT: index=0, name=camera, type=2, audioset=0x0, tuner=0, std=0x00000000, status=0x0, capabilities=0x0
>> [ 425.439727] video2: VIDIOC_S_INPUT: value=0
>> [ 425.445159] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0
>> tv.c: norm_from_string(pal): Bogus norm paramete[ 425.455871] video2: VIDIOC_ENUMSTD: error -25: index=0, id=0x0, name=, fps=0/0, framelines=0
>> r, setting default.
>> v4l2: ioctl enum norm failed: In[ 425.470397] video2: VIDIOC_G_FMT: type=vid-cap, width=640, height=480, pixelformat=UYVY, field=none, bytesperline=1280, sizeimage=614400, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> appropriate ioctl for device
>> Error: Cannot set [ 425.493743] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> norm!
>> [ 425.517669] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.538238] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.558990] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> Selected input hasn't got a tuner!
>> [ 425.600646] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.623840] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.644317] video2: VIDIOC_G_FMT: type=vid-cap, width=1280, height=1024, pixelformat=UYVY, field=none, bytesperline=2560, sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0, xfer_func=0
>> [ 425.676971] video2: VIDIOC_REQBUFS: count=2, type=vid-cap, memory=mmap
>> [ 425.684082] video2: VIDIOC_QUERYBUF: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00002000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x0, length=2621440
>> [ 425.702117] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000
>> [ 425.713073] video2: mmap (0)
>> [ 425.716400] video2: VIDIOC_QBUF: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00002003, field=any, sequence=0, memory=mmap, bytesused=2621440, offset/userptr=0x0, length=2621440
>> [ 425.734436] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000
>> [ 425.743499] video2: VIDIOC_QUERYBUF: 00:00:00.00000000 index=1, type=vid-cap, flags=0x00002000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x280000, length=2621440
>> [ 425.761688] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000
>> [ 425.772186] video2: mmap (0)
>> [ 425.775299] video2: VIDIOC_QBUF: 00:00:00.00000000 index=1, type=vid-cap, flags=0x00002003, field=any, sequence=0, memory=mmap, bytesused=2621440, offset/userptr=0x280000, length=2621440
>> [ 425.793670] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000
>> [ 425.802703] video2: VIDIOC_S_CTRL: error -25: id=0x980909, value=0
>> v4l2: ioctl set mute failed: Inappropriate ioctl[ 425.809661] video2: VIDIOC_QUERYCTRL: error -25: id=0x980900, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000
>> for device
>> v4l2: ioctl query control failed: Inappropriate [ 425.826965] video2: VIDIOC_QUERYCTRL: error -25: id=0x980903, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000
>> ioctl for device
>> v4l2: ioctl query control failed[ 425.844055] video2: VIDIOC_QUERYCTRL: error -25: id=0x980902, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000
>> : Inappropriate ioctl for device
>> v4l2: ioctl quer[ 425.860198] video2: VIDIOC_QUERYCTRL: error -25: id=0x980901, type=0, name=, min/max=0/0, step=0, default=0, flags=0x00000000
>> y control failed: Inappropriate ioctl for device
>> v4l2: ioctl query control failed: Inappropriate ioctl for device
>> [ 425.930206] configuring for 1280(2560)x1024
>> [ 425.943481] omap3isp 480bc000.isp: -------------CCDC Register dump-------------
>> [ 425.951171] omap3isp 480bc000.isp: ###CCDC PCR=0x00000000
>> [ 425.958007] omap3isp 480bc000.isp: ###CCDC SYN_MODE=0x00071704
>> [ 425.964996] omap3isp 480bc000.isp: ###CCDC HD_VD_WID=0x00000000
>> [ 425.972656] omap3isp 480bc000.isp: ###CCDC PIX_LINES=0x00000000
>> [ 425.978881] omap3isp 480bc000.isp: ###CCDC HORZ_INFO=0x000004ff
>> [ 425.986114] omap3isp 480bc000.isp: ###CCDC VERT_START=0x00000000
>> [ 425.993255] omap3isp 480bc000.isp: ###CCDC VERT_LINES=0x000003ff
>> [ 425.999694] omap3isp 480bc000.isp: ###CCDC CULLING=0xffff00ff
>> [ 426.006530] omap3isp 480bc000.isp: ###CCDC HSIZE_OFF=0x00000a00
>> [ 426.013580] omap3isp 480bc000.isp: ###CCDC SDOFST=0x00000000
>> [ 426.019531] omap3isp 480bc000.isp: ###CCDC SDR_ADDR=0x40000000
>> [ 426.026550] omap3isp 480bc000.isp: ###CCDC CLAMP=0x00000010
>> [ 426.033142] omap3isp 480bc000.isp: ###CCDC DCSUB=0x00000000
>> [ 426.039123] omap3isp 480bc000.isp: ###CCDC COLPTN=0xbb11bb11
>> [ 426.046020] omap3isp 480bc000.isp: ###CCDC BLKCMP=0x00000000
>> [ 426.052795] omap3isp 480bc000.isp: ###CCDC FPC=0x00000000
>> [ 426.058532] omap3isp 480bc000.isp: ###CCDC FPC_ADDR=0x00000000
>> [ 426.065551] omap3isp 480bc000.isp: ###CCDC VDINT=0x03fe02aa
>> [ 426.072143] omap3isp 480bc000.isp: ###CCDC ALAW=0x00000006
>> [ 426.078033] omap3isp 480bc000.isp: ###CCDC REC656IF=0x00000000
>> [ 426.084960] omap3isp 480bc000.isp: ###CCDC CFG=0x00008800
>> [ 426.090759] omap3isp 480bc000.isp: ###CCDC FMTCFG=0x00000000
>> [ 426.097869] omap3isp 480bc000.isp: ###CCDC FMT_HORZ=0x00000000
>> [ 426.104949] omap3isp 480bc000.isp: ###CCDC FMT_VERT=0x00000000
>> [ 426.111053] omap3isp 480bc000.isp: ###CCDC PRGEVEN0=0x00000000
>> [ 426.118103] omap3isp 480bc000.isp: ###CCDC PRGEVEN1=0x00000000
>> [ 426.124999] omap3isp 480bc000.isp: ###CCDC PRGODD0=0x00000000
>> [ 426.131164] omap3isp 480bc000.isp: ###CCDC PRGODD1=0x00000000
>> [ 426.138000] omap3isp 480bc000.isp: ###CCDC VP_OUT=0x00000000
>> [ 426.144744] omap3isp 480bc000.isp: ###CCDC LSC_CONFIG=0x00006600
>> [ 426.151062] omap3isp 480bc000.isp: ###CCDC LSC_INITIAL=0x00000000
>> [ 426.158325] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_BASE=0x00000000
>> [ 426.165740] omap3isp 480bc000.isp: ###CCDC LSC_TABLE_OFFSET=0x00000000
>> [ 426.173400] omap3isp 480bc000.isp: --------------------------------------------
>> [ 426.188140] video2: VIDIOC_STREAMON: type=vid-cap
>> [ 426.194244] video2: poll: 00000000
>> [ass] auto-open
>> Opening video filter: [rotate=2]
>> VIDEO: 1280x1024 15.000 fps 0.0 kbps ( 0.0 kB/s)
>> Could not find matching colorspace - retrying with -vf scale...
>> Opening video filter: [scale]
>> [swscaler @ 0xb5d45980]using unscaled uyvy422 -> yuv420p special converter
>> VO: [x11] 1024x1280 => 1024x1280 Planar YV12
>> [swscaler @ 0xb5d45980]No accelerated colorspace conversion found from yuv420p to bgra.
>> Colorspace details not fully supported by selected vo.
>> Selected video codec: RAW UYVY [raw]
>> Audio: no sound
>> Starting playback...
>> [ 427.194793] video2: poll: 00000000
>> v4l2: select timeout
>> [ 427.203033] video2: poll: 00000000
>> [ 428.204498] video2: poll: 00000000
>>
>> v4l2: select timeout
>> [ 428.215667] video2: poll: 00000000
>> [ 429.217102] video2: poll: 00000000
>>
>> v4l2: select timeout
>> [ 429.233978] video2: poll: 00000000
>> [ 430.235656] video2: poll: 00000000
>>
>> v4l2: select timeout
>> [ 430.240661] video2: poll: 00000000
>> [ 431.242889] video2: poll: 00000000
>>
>> v4l2: select timeout
>> [ 431.249114] video2: poll: 00000000
>> V: 0.0 6/ 6 ??% ??% ??,?% 0 0
>>
>>
>> MPlayer interrupted by signal 2 in module: filter_video
>> [ 432.251220] video2: poll: 00000000
>> v4l2: select timeout
>> [ 432.256713] video2: poll: 00000000
>> [ 433.258941] video2: poll: 00000000
>>
>> v4l2: select timeout
>> [ 433.266632] omap3isp 480bc000.isp: OMAP3 ISP AEWB: user wants to disable module.
>> [ 433.280090] omap3isp 480bc000.isp: OMAP3 ISP AEWB: module is being disabled
>> [ 433.290130] omap3isp 480bc000.isp: OMAP3 ISP AF: user wants to disable module.
>> [ 433.300140] omap3isp 480bc000.isp: OMAP3 ISP AF: module is being disabled
>> [ 433.309631] omap3isp 480bc000.isp: OMAP3 ISP histogram: user wants to disable module.
>> [ 433.319885] omap3isp 480bc000.isp: OMAP3 ISP histogram: module is being disabled
>> [ 435.373168] omap3isp 480bc000.isp: CCDC stop timeout!
>> [ 435.380371] omap3isp 480bc000.isp: Unable to stop OMAP3 ISP CCDC
>> [ 435.391754] video2: VIDIOC_STREAMOFF: type=vid-cap
>> [ 435.397583] video2: VIDIOC_DQBUF: error -22: 00:00:00.00000000 index=0, type=vid-cap, flags=0x00000000, field=any, sequence=0, memory=mmap, bytesused=0, offset/userptr=0x0, length=0
>> [ 435.417175] timecode=00:00:00 type=0, flags=0x00000000, frames=0, userbits=0x00000000
>> [ 435.431549] video2: VIDIOC_S_CTRL: error -25: id=0x980909, value=1
>> v4l2: ioctl set mute failed: Inappropriate ioctl for device
>> [ 435.495422] video2: release
>> v4l2: 0 frames successfully processed, 1 frames dropped.
>>
>> Exiting... (Quit)
>> root@letux:~#
>
> Seem as if it tells me not much more than setting "pal" norm does fail and there is no "MUTE".
> VIDIOC_STREAMON is successful and the poll times out.
>
> Anyways, this indicates that the problem is probably not in the v4l2 layer but below, i.e. omap3isp+camera.
>
> Maybe as simple as the ISP ignoring the SYNC inputs and then of course failing to capture frames within given time.
> I have checked our pinmux setup but didn't find anything suspicious.
>
> So is it somehow possible to check if the omap3isp is running and receiving sync inpulses?
>
> BR and thanks,
> Nikolaus
>
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-07-03 14:30 +0200 |
| Message-ID | <tZ8Ei-1jU-21@gated-at.bofh.it> |
| In reply to | #1679943 |
Hi Hugues,
> Am 03.07.2017 um 14:03 schrieb Hugues FRUCHET <hugues.fruchet@st.com>:
>
> Hi Nikolaus,
>
> nothing really strange in trace, I wanted to check the latest S_FMT and
> it is well 1280x1024 YUV:
>>> [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280,
> height=1024, pixelformat=UYVY, field=none, bytesperline=2560,
> sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0,
> xfer_func=0
>
Thanks for cross-checking.
> You're right that it seems that the ISP is not seeing any data in input.
> Have you double checked the polarities of sync signals ? I see
> differences in devicetree:
> 960 ov9655: endpoint {
> 961 remote-endpoint = <¶llel_ep>;
> 962 #if 0 // not used by camera driver - define &parellel_ep for isp
> 963 bus-width = <8>;
> 964 data-shift = <2>; /* Lines
> 9:2 are used */
> 965 hsync-active = <1>; /* Active
> high */
> 966 vsync-active = <1>; /* Active
> high */
> 967 data-active = <1>; /* Active
> high */
> 968 pclk-sample = <1>; /* Rising */
> 969 #endif
>
> Which has been commented out in flavour of:
>
> 1011 /* parallel camera interface */
> 1012 ¶llel_ep {
> 1013 remote-endpoint = <&ov9655>;
> 1014 ti,isp-clock-divisor = <1>;
> 1015 ti,strobe-mode;
> 1016 bus-width = <8>;/* Used data lines */
> 1017 data-shift = <2>; /* Lines 9:2 are used */
> 1018 hsync-active = <0>; /* Active low */
> 1019 vsync-active = <1>; /* Active high */
> 1020 data-active = <1>;/* Active high */
> 1021 pclk-sample = <1>;/* Rising */
> 1022 };
>
> there is a difference regarding active level of hsync.
Yes, this is from experimenting with our driver patch series to
do the setup in the camera driver. Both chips can configure polarities
but we now have only system defaults in the camera driver. Therefore,
it is commented out for the camera DT node.
The problem is that we never had all this working in DT mode so
our setup here might indeed be buggy.
On the other hand the polarity (HSYNC act. low and VSYNC act. high)
does match the signals seen by oscilloscope.
I will try asap if this makes a difference. There are only 4 combinations...
My expectation is that wrong polarity would only move the
active trigger point around so that I would expect an image
shifted left/right or up/down.
But I don't know enough details of the isp. If it is triggering
sync not by edge but by state and stopping capture for the wrong
state of the sync signal it might not receive enough lines or pixels
as it was initialized for and therefore it may simply wait for
more data instead of reporting "done with 1280x1024 pixels".
>
> Nevertheless seems OK if I check OMAP3 ISP register:
> CCDC SYN_MODE=0x00071704
> #define ISPCCDC_SYN_MODE_VDPOL (1 << 2)
> #define ISPCCDC_SYN_MODE_HDPOL (1 << 3)
>
> seems well that vertical is 1 and horizontal is 0.
>
BR and thanks,
Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-07-05 16:10 +0200 |
| Message-ID | <tZTaa-7iN-27@gated-at.bofh.it> |
| In reply to | #1679961 |
Hi Sakari,
> Am 03.07.2017 um 14:23 schrieb H. Nikolaus Schaller <hns@goldelico.com>:
>
> Hi Hugues,
>
>> Am 03.07.2017 um 14:03 schrieb Hugues FRUCHET <hugues.fruchet@st.com>:
>>
>> Hi Nikolaus,
>>
>> nothing really strange in trace, I wanted to check the latest S_FMT and
>> it is well 1280x1024 YUV:
>>>> [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280,
>> height=1024, pixelformat=UYVY, field=none, bytesperline=2560,
>> sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0,
>> xfer_func=0
>>
>
> Thanks for cross-checking.
>
>> You're right that it seems that the ISP is not seeing any data in input.
>> Have you double checked the polarities of sync signals ? I see
>> differences in devicetree:
>> 960 ov9655: endpoint {
>> 961 remote-endpoint = <¶llel_ep>;
>> 962 #if 0 // not used by camera driver - define &parellel_ep for isp
>> 963 bus-width = <8>;
>> 964 data-shift = <2>; /* Lines
>> 9:2 are used */
>> 965 hsync-active = <1>; /* Active
>> high */
>> 966 vsync-active = <1>; /* Active
>> high */
>> 967 data-active = <1>; /* Active
>> high */
>> 968 pclk-sample = <1>; /* Rising */
>> 969 #endif
>>
>> Which has been commented out in flavour of:
>>
>> 1011 /* parallel camera interface */
>> 1012 ¶llel_ep {
>> 1013 remote-endpoint = <&ov9655>;
>> 1014 ti,isp-clock-divisor = <1>;
>> 1015 ti,strobe-mode;
>> 1016 bus-width = <8>;/* Used data lines */
>> 1017 data-shift = <2>; /* Lines 9:2 are used */
>> 1018 hsync-active = <0>; /* Active low */
>> 1019 vsync-active = <1>; /* Active high */
>> 1020 data-active = <1>;/* Active high */
>> 1021 pclk-sample = <1>;/* Rising */
>> 1022 };
>>
>> there is a difference regarding active level of hsync.
>
> Yes, this is from experimenting with our driver patch series to
> do the setup in the camera driver. Both chips can configure polarities
> but we now have only system defaults in the camera driver. Therefore,
> it is commented out for the camera DT node.
>
> The problem is that we never had all this working in DT mode so
> our setup here might indeed be buggy.
>
> On the other hand the polarity (HSYNC act. low and VSYNC act. high)
> does match the signals seen by oscilloscope.
>
> I will try asap if this makes a difference. There are only 4 combinations...
>
> My expectation is that wrong polarity would only move the
> active trigger point around so that I would expect an image
> shifted left/right or up/down.
>
> But I don't know enough details of the isp. If it is triggering
> sync not by edge but by state and stopping capture for the wrong
> state of the sync signal it might not receive enough lines or pixels
> as it was initialized for and therefore it may simply wait for
> more data instead of reporting "done with 1280x1024 pixels".
>
>>
>> Nevertheless seems OK if I check OMAP3 ISP register:
>> CCDC SYN_MODE=0x00071704
>> #define ISPCCDC_SYN_MODE_VDPOL (1 << 2)
>> #define ISPCCDC_SYN_MODE_HDPOL (1 << 3)
>>
>> seems well that vertical is 1 and horizontal is 0.
>>
I found your old e-mail with a similar issue (CCDC stop timeout):
https://www.spinics.net/lists/linux-media/msg60096.html
It looks as if our media-ctl commands are almost the same as in
the example given by Adriano and it confirms that /dev/video2
is the right channel.
In your answer you recommended to check /proc/interrupts which
did help Adriano.
Yes, we see the "OMAP3 ISP" entry go up roughly with 15-20
interrupts per second. This means VSYNC seems to arrive at ~15 fps.
But we still have the timeouts and no image in mplayer.
Can we easily check if HSYNC is also arriving at the CCDC or has
wrong polarity?
BR and thanks,
Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | Sakari Ailus <sakari.ailus@iki.fi> |
|---|---|
| Date | 2017-07-08 23:00 +0200 |
| Message-ID | <u14Zz-6Wr-3@gated-at.bofh.it> |
| In reply to | #1681553 |
Hi Nikolaus,
On Wed, Jul 05, 2017 at 04:02:04PM +0200, H. Nikolaus Schaller wrote:
> Hi Sakari,
>
> > Am 03.07.2017 um 14:23 schrieb H. Nikolaus Schaller <hns@goldelico.com>:
> >
> > Hi Hugues,
> >
> >> Am 03.07.2017 um 14:03 schrieb Hugues FRUCHET <hugues.fruchet@st.com>:
> >>
> >> Hi Nikolaus,
> >>
> >> nothing really strange in trace, I wanted to check the latest S_FMT and
> >> it is well 1280x1024 YUV:
> >>>> [ 425.579498] video2: VIDIOC_S_FMT: type=vid-cap, width=1280,
> >> height=1024, pixelformat=UYVY, field=none, bytesperline=2560,
> >> sizeimage=2621440, colorspace=0, flags=0x0, ycbcr_enc=0, quantization=0,
> >> xfer_func=0
> >>
> >
> > Thanks for cross-checking.
> >
> >> You're right that it seems that the ISP is not seeing any data in input.
> >> Have you double checked the polarities of sync signals ? I see
> >> differences in devicetree:
> >> 960 ov9655: endpoint {
> >> 961 remote-endpoint = <¶llel_ep>;
> >> 962 #if 0 // not used by camera driver - define &parellel_ep for isp
> >> 963 bus-width = <8>;
> >> 964 data-shift = <2>; /* Lines
> >> 9:2 are used */
> >> 965 hsync-active = <1>; /* Active
> >> high */
> >> 966 vsync-active = <1>; /* Active
> >> high */
> >> 967 data-active = <1>; /* Active
> >> high */
> >> 968 pclk-sample = <1>; /* Rising */
> >> 969 #endif
> >>
> >> Which has been commented out in flavour of:
> >>
> >> 1011 /* parallel camera interface */
> >> 1012 ¶llel_ep {
> >> 1013 remote-endpoint = <&ov9655>;
> >> 1014 ti,isp-clock-divisor = <1>;
> >> 1015 ti,strobe-mode;
> >> 1016 bus-width = <8>;/* Used data lines */
> >> 1017 data-shift = <2>; /* Lines 9:2 are used */
> >> 1018 hsync-active = <0>; /* Active low */
> >> 1019 vsync-active = <1>; /* Active high */
> >> 1020 data-active = <1>;/* Active high */
> >> 1021 pclk-sample = <1>;/* Rising */
> >> 1022 };
> >>
> >> there is a difference regarding active level of hsync.
> >
> > Yes, this is from experimenting with our driver patch series to
> > do the setup in the camera driver. Both chips can configure polarities
> > but we now have only system defaults in the camera driver. Therefore,
> > it is commented out for the camera DT node.
> >
> > The problem is that we never had all this working in DT mode so
> > our setup here might indeed be buggy.
> >
> > On the other hand the polarity (HSYNC act. low and VSYNC act. high)
> > does match the signals seen by oscilloscope.
> >
> > I will try asap if this makes a difference. There are only 4 combinations...
> >
> > My expectation is that wrong polarity would only move the
> > active trigger point around so that I would expect an image
> > shifted left/right or up/down.
> >
> > But I don't know enough details of the isp. If it is triggering
> > sync not by edge but by state and stopping capture for the wrong
> > state of the sync signal it might not receive enough lines or pixels
> > as it was initialized for and therefore it may simply wait for
> > more data instead of reporting "done with 1280x1024 pixels".
> >
> >>
> >> Nevertheless seems OK if I check OMAP3 ISP register:
> >> CCDC SYN_MODE=0x00071704
> >> #define ISPCCDC_SYN_MODE_VDPOL (1 << 2)
> >> #define ISPCCDC_SYN_MODE_HDPOL (1 << 3)
> >>
> >> seems well that vertical is 1 and horizontal is 0.
> >>
>
> I found your old e-mail with a similar issue (CCDC stop timeout):
>
> https://www.spinics.net/lists/linux-media/msg60096.html
>
> It looks as if our media-ctl commands are almost the same as in
> the example given by Adriano and it confirms that /dev/video2
> is the right channel.
>
> In your answer you recommended to check /proc/interrupts which
> did help Adriano.
>
> Yes, we see the "OMAP3 ISP" entry go up roughly with 15-20
> interrupts per second. This means VSYNC seems to arrive at ~15 fps.
>
> But we still have the timeouts and no image in mplayer.
>
> Can we easily check if HSYNC is also arriving at the CCDC or has
> wrong polarity?
What you can try to switch the polarity in CCDC configuration. The CCDC
processes a pre-determined number of lines and if the hsync polarity
configuration is wrong, it will likely end up missing one. This should be
especially easy to misconfigure with serial busses but this isn't the
problem here as you have a parallel bus. You could try switching the vsync
polarity, too.
There are probably better informed people around, I've never used the
parallel interface (except with the CCP2 / CSI-2 receivers).
--
Regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
[toc] | [prev] | [next] | [standalone]
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Date | 2017-06-26 08:10 +0200 |
| Message-ID | <tWvnI-76i-21@gated-at.bofh.it> |
| In reply to | #1673458 |
Hi Hugues, > Am 23.06.2017 um 12:25 schrieb H. Nikolaus Schaller <hns@goldelico.com>: > > Hi Hugues, > >> Am 22.06.2017 um 17:41 schrieb H. Nikolaus Schaller <hns@goldelico.com>: >> >> >>> Am 22.06.2017 um 17:05 schrieb Hugues Fruchet <hugues.fruchet@st.com>: >>> >>> This patchset enables OV9655 camera support. >>> >>> OV9655 support has been tested using STM32F4DIS-CAM extension board >>> plugged on connector P1 of STM32F746G-DISCO board. >>> Due to lack of OV9650/52 hardware support, the modified related code >>> could not have been checked for non-regression. >>> >>> First patches upgrade current support of OV9650/52 to prepare then >>> introduction of OV9655 variant patch. >>> Because of OV9655 register set slightly different from OV9650/9652, >>> not all of the driver features are supported (controls). Supported >>> resolutions are limited to VGA, QVGA, QQVGA. >>> Supported format is limited to RGB565. >>> Controls are limited to color bar test pattern for test purpose. >>> >>> OV9655 initial support is based on a driver written by H. Nikolaus Schaller [1]. >> >> Great! > > Thanks again for picking up or work and trying to get it upstream. > >> >> I will test as soon as possible. Here are some more test results and fixes: > > I have tried and had to fix some issues first: > * gpio properties have a different name than in our approach (but that is something maintainers have to decide and is easy to follow this or that way) > * there is no clock-frequency property which makes the driver request a clock frequency (something our camera interface expects this way) This can indeed be replaced by assigned-clock-rates and no additional driver code. So there is no need to implement anything new here. > * there is no vana-supply regulator and we need that to power on/off the camera on demand (reset and pwdn isn't enough in our hardware) this is something we still need to have added by patch <http://git.goldelico.com/?p=gta04-kernel.git;a=blobdiff;f=drivers/media/i2c/ov9650.c;h=ed5d0a53a9c72036d6e017094b68111b5eb7f00d;hp=c0819afdcefcb19da351741d51dad00aaf909254;hb=da8ae2b038a448c8f822b3a4f20ed378db6d2934;hpb=6db55fc472eea2ec6db03833df027aecf6649f88> > * for some unknown reason the driver does not load automatically from DT compatibility string and needs to be explicitly modprobed This turned out to be because the i2c device ids are upper case while compatible-strings are lower-case. See comment for patch 6/6. BR and looking forward to v2, Nikolaus
[toc] | [prev] | [next] | [standalone]
| From | Hugues FRUCHET <hugues.fruchet@st.com> |
|---|---|
| Date | 2017-06-26 12:10 +0200 |
| Message-ID | <tWz7X-10D-9@gated-at.bofh.it> |
| In reply to | #1672762 |
Hi Nikolaus, On 06/22/2017 05:41 PM, H. Nikolaus Schaller wrote: > >> Am 22.06.2017 um 17:05 schrieb Hugues Fruchet <hugues.fruchet@st.com>: >> >> This patchset enables OV9655 camera support. >> >> OV9655 support has been tested using STM32F4DIS-CAM extension board >> plugged on connector P1 of STM32F746G-DISCO board. >> Due to lack of OV9650/52 hardware support, the modified related code >> could not have been checked for non-regression. >> >> First patches upgrade current support of OV9650/52 to prepare then >> introduction of OV9655 variant patch. >> Because of OV9655 register set slightly different from OV9650/9652, >> not all of the driver features are supported (controls). Supported >> resolutions are limited to VGA, QVGA, QQVGA. >> Supported format is limited to RGB565. >> Controls are limited to color bar test pattern for test purpose. >> >> OV9655 initial support is based on a driver written by H. Nikolaus Schaller [1]. > > Great! > > I will test as soon as possible. > Many thanks for your active review and testing Nikolaus ! >> OV9655 registers sequences come from STM32CubeF7 embedded software [2]. > > There is also a preliminary data sheet, e.g. here: > > http://electricstuff.co.uk/OV9655-datasheet-annotated.pdf This is the datasheet I've used for registers naming and signification. BR, Hugues. > >> >> [1] http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/hns/video/ov9655 >> [2] https://developer.mbed.org/teams/ST/code/BSP_DISCO_F746NG/file/e1d9da7fe856/Drivers/BSP/Components/ov9655/ov9655.c >> >> =========== >> = history = >> =========== >> version 1: >> - Initial submission. >> >> H. Nikolaus Schaller (1): >> DT bindings: add bindings for ov965x camera module >> >> Hugues Fruchet (5): >> [media] ov9650: add device tree support >> [media] ov9650: select the nearest higher resolution >> [media] ov9650: use write_array() for resolution sequences >> [media] ov9650: add multiple variant support >> [media] ov9650: add support of OV9655 variant >> >> .../devicetree/bindings/media/i2c/ov965x.txt | 37 + >> drivers/media/i2c/Kconfig | 6 +- >> drivers/media/i2c/ov9650.c | 792 +++++++++++++++++---- >> 3 files changed, 704 insertions(+), 131 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/media/i2c/ov965x.txt >> >> -- >> 1.9.1 >> > > BR and thanks, > Nikolaus Schaller >
[toc] | [prev] | [standalone]
Page 3 of 3 — ← Prev page 1 2 [3]
Back to top | Article view | linux.kernel
csiph-web