On 12/10/2023 21:37, Laurent Pinchart wrote: Thanks for the changes > + > + port: > + $ref: /schemas/graph.yaml#/$defs/port-base > + additionalProperties: false > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: > + This property is for lane reordering between the THP7312 and the > + SoC. The sensor supports either two-lane, or four-lane operation. > + If this property is omitted four-lane operation is assumed. For > + two-lane operation the property must be set to <1 2>. > + minItems: 2 > + maxItems: 4 > + items: > + maximum: 4 > + > + sensors: > + type: object > + description: List of connected sensors I don't understand why do you list sensors here. From the binding description I understood these are external sensors, which usually sit on I2C bus. > + > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + patternProperties: > + "^sensor@[01]": > + type: object > + description: > + Sensors connected to the first and second input, with one node per > + sensor. > + > + properties: > + thine,model: > + $ref: /schemas/types.yaml#/definitions/string > + description: > + Model of the connected sensors. Must be a valid compatible string. Then why this isn't compatible? > + > + reg: > + maxItems: 1 > + description: THP7312 input port number > + > + data-lanes: > + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes > + items: > + maxItems: 4 > + description: > + This property is for lane reordering between the THP7312 and the imaging > + sensor that it is connected to. > + > + patternProperties: > + ".*-supply": > + description: Power supplies for the sensor > + > + required: > + - reg > + - data-lanes > + > + additionalProperties: false > + > + required: > + - "#address-cells" > + - "#size-cells" > + > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - reset-gpios > + - clocks > + - vddcore-supply > + - vhtermrx-supply > + - vddtx-supply > + - vddhost-supply > + - vddcmos-supply > + - vddgpio-0-supply > + - vddgpio-1-supply > + - sensors > + - port > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + camera@61 { > + compatible = "thine,thp7312"; > + reg = <0x61>; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&cam1_pins_default>; > + > + reset-gpios = <&pio 119 GPIO_ACTIVE_LOW>; > + clocks = <&camera61_clk>; > + > + vddcore-supply = <&vsys_v4p2>; > + vhtermrx-supply = <&vsys_v4p2>; > + vddtx-supply = <&vsys_v4p2>; > + vddhost-supply = <&vsys_v4p2>; > + vddcmos-supply = <&vsys_v4p2>; > + vddgpio-0-supply = <&vsys_v4p2>; > + vddgpio-1-supply = <&vsys_v4p2>; > + > + orientation = <0>; > + rotation = <0>; > + > + sensors { > + #address-cells = <1>; > + #size-cells = <0>; > + > + sensor@0 { > + thine,model = "sony,imx258"; > + reg = <0>; > + > + data-lanes = <4 1 3 2>; > + > + dovdd-supply = <&vsys_v4p2>; > + avdd-supply = <&vsys_v4p2>; > + dvdd-supply = <&vsys_v4p2>; > + }; > + }; > + > + port { > + thp7312_2_endpoint: endpoint { > + remote-endpoint = <&mipi_thp7312_2>; > + data-lanes = <4 2 1 3>; > + }; > + }; > + }; > + }; Best regards, Krzysztof