Re: [PATCH 3/6] dt-bindings: connector: Add Toradex camera connector

From: Kieran Bingham

Date: Thu Sep 24 2026 - 03:11:47 EST


Hi Francesco,

Quoting Francesco Dolcini (2026-09-21 08:15:46)
> Hello Kieran,
>
> On Sat, Sep 19, 2026 at 12:24:38PM +0100, Kieran Bingham wrote:
> > Quoting Rob Herring (2026-09-18 20:24:47)
> > > On Thu, Sep 10, 2026 at 07:12:05PM +0200, Francesco Dolcini wrote:
> > > > On Thu, Sep 10, 2026 at 12:01:51PM -0500, Frank Li wrote:
> > > > > On Thu, Sep 10, 2026 at 06:39:30PM +0200, Ernest Van Hoecke wrote:
> > > > > > Hi Frank,
> > > > > >
> > > > > > Thanks for reviewing this so quickly.
> > > > > >
> > > > > > On Thu, Sep 10, 2026 at 11:26:22AM -0500, Frank Li wrote:
> > > > > > > On Thu, Sep 10, 2026 at 05:37:59PM +0200, Ernest Van Hoecke wrote:
> > > > > > > > From: Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
> > > > > > > >
> > > > > > > > Toradex boards route the sideband signals of their 24-pin camera
> > > > > > > > connectors to different GPIO controllers. Camera overlays which name
> > > > > > > > those controllers directly must therefore be duplicated for each host
> > > > > > > > board.
> > > > > > > >
> > > > > > > > Describe reset, power-down, detection and power-control as
> > > > > > > > connector-local GPIO functions. This lets an accessory overlay remain
> > > > > > > > independent of the host wiring. MIPI CSI-2, I2C, clocks and supplies
> > > > > > > > remain described separately because the GPIO nexus does not abstract
> > > > > > > > them.

Will it be possible to extend this to add the mapping for MIPI data and
clock lanes and regulator supplies?

I.e. does this do anything that would push us down a hole that stops us
mapping those signals?

What do we need to do next to be able to map I2C/CSI/Regulators through
a 'nexus' ?


> > > > > > > >
> > > > > > > > Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
> > > > > > > > ---
> > > > > > > > .../connector/toradex,camera-connector.yaml | 86 ++++++++++++++++++++++
> > > > > > > > 1 file changed, 86 insertions(+)
> > > > > > > >
> > > > > > > > diff --git a/Documentation/devicetree/bindings/connector/toradex,camera-connector.yaml b/Documentation/devicetree/bindings/connector/toradex,camera-connector.yaml
> > > > > > > > new file mode 100644
> > > > > > > > index 000000000000..06e6836e1aa6
> > > > > > > > --- /dev/null
> > > > > > > > +++ b/Documentation/devicetree/bindings/connector/toradex,camera-connector.yaml
> > > > > > > > @@ -0,0 +1,86 @@
> > > > > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > > > > +%YAML 1.2
> > > > > > > > +---
> > > > > > > > +$id: http://devicetree.org/schemas/connector/toradex,camera-connector.yaml#
> > > > > > > > +$schema: http://devicetree.org/meta-schemas/base.yaml#
> > > > > > > > +
> > > > > > > > +title: Toradex camera connector GPIO nexus
> > > > > > > > +
> > > > > > > > +maintainers:
> > > > > > > > + - Ernest Van Hoecke <ernest.vanhoecke@xxxxxxxxxxx>
> > > > > > > > + - Toradex Linux BSP Team <linux-bsp@xxxxxxxxxxx>
> > > > > > > > +
> > > > > > > > +description: |
> > > > > > > > + Toradex boards provide 24-pin camera connectors carrying MIPI CSI-2, I2C,
> > > > > > > > + clock, power, and sideband GPIO signals. This binding describes the sideband
> > > > > > > > + signals as a GPIO nexus. The other connector resources remain described by
> > > > > > > > + the surrounding board device tree.
> > > > > > > > +
> > > > > > > > + The nexus exposes connector-local GPIO function numbers to camera overlays
> > > > > > > > + and maps the functions wired by a carrier board to their GPIO controllers.
> > > > > > > > + GPIO specifiers contain a function number followed by standard GPIO flags.
> > > > > > > > + A board may omit functions which it does not wire.
> > > > > > > > +
> > > > > > > > + The function numbers are:
> > > > > > > > + - 0: Camera reset, connector pin 11
> > > > > > > > + - 1: Camera power-down, connector pin 22
> > > > > > > > + - 2: Camera identification, connector pin 23
> > > > > > > > + - 3: Camera power control, connector pin 24
> > > > > > > > +
> > > > > > > > +properties:
> > > > > > > > + compatible:
> > > > > > > > + const: toradex,camera-connector
> > > > > > >
> > > > > > > Name is too generally, suggest use board name, we got similar comments at
> > > > > > >
> > > > > > > https://lore.kernel.org/imx/20260629074734.3643227-2-chancel.liu@xxxxxxxxxxx/
> > > > > >
> > > > > > I saw that and it made me reconsider this name.
> > > > > >
> > > > > > However, I believe that in our case it is specific enough. It is really
> > > > > > the same on all our carrier boards, and Toradex specific. It's also only
> > > > > > for cameras, which is more defined than just "io". Curious to see if
> > > > > > others agree or if we should come up with a name for this.
> > > > >
> > > > > If some days later, you update hardware connector to 30pin from 24pins.
> > > >
> > > > That connector is there since years, not days.
> > > >
> > > > We have multiple cameras, designed to mate with it.
> > > >
> > > > If tomorrow we will define a new camera connector (that is absolutely
> > > > possible), the new connector will get its name, maybe
> > > > toradex,camera-connector-v2, or toradex,camera-connector-22pin or
> > > > whatever that connector would be named, not just in the DT, but also as
> > > > a product and on the actual HW.
> > >
> >
> > Diving in because, cameras :D
> >
> >
> > > I for one hate 'v2' naming.
> > >
> >
> > Me too. I wouldn't ever call it v2, but a future
> > toradex,camera-connector-24pin might be appropriate.
> >
> > Note that I specifically said 24 as an example because there is already
> > a 22 pin Raspberry Pi connector.
> >
> > If Toradex were to produce boards with a 22 pin connector, I would
> > anticipate it to be the same pinout as the Raspberry Pi connector.
> >
> > Raspberry Pi camera connectors have already somewhat become a defacto
> > standard (albeit for both positives and negatives there).
> >
> > So I would imagine if a 22 pin layout were ever made it would be
> > compatible with RPi 22. And if Toradex ever make a 22 pin connector
> > which is not RPi compatible ... well I might scream into the void ;-)
> > but then it would have a toradex prefix I guess!
> >
> >
> > Equally we have other vendors who have 30 pin connectors (There are
> > quite a few, so I have myself a research project to go find out how
> > {in,}compatible they all are here ...)
> >
> > So, I would imagine if we're giong to name connectors we should set out
> > an expectation to start with
> >
> > toradex,camera-connector-30pin
> > raspberrypi,camera-connector-15pin
> > raspberrypi,camera-connector-22pin
> >
> > And if Toradex were to make a *different* 22 pin connector then it would
> > be:
> >
> > toradex,camera-connector-22pin,
> >
> > But if it's RPi layout, then it would be defined as such.
> >
> >
> > All that to say - I think Toradex certainly warrant a specific
> >
> > toradex,camera-connector
> >
> > But I think specifiying the pin count already could be useful (but not
> > essential).
>
> As Toradex, this is how this connector is called, and there is no plan
> to design a new one. If you want a full descriptive name you can call it
> "Toradex MIPI CSI-2 Camera Connector".

I don't think a full description is the issue here, as it's related
to the compatible string which can't have spaces.

In case it wasn't clear - I think toradex,camera-connector is adequate!

It's just that I am 95% certain there will be a future update required
when another connector appears, and if that happens I think it should be
called something more specific than '-v2'. So the bike-shed becomes -
how does that impact to the current name.

I say this explicitly because I wouldn't call the 15 pin RPi connector
'v1' and the 22 pin 'v2'.

If a new connector is designed, then I expect it will serve new
requirements.

> I see no evidence that we are going to have a connector with a different
> amount of pins anytime, if we would redesign the connector today it will

I can imagine some connector updates might happen if(ahem, when?) MIPI
C-PHY gains any popularity on industrial / SBCs / SoMs. Perhaps even
sooner now that you have Qualcomm SoMs on the Aquila IQ-8275 SoMs.

There's always a 'v2' somewhere ;-)


> likely have the same pin count but 1v8 logic instead of 3v3, and your
> proposal would not help.

Ohhh camera connectors really are cursed aren't they :=)

Voltage changes indeed might be an interesting adaption, though we don't
specify them now anyway, and I think that's more of a property of the
configuration rather than the 'routing' ? It will be interesting to see
what happens there though.

We only have 'purposes' to the pins at the moment I think?

Its specifying the pin routing I'm concerned about at the moment, which
is I guess why a 'pin count' is an easy refernce to that ?


> A little bit more data on what we have today, the connector is a 24-pin
> 0.5mm pitch FFC/FPC, it goes back to 2017 and it never changed after

Ohhh sorry, I got it wrong, I misread the earlier discussion in this
thread and thought Toradex was 30 pin ... I got the order the wrong way
around!

There are so many variations of CSI2 camera connector from different
vendors, and I'm trying to look at the big picture of how we can
identify and map them.

Ultimately, pin pitch is irrelevant to the DT. I wonder if voltage is
the same, as that will be dealt with by the hardware. We definitely need
to model "These signals need to go to that controller".


> that. It is currently implemented in Apalis, Verdin, Aquila, SMARC and
> OSM Toradex Carrier boards.


Absolutely, and that re-usable connector is a great thing, in an area
with no standardisation, and why I really want to see overlays
abstracted to be able to convey that usefully.

--
Kieran