From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Richard Leitner <richard.leitner@linux.dev>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Alexander Stein <alexander.stein@ew.tq-group.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org
Subject: Re: [PATCH 2/3] dt-bindings: media: i2c: Add vision-components,mipi-module-controller
Date: Wed, 16 Sep 2026 10:45:53 +0300 [thread overview]
Message-ID: <20260916074553.GB3871857@killaraus.ideasonboard.com> (raw)
In-Reply-To: <aqpC8fxO4F3bFjF4@bombadil>
On Wed, Sep 16, 2026 at 09:33:36AM +0200, Richard Leitner wrote:
> On Wed, Sep 16, 2026 at 09:00:46AM +0200, Krzysztof Kozlowski wrote:
> > On Tue, Sep 15, 2026 at 10:20:24PM +0200, Richard Leitner wrote:
> > > Add bindings for the Vision Components MIPI Camera Module Controller.
> > >
> > > Signed-off-by: Richard Leitner <richard.leitner@linux.dev>
> > > ---
> > > .../vision-components,mipi-module-controller.yaml | 92 ++++++++++++++++++++++
> > > MAINTAINERS | 7 ++
> > > 2 files changed, 99 insertions(+)
> >
> > This fails tests, so a very brief review / a few comments:
>
> Mea culpa, I simply failed to run the dtb check before submitting. Sorry.
> Will not happen again.
>
> > > diff --git a/Documentation/devicetree/bindings/media/i2c/vision-components,mipi-module-controller.yaml b/Documentation/devicetree/bindings/media/i2c/vision-components,mipi-module-controller.yaml
> > > new file mode 100644
> > > index 0000000000000..2a031aea68457
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/media/i2c/vision-components,mipi-module-controller.yaml
> > > @@ -0,0 +1,92 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/media/i2c/vision-components,mipi-module-controller.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Vision Components MIPI Camera Module Controller
> > > +
> > > +maintainers:
> > > + - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > + - Richard Leitner <richard.leitner@linux.dev>
> > > +
> > > +description: |-
> > > + The MIPI camera module controller is an FPGA-based, I2C-accessible system
> > > + controller found on MIPI camera modules from Vision Components. It abstracts
> > > + the camera sensor behind a unified register interface, and controls and
> > > + sequences the on-board power supplies and clocks.
> > > +
> > > + The camera sensor abstraction is optional. The controller exposes a tunneled
> > > + downstream I2C bus used by the attached image sensor. The controller node
> > > + acts as the upstream device on the host bus, while child node below the
> > > + controller represent the sensor device reachable through the tunnel.
> > > +
> > > +properties:
> > > + compatible:
> > > + const: vision-components,mipi-module-controller
> >
> > There is no model name, no version, nothing identifying it better?
> > Compatible must be specific to the device (see also writing bindings).
>
> There is one FPGA implemenation for all Vision Components MIPI camera
> modules AFAICT. So I have no idea how it could be more specific, TBH...
>
> Adding the FPGA hardware model/type is wrong IMHO as it depends on its
> configuration/firmware, not the hw.
>
> There are different versions of the configuration/firmware. But I think
> this is also not the correct way to distinguish those, or is it?
>
> According to their homepage the vendor calls those modules simply
> "VC MIPI" modules, which implies this FPGA controller is available on it.
> So maybe "vision-components,vc-mipi-controller" would be a better fit?
>
> Do you have any ideas/feedback on how improve this name?
>
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + '#clock-cells':
> > > + const: 0
> > > +
> > > + clock-frequency:
> > > + description: Frequency of the sensor clock provided by the module
> >
> > Drop, implied by the compatible
>
> Do you mean dropping the whole property, or just the "description"?
Different modules have different clock frequencies, don't they ? The
property seems needed.
> > > +
> > > + vcc-supply:
> > > + description: Power supply of the module (3.3V)
> > > +
> > > + '#address-cells':
> > > + const: 1
> > > +
> > > + '#size-cells':
> > > + const: 0
> >
> > No children allowed, so why these two?
>
> Based on your and the bot feedback I would suggest for v2 to change this
> "generic i2c bus" to a simple "i2c-tunnel" property which has
> "$ref: /schemas/i2c/i2c-controller.yaml".
>
> This would better reflect the actual hardware, as there is only this one,
> in firmware hard-coded I2C downstream bus.
>
> Would this be a sane approach?
>
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - '#clock-cells'
> > > + - clock-frequency
> > > + - vcc-supply
> > > + - '#address-cells'
> > > + - '#size-cells'
> > > +
> > > +unevaluatedProperties: false
> >
> > additionalProperties instead, see writing bindings or writing schema.
> > Unless you miss here some other schema $ref.
> >
> > > +
> > > +examples:
> > > + - |
> > > + i2c {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + vc_mipi_ctrl: controller@10 {
> > > + compatible = "vision-components,mipi-module-controller";
> > > + reg = <0x10>;
> > > + #clock-cells = <0>;
> > > + clock-frequency = <37125000>;
> > > + vcc-supply = <&cam_3v3>;
> > > +
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + i2c@0 {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + vc_mipi_sensor: camera@60 {
> > > + compatible = "ovti,ov9281";
> > > + reg = <0x60>;
> >
> > Why having the child abstraction if it is completely abstracted? I don't
> > fully get the explanation from description. Completely optional means no
> > benefits, no point in it, no?
>
> I will try to improve the description. The idea behind this device
> driver/devicetree node is to not rely on the sensor abstraction from
> vision components, but to use the upstream sensor specific driver.
>
> As the tunneled downstream i2c bus needs quirks applied this is modeled
> as a separate bus.
>
> Previous discussions on this approach are available at:
> https://lore.kernel.org/lkml/20260728092856.GB1494774@killaraus.ideasonboard.com/
>
> Thanks again for your review Krzysztof!
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2026-09-16 7:45 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 20:20 [PATCH 0/3] Add Vision Components MIPI Camera Module support Richard Leitner
2026-09-15 20:20 ` [PATCH 1/3] dt-bindings: vendor-prefixes: add Vision Components GmbH Richard Leitner
2026-09-15 20:20 ` [PATCH 2/3] dt-bindings: media: i2c: Add vision-components,mipi-module-controller Richard Leitner
2026-09-15 21:57 ` Rob Herring (Arm)
2026-09-16 7:00 ` Krzysztof Kozlowski
2026-09-16 7:33 ` Richard Leitner
2026-09-16 7:45 ` Laurent Pinchart [this message]
2026-09-16 8:30 ` Krzysztof Kozlowski
2026-09-16 8:35 ` Krzysztof Kozlowski
2026-09-16 9:01 ` Richard Leitner
2026-09-16 13:41 ` Krzysztof Kozlowski
2026-09-16 14:57 ` Richard Leitner
2026-09-17 6:30 ` Krzysztof Kozlowski
2026-09-17 8:46 ` Laurent Pinchart
2026-09-16 16:52 ` Laurent Pinchart
2026-09-17 6:18 ` Krzysztof Kozlowski
2026-09-17 7:55 ` Richard Leitner
2026-09-17 8:08 ` Krzysztof Kozlowski
2026-09-17 8:19 ` Laurent Pinchart
2026-09-17 8:28 ` Krzysztof Kozlowski
2026-09-17 8:17 ` Laurent Pinchart
2026-09-15 20:20 ` [PATCH 3/3] media: i2c: vc-mipi: add Vision Components MIPI Module Controller Richard Leitner
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=20260916074553.GB3871857@killaraus.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=alexander.stein@ew.tq-group.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=richard.leitner@linux.dev \
--cc=robh@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
all inboxes | Powered by JetHome®