162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/i2c/st,st-mipid02.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Benjamin Mugnier <benjamin.mugnier@foss.st.com> 1162306a36Sopenharmony_ci - Sylvain Petinot <sylvain.petinot@foss.st.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: 1462306a36Sopenharmony_ci MIPID02 has two CSI-2 input ports, only one of those ports can be 1562306a36Sopenharmony_ci active at a time. Active port input stream will be de-serialized 1662306a36Sopenharmony_ci and its content outputted through PARALLEL output port. 1762306a36Sopenharmony_ci CSI-2 first input port is a dual lane 800Mbps per lane whereas CSI-2 1862306a36Sopenharmony_ci second input port is a single lane 800Mbps. Both ports support clock 1962306a36Sopenharmony_ci and data lane polarity swap. First port also supports data lane swap. 2062306a36Sopenharmony_ci PARALLEL output port has a maximum width of 12 bits. 2162306a36Sopenharmony_ci Supported formats are RAW6, RAW7, RAW8, RAW10, RAW12, RGB565, RGB888, 2262306a36Sopenharmony_ci RGB444, YUV420 8-bit, YUV422 8-bit and YUV420 10-bit. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciproperties: 2562306a36Sopenharmony_ci compatible: 2662306a36Sopenharmony_ci const: st,st-mipid02 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci reg: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci clocks: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci clock-names: 3562306a36Sopenharmony_ci const: xclk 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci VDDE-supply: 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci Sensor digital IO supply. Must be 1.8 volts. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci VDDIN-supply: 4262306a36Sopenharmony_ci description: 4362306a36Sopenharmony_ci Sensor internal regulator supply. Must be 1.8 volts. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci reset-gpios: 4662306a36Sopenharmony_ci description: 4762306a36Sopenharmony_ci Reference to the GPIO connected to the xsdn pin, if any. 4862306a36Sopenharmony_ci This is an active low signal to the mipid02. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci ports: 5162306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 5262306a36Sopenharmony_ci properties: 5362306a36Sopenharmony_ci port@0: 5462306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 5562306a36Sopenharmony_ci unevaluatedProperties: false 5662306a36Sopenharmony_ci description: CSI-2 first input port 5762306a36Sopenharmony_ci properties: 5862306a36Sopenharmony_ci endpoint: 5962306a36Sopenharmony_ci $ref: /schemas/media/video-interfaces.yaml# 6062306a36Sopenharmony_ci unevaluatedProperties: false 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci properties: 6362306a36Sopenharmony_ci data-lanes: 6462306a36Sopenharmony_ci description: 6562306a36Sopenharmony_ci Single-lane operation shall be <1> or <2> . 6662306a36Sopenharmony_ci Dual-lane operation shall be <1 2> or <2 1> . 6762306a36Sopenharmony_ci minItems: 1 6862306a36Sopenharmony_ci maxItems: 2 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci lane-polarities: 7162306a36Sopenharmony_ci description: 7262306a36Sopenharmony_ci Any lane can be inverted or not. 7362306a36Sopenharmony_ci minItems: 1 7462306a36Sopenharmony_ci maxItems: 2 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci required: 7762306a36Sopenharmony_ci - data-lanes 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci port@1: 8062306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 8162306a36Sopenharmony_ci unevaluatedProperties: false 8262306a36Sopenharmony_ci description: CSI-2 second input port 8362306a36Sopenharmony_ci properties: 8462306a36Sopenharmony_ci endpoint: 8562306a36Sopenharmony_ci $ref: /schemas/media/video-interfaces.yaml# 8662306a36Sopenharmony_ci unevaluatedProperties: false 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci properties: 8962306a36Sopenharmony_ci data-lanes: 9062306a36Sopenharmony_ci description: 9162306a36Sopenharmony_ci Single-lane operation shall be <1> or <2> . 9262306a36Sopenharmony_ci maxItems: 1 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci lane-polarities: 9562306a36Sopenharmony_ci description: 9662306a36Sopenharmony_ci Any lane can be inverted or not. 9762306a36Sopenharmony_ci maxItems: 1 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci required: 10062306a36Sopenharmony_ci - data-lanes 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci port@2: 10362306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 10462306a36Sopenharmony_ci unevaluatedProperties: false 10562306a36Sopenharmony_ci description: Output port 10662306a36Sopenharmony_ci properties: 10762306a36Sopenharmony_ci endpoint: 10862306a36Sopenharmony_ci $ref: /schemas/media/video-interfaces.yaml# 10962306a36Sopenharmony_ci unevaluatedProperties: false 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci properties: 11262306a36Sopenharmony_ci bus-width: 11362306a36Sopenharmony_ci enum: [6, 7, 8, 10, 12] 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci required: 11662306a36Sopenharmony_ci - bus-width 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci anyOf: 11962306a36Sopenharmony_ci - required: 12062306a36Sopenharmony_ci - port@0 12162306a36Sopenharmony_ci - required: 12262306a36Sopenharmony_ci - port@1 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci required: 12562306a36Sopenharmony_ci - port@2 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciadditionalProperties: false 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_cirequired: 13062306a36Sopenharmony_ci - compatible 13162306a36Sopenharmony_ci - reg 13262306a36Sopenharmony_ci - clocks 13362306a36Sopenharmony_ci - clock-names 13462306a36Sopenharmony_ci - VDDE-supply 13562306a36Sopenharmony_ci - VDDIN-supply 13662306a36Sopenharmony_ci - ports 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciexamples: 13962306a36Sopenharmony_ci - | 14062306a36Sopenharmony_ci i2c { 14162306a36Sopenharmony_ci #address-cells = <1>; 14262306a36Sopenharmony_ci #size-cells = <0>; 14362306a36Sopenharmony_ci mipid02: csi2rx@14 { 14462306a36Sopenharmony_ci compatible = "st,st-mipid02"; 14562306a36Sopenharmony_ci reg = <0x14>; 14662306a36Sopenharmony_ci clocks = <&clk_ext_camera_12>; 14762306a36Sopenharmony_ci clock-names = "xclk"; 14862306a36Sopenharmony_ci VDDE-supply = <&vdd>; 14962306a36Sopenharmony_ci VDDIN-supply = <&vdd>; 15062306a36Sopenharmony_ci ports { 15162306a36Sopenharmony_ci #address-cells = <1>; 15262306a36Sopenharmony_ci #size-cells = <0>; 15362306a36Sopenharmony_ci port@0 { 15462306a36Sopenharmony_ci reg = <0>; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci ep0: endpoint { 15762306a36Sopenharmony_ci data-lanes = <1 2>; 15862306a36Sopenharmony_ci remote-endpoint = <&mipi_csi2_in>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci port@2 { 16262306a36Sopenharmony_ci reg = <2>; 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci ep2: endpoint { 16562306a36Sopenharmony_ci bus-width = <8>; 16662306a36Sopenharmony_ci hsync-active = <0>; 16762306a36Sopenharmony_ci vsync-active = <0>; 16862306a36Sopenharmony_ci remote-endpoint = <¶llel_out>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci... 176