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

From: Ernest Van Hoecke

Date: Thu Sep 10 2026 - 11:54:28 EST


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.

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
+
+ "#gpio-cells":
+ const: 2
+
+ gpio-map:
+ minItems: 1
+ maxItems: 4
+
+ gpio-map-mask:
+ items:
+ - const: 0xffffffff
+ - const: 0
+
+ gpio-map-pass-thru:
+ items:
+ - const: 0
+ - const: 0xffffffff
+
+required:
+ - compatible
+ - "#gpio-cells"
+ - gpio-map
+ - gpio-map-mask
+ - gpio-map-pass-thru
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ camera-connector {
+ compatible = "toradex,camera-connector";
+ #gpio-cells = <2>;
+ /*
+ * 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
+ */
+ gpio-map = <0 0 &gpio1 0 GPIO_ACTIVE_HIGH>,
+ <1 0 &gpio1 1 GPIO_ACTIVE_HIGH>,
+ <2 0 &gpio1 2 GPIO_ACTIVE_HIGH>,
+ <3 0 &gpio1 3 GPIO_ACTIVE_HIGH>;
+ gpio-map-mask = <0xffffffff 0x0>;
+ gpio-map-pass-thru = <0x0 0xffffffff>;
+ };
+
+ gpio1: gpio-controller {
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+...

--
2.43.0