From: Maxime Ripard <maxime@cerno.tech>
To: Oleg Verych <olecom@gmail.com>
Cc: wens@kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
mark.rutland@arm.com, mchehab@kernel.org, robh+dt@kernel.org,
sakari.ailus@linux.intel.com, wens@csie.org
Subject: Re: [PATCH 04/14] media: sun4i-csi: Fix [HV]sync polarity handling
Date: Mon, 16 Jan 2023 11:16:51 +0100 [thread overview]
Message-ID: <20230116101651.jjzz2rcdehs5wvsi@houat> (raw)
In-Reply-To: <20230116100359.4479-1-olecom@gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 3085 bytes --]
Hi,
On Mon, Jan 16, 2023 at 01:03:59PM +0300, Oleg Verych wrote:
> > - hsync_pol = !!(bus->flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH);
> > - vsync_pol = !!(bus->flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH);
> > + /*
> > + * This hardware uses [HV]REF instead of [HV]SYNC. Based on the
> > + * provided timing diagrams in the manual, positive polarity
> > + * equals active high [HV]REF.
> > + *
> > + * When the back porch is 0, [HV]REF is more or less equivalent
> > + * to [HV]SYNC inverted.
> > + */
> > + href_pol = !!(bus->flags & V4L2_MBUS_HSYNC_ACTIVE_LOW);
> > + vref_pol = !!(bus->flags & V4L2_MBUS_VSYNC_ACTIVE_LOW);
>
> After this change has been made there is a need of explicit explanation
> of what "Active high" / "Active low" in dts really mean.
Why?
Active high means that the signal is considered active when it is held
high. Active low means that the signal is considered active when it is
low.
> Currently physical high/low voltage levels are like that:
> (I'm not sure about vsync-active)
>
> * hsync-active = <0>; /* HSYNC active 'low' => wire active is 'high' */
Yes
> CSI register setting: href_pol: 1,
Not really, no. It's what this patch commit log is saying: HREF is
!HSYNC, so in order to get a hsync pulse active high, you need to set
href_pol to 0.
> That is confusing:
>
> [PATCH v6 5/5] DO NOT MERGE: ARM: dts: bananapi: Add Camera support
> https://lore.kernel.org/linux-arm-kernel/cf0e40b0bca9219d2bb023a5b7f23bad8baba1e5.1562847292.git-series.maxime.ripard@bootlin.com/#r
>
> > + port {
> > + csi_from_ov5640: endpoint {
> > + remote-endpoint = <&ov5640_to_csi>;
> > + bus-width = <8>;
> > + hsync-active = <1>; /* Active high */
>
> original CSI driver
>
> > + vsync-active = <0>; /* Active low */
> > + data-active = <1>; /* Active high */
> > + pclk-sample = <1>; /* Rising */
> > + };
> > + };
>
> [PATCH 13/14] [DO NOT MERGE] ARM: dts: sun7i: cubieboard2: Enable OV7670 camera on CSI1
> https://lore.kernel.org/linux-arm-kernel/20191215165924.28314-14-wens@kernel.org/
>
> > + port {
> > + /* Parallel bus endpoint */
> > + csi_from_ov7670: endpoint {
> > + remote-endpoint = <&ov7670_to_csi>;
> > + bus-width = <8>;
> > + /* driver is broken */
> > + hsync-active = <0>; /* Active high */
>
> this change patchset
>
> > + vsync-active = <1>; /* Active high */
> > + data-active = <1>; /* Active high */
> > + pclk-sample = <1>; /* Rising */
> > + };
>
> > + ov7670_to_csi: endpoint {
> > + remote-endpoint = <&csi_from_ov7670>;
> > + bus-width = <8>;
> > + hsync-active = <1>; /* Active high */
>
> this patcheset
>
> > + vsync-active = <1>; /* Active high */
> > + data-active = <1>; /* Active high */
> > + pclk-sample = <1>; /* Rising */
> > + };
> > + };
I'm sorry, it's not clear to me what is confusing in those excerpts?
Maxime
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-16 10:18 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-15 16:59 [PATCH 00/14] media: sun4i-csi: A10/A20 CSI1 and R40 CSI0 support Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 01/14] dt-bindings: media: sun4i-csi: Add compatible for CSI1 on A10/A20 Chen-Yu Tsai
2019-12-16 10:30 ` Maxime Ripard
2019-12-19 23:56 ` Rob Herring
2019-12-15 16:59 ` [PATCH 02/14] dt-bindings: media: sun4i-csi: Add compatible for CSI0 on R40 Chen-Yu Tsai
2019-12-16 10:30 ` Maxime Ripard
2019-12-19 23:57 ` Rob Herring
2019-12-15 16:59 ` [PATCH 03/14] media: sun4i-csi: Fix data sampling polarity handling Chen-Yu Tsai
2019-12-16 13:36 ` Maxime Ripard
2019-12-15 16:59 ` [PATCH 04/14] media: sun4i-csi: Fix [HV]sync " Chen-Yu Tsai
2019-12-16 13:37 ` Maxime Ripard
2023-01-16 10:03 ` Oleg Verych
2023-01-16 10:16 ` Maxime Ripard [this message]
2023-01-16 18:43 ` Oleg Verych
2019-12-15 16:59 ` [PATCH 05/14] media: sun4i-csi: Deal with DRAM offset Chen-Yu Tsai
2019-12-16 13:38 ` Maxime Ripard
2019-12-15 16:59 ` [PATCH 06/14] media: sun4i-csi: Add support for A10 CSI1 camera sensor interface Chen-Yu Tsai
2019-12-16 13:38 ` Maxime Ripard
2020-01-02 11:33 ` Sakari Ailus
2020-01-02 11:36 ` Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 07/14] ARM: dts: sun4i: Add CSI1 controller and pinmux options Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 08/14] ARM: dts: sun7i: " Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 09/14] ARM: dts: sun8i: r40: Add I2C " Chen-Yu Tsai
2019-12-16 10:29 ` Maxime Ripard
2019-12-15 16:59 ` [PATCH 10/14] dt-bindings: bus: sunxi: Add R40 MBUS compatible Chen-Yu Tsai
2019-12-19 23:58 ` Rob Herring
2019-12-15 16:59 ` [PATCH 11/14] ARM: dts: sun8i: r40: Add device node for CSI0 Chen-Yu Tsai
2019-12-16 13:39 ` Maxime Ripard
2019-12-16 13:42 ` Chen-Yu Tsai
2019-12-16 13:53 ` Maxime Ripard
2019-12-15 16:59 ` [PATCH 12/14] [DO NOT MERGE] ARM: dts: sun4i: cubieboard: Enable OV7670 camera on CSI1 Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 13/14] [DO NOT MERGE] ARM: dts: sun7i: cubieboard2: " Chen-Yu Tsai
2019-12-15 16:59 ` [PATCH 14/14] [DO NOT MERGE] ARM: dts: sun8i-r40: bananapi-m2-ultra: Enable OV5640 camera Chen-Yu Tsai
2020-01-01 10:20 ` [PATCH 00/14] media: sun4i-csi: A10/A20 CSI1 and R40 CSI0 support Chen-Yu Tsai
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=20230116101651.jjzz2rcdehs5wvsi@houat \
--to=maxime@cerno.tech \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=olecom@gmail.com \
--cc=robh+dt@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=wens@csie.org \
--cc=wens@kernel.org \
/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