From: Todor Tomov <todor.tomov@linaro.org>
To: Daniel Mack <daniel@zonque.org>
Cc: mchehab@kernel.org, hans.verkuil@cisco.com,
s.nawrocki@samsung.com, sakari.ailus@iki.fi,
linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v4 04/21] doc: media/v4l-drivers: Add Qualcomm Camera Subsystem driver document
Date: Mon, 28 Aug 2017 10:10:56 +0300 [thread overview]
Message-ID: <7483f716-4240-899f-f9c5-23c6408f39ff@linaro.org> (raw)
In-Reply-To: <de3c02a1-5c04-977d-fd51-186a5d39c32a@zonque.org>
Hi Daniel,
On 25.08.2017 17:10, Daniel Mack wrote:
> Hi Todor,
>
> Thanks a lot for working on the upstream support for this!
>
> On 08/08/2017 03:30 PM, Todor Tomov wrote:
>> +The Camera Subsystem hardware found on 8x16 processors and supported by the
>> +driver consists of:
>> +
>> +- 2 CSIPHY modules. They handle the Physical layer of the CSI2 receivers.
>> + A separate camera sensor can be connected to each of the CSIPHY module;
>> +- 2 CSID (CSI Decoder) modules. They handle the Protocol and Application layer
>> + of the CSI2 receivers. A CSID can decode data stream from any of the CSIPHY.
>> + Each CSID also contains a TG (Test Generator) block which can generate
>> + artificial input data for test purposes;
>> +- ISPIF (ISP Interface) module. Handles the routing of the data streams from
>> + the CSIDs to the inputs of the VFE;
>> +- VFE (Video Front End) module. Contains a pipeline of image processing hardware
>> + blocks. The VFE has different input interfaces. The PIX input interface feeds
>> + the input data to the image processing pipeline. Three RDI input interfaces
>> + bypass the image processing pipeline. The VFE also contains the AXI bus
>> + interface which writes the output data to memory.
>
> [I'm based on the 4.9 Linaro downstream version of this code right now,
> but at a glance the driver version there looks very much identical to
> this one.]
>
> Could you explain how ISPIF, CSID and CSIPHY are related?
>
> I have a userspace test setup that works fine for USB webcams, but when
> operating on any of the video devices exposed by this driver, the
> lowlevel functions such as .s_power of the ISPIF, CSID, CSIPHY and the
> sensor driver layers aren't called into.
Have you activated the media controller links? The s_power is called
when the subdev is part of a pipeline in which the video device node
is opened. You can see example configurations for the Qualcomm CAMSS
driver on:
https://github.com/96boards/documentation/blob/master/ConsumerEdition/DragonBoard-410c/Guides/CameraModule.md
This will probably answer most of your questions.
>
> The general setup seems to work fine though. The sensor is probed,
> camss_subdev_notifier_complete() is called, and the v4l2 subdevices
> exist. But the stream start is not propagated to the other layers, and
> I'm trying to understand why.
>
> My DTS looks something like this right now, and the hardware is an
> APQ8016 board (Variscite DART SD410).
>
> &i2c {
> cam0: ov5640@3c {
> compatible = "ovti,ov5640";
> reg = <0x3c>;
>
> // clocks, regulators, gpios etc are omitted
>
> port {
> cam0_ep: endpoint {
> clock-lanes = <1>;
> data-lanes = <0 2>;
> remote-endpoint = <&csiphy0_ep>;
> };
> };
> };
> };
>
> &camss {
> ports {
> port@0 {
> reg = <0>;
> csiphy0_ep: endpoint {
> clock-lanes = <1>;
> data-lanes = <0 1 2 3>;
As far as I know the OV5640 has a two data lane CSI2 interface so
this will probably look like:
data-lanes = <0 2>;
> qcom,settle-cnt = <0xe>;
> remote-endpoint = <&cam0_ep>;
> };
> };
> };
> };
>
> Also, which video device should be opened when accessing the cameras on
> each of the hardware ports? And what are the other two devices doing?
>
> I'm sure I'm missing something trivial, but at least I can't find this
> information in the documentation.
>
>
> Thanks,
> Daniel
>
--
Best regards,
Todor Tomov
next prev parent reply other threads:[~2017-08-28 7:11 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-08 13:29 [PATCH v4 00/21] Qualcomm 8x16 Camera Subsystem driver Todor Tomov
2017-08-08 13:29 ` [PATCH v4 01/21] v4l: Add packed Bayer raw12 pixel formats Todor Tomov
2017-08-08 13:29 ` [PATCH v4 02/21] dt-bindings: media: Binding document for Qualcomm Camera subsystem driver Todor Tomov
2017-08-08 13:30 ` [PATCH v4 03/21] MAINTAINERS: Add " Todor Tomov
2017-08-08 13:30 ` [PATCH v4 04/21] doc: media/v4l-drivers: Add Qualcomm Camera Subsystem driver document Todor Tomov
2017-08-18 7:45 ` Hans Verkuil
2017-08-18 7:53 ` Todor Tomov
2017-08-25 14:10 ` Daniel Mack
2017-08-28 7:10 ` Todor Tomov [this message]
2017-08-29 17:02 ` Daniel Mack
2017-10-16 15:01 ` Daniel Mack
2017-10-25 12:07 ` Todor Tomov
2017-10-25 12:18 ` Daniel Mack
2017-08-08 13:30 ` [PATCH v4 05/21] media: camss: Add CSIPHY files Todor Tomov
2017-08-08 13:30 ` [PATCH v4 06/21] media: camss: Add CSID files Todor Tomov
2017-08-08 13:30 ` [PATCH v4 07/21] media: camss: Add ISPIF files Todor Tomov
2017-08-08 13:30 ` [PATCH v4 08/21] media: camss: Add VFE files Todor Tomov
2017-08-08 13:30 ` [PATCH v4 09/21] media: camss: Add files which handle the video device nodes Todor Tomov
2017-08-08 14:44 ` Sakari Ailus
2017-08-08 13:30 ` [PATCH v4 10/21] media: camms: Add core files Todor Tomov
2017-08-08 13:30 ` [PATCH v4 11/21] media: camss: Enable building Todor Tomov
2017-08-08 13:30 ` [PATCH v4 12/21] camss: vfe: Format conversion support using PIX interface Todor Tomov
2017-09-10 9:58 ` Geert Uytterhoeven
2017-09-11 6:56 ` Todor Tomov
2017-09-11 7:45 ` Geert Uytterhoeven
2017-08-08 13:30 ` [PATCH v4 13/21] doc: media/v4l-drivers: Qualcomm Camera Subsystem - PIX Interface Todor Tomov
2017-08-08 13:30 ` [PATCH v4 14/21] camss: vfe: Support for frame padding Todor Tomov
2017-08-08 13:30 ` [PATCH v4 15/21] camss: vfe: Add interface for scaling Todor Tomov
2017-08-08 13:30 ` [PATCH v4 16/21] camss: vfe: Configure scaler module in VFE Todor Tomov
2017-08-08 13:30 ` [PATCH v4 17/21] camss: vfe: Add interface for cropping Todor Tomov
2017-08-08 13:30 ` [PATCH v4 18/21] camss: vfe: Configure crop module in VFE Todor Tomov
2017-08-08 13:30 ` [PATCH v4 19/21] doc: media/v4l-drivers: Qualcomm Camera Subsystem - Scale and crop Todor Tomov
2017-08-08 13:30 ` [PATCH v4 20/21] camss: Use optimal clock frequency rates Todor Tomov
2017-08-08 13:30 ` [PATCH v4 21/21] doc: media/v4l-drivers: Qualcomm Camera Subsystem - Media graph Todor Tomov
2017-08-08 14:53 ` [PATCH v4 00/21] Qualcomm 8x16 Camera Subsystem driver Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7483f716-4240-899f-f9c5-23c6408f39ff@linaro.org \
--to=todor.tomov@linaro.org \
--cc=daniel@zonque.org \
--cc=hans.verkuil@cisco.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=sakari.ailus@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).