210 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/media/xilinx/xlnx,csi2rxss.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Xilinx MIPI CSI-2 Receiver Subsystem8 9maintainers:10 - Vishal Sagar <vishal.sagar@amd.com>11 12description: |13 The Xilinx MIPI CSI-2 Receiver Subsystem is used to capture MIPI CSI-214 traffic from compliant camera sensors and send the output as AXI4 Stream15 video data for image processing.16 The subsystem consists of a MIPI D-PHY in slave mode which captures the17 data packets. This is passed along the MIPI CSI-2 Rx IP which extracts the18 packet data. The optional Video Format Bridge (VFB) converts this data to19 AXI4 Stream video data.20 For more details, please refer to PG232 Xilinx MIPI CSI-2 Receiver Subsystem.21 Please note that this bindings includes only the MIPI CSI-2 Rx controller22 and Video Format Bridge and not D-PHY.23 24properties:25 compatible:26 items:27 - enum:28 - xlnx,mipi-csi2-rx-subsystem-5.029 30 reg:31 maxItems: 132 33 interrupts:34 maxItems: 135 36 clocks:37 description: List of clock specifiers38 items:39 - description: AXI Lite clock40 - description: Video clock41 42 clock-names:43 items:44 - const: lite_aclk45 - const: video_aclk46 47 xlnx,csi-pxl-format:48 description: |49 This denotes the CSI Data type selected in hw design.50 Packets other than this data type (except for RAW8 and51 User defined data types) will be filtered out.52 Possible values are as below -53 0x1e - YUV4228B54 0x1f - YUV42210B55 0x20 - RGB44456 0x21 - RGB55557 0x22 - RGB56558 0x23 - RGB66659 0x24 - RGB88860 0x28 - RAW661 0x29 - RAW762 0x2a - RAW863 0x2b - RAW1064 0x2c - RAW1265 0x2d - RAW1466 0x2e - RAW1667 0x2f - RAW2068 $ref: /schemas/types.yaml#/definitions/uint3269 oneOf:70 - minimum: 0x1e71 maximum: 0x2472 - minimum: 0x2873 maximum: 0x2f74 75 xlnx,vfb:76 type: boolean77 description: Present when Video Format Bridge is enabled in IP configuration78 79 xlnx,en-csi-v2-0:80 type: boolean81 description: Present if CSI v2 is enabled in IP configuration.82 83 xlnx,en-vcx:84 type: boolean85 description: |86 When present, there are maximum 16 virtual channels, else only 4.87 88 xlnx,en-active-lanes:89 type: boolean90 description: |91 Present if the number of active lanes can be re-configured at92 runtime in the Protocol Configuration Register. Otherwise all lanes,93 as set in IP configuration, are always active.94 95 video-reset-gpios:96 description: Optional specifier for a GPIO that asserts video_aresetn.97 maxItems: 198 99 ports:100 $ref: /schemas/graph.yaml#/properties/ports101 102 properties:103 port@0:104 $ref: /schemas/graph.yaml#/$defs/port-base105 description: |106 Input / sink port node, single endpoint describing the107 CSI-2 transmitter.108 109 properties:110 endpoint:111 $ref: /schemas/media/video-interfaces.yaml#112 unevaluatedProperties: false113 114 properties:115 data-lanes:116 description: |117 This is required only in the sink port 0 endpoint which118 connects to MIPI CSI-2 source like sensor.119 The possible values are -120 1 - For 1 lane enabled in IP.121 1 2 - For 2 lanes enabled in IP.122 1 2 3 - For 3 lanes enabled in IP.123 1 2 3 4 - For 4 lanes enabled in IP.124 items:125 - const: 1126 - const: 2127 - const: 3128 - const: 4129 130 required:131 - data-lanes132 133 unevaluatedProperties: false134 135 port@1:136 $ref: /schemas/graph.yaml#/properties/port137 description: |138 Output / source port node, endpoint describing modules139 connected the CSI-2 receiver.140 141required:142 - compatible143 - reg144 - interrupts145 - clocks146 - clock-names147 - ports148 149allOf:150 - if:151 required:152 - xlnx,vfb153 then:154 required:155 - xlnx,csi-pxl-format156 else:157 properties:158 xlnx,csi-pxl-format: false159 160 - if:161 not:162 required:163 - xlnx,en-csi-v2-0164 then:165 properties:166 xlnx,en-vcx: false167 168additionalProperties: false169 170examples:171 - |172 #include <dt-bindings/gpio/gpio.h>173 xcsi2rxss_1: csi2rx@a0020000 {174 compatible = "xlnx,mipi-csi2-rx-subsystem-5.0";175 reg = <0xa0020000 0x10000>;176 interrupt-parent = <&gic>;177 interrupts = <0 95 4>;178 xlnx,csi-pxl-format = <0x2a>;179 xlnx,vfb;180 xlnx,en-active-lanes;181 xlnx,en-csi-v2-0;182 xlnx,en-vcx;183 clock-names = "lite_aclk", "video_aclk";184 clocks = <&misc_clk_0>, <&misc_clk_1>;185 video-reset-gpios = <&gpio 86 GPIO_ACTIVE_LOW>;186 187 ports {188 #address-cells = <1>;189 #size-cells = <0>;190 191 port@0 {192 /* Sink port */193 reg = <0>;194 csiss_in: endpoint {195 data-lanes = <1 2 3 4>;196 /* MIPI CSI-2 Camera handle */197 remote-endpoint = <&camera_out>;198 };199 };200 port@1 {201 /* Source port */202 reg = <1>;203 csiss_out: endpoint {204 remote-endpoint = <&vproc_in>;205 };206 };207 };208 };209...210