210 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | 
						|
%YAML 1.2
 | 
						|
---
 | 
						|
$id: http://devicetree.org/schemas/media/xilinx/xlnx,csi2rxss.yaml#
 | 
						|
$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
 | 
						|
title: Xilinx MIPI CSI-2 Receiver Subsystem
 | 
						|
 | 
						|
maintainers:
 | 
						|
  - Vishal Sagar <vishal.sagar@xilinx.com>
 | 
						|
 | 
						|
description: |
 | 
						|
  The Xilinx MIPI CSI-2 Receiver Subsystem is used to capture MIPI CSI-2
 | 
						|
  traffic from compliant camera sensors and send the output as AXI4 Stream
 | 
						|
  video data for image processing.
 | 
						|
  The subsystem consists of a MIPI D-PHY in slave mode which captures the
 | 
						|
  data packets. This is passed along the MIPI CSI-2 Rx IP which extracts the
 | 
						|
  packet data. The optional Video Format Bridge (VFB) converts this data to
 | 
						|
  AXI4 Stream video data.
 | 
						|
  For more details, please refer to PG232 Xilinx MIPI CSI-2 Receiver Subsystem.
 | 
						|
  Please note that this bindings includes only the MIPI CSI-2 Rx controller
 | 
						|
  and Video Format Bridge and not D-PHY.
 | 
						|
 | 
						|
properties:
 | 
						|
  compatible:
 | 
						|
    items:
 | 
						|
      - enum:
 | 
						|
          - xlnx,mipi-csi2-rx-subsystem-5.0
 | 
						|
 | 
						|
  reg:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  interrupts:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  clocks:
 | 
						|
    description: List of clock specifiers
 | 
						|
    items:
 | 
						|
      - description: AXI Lite clock
 | 
						|
      - description: Video clock
 | 
						|
 | 
						|
  clock-names:
 | 
						|
    items:
 | 
						|
      - const: lite_aclk
 | 
						|
      - const: video_aclk
 | 
						|
 | 
						|
  xlnx,csi-pxl-format:
 | 
						|
    description: |
 | 
						|
      This denotes the CSI Data type selected in hw design.
 | 
						|
      Packets other than this data type (except for RAW8 and
 | 
						|
      User defined data types) will be filtered out.
 | 
						|
      Possible values are as below -
 | 
						|
      0x1e - YUV4228B
 | 
						|
      0x1f - YUV42210B
 | 
						|
      0x20 - RGB444
 | 
						|
      0x21 - RGB555
 | 
						|
      0x22 - RGB565
 | 
						|
      0x23 - RGB666
 | 
						|
      0x24 - RGB888
 | 
						|
      0x28 - RAW6
 | 
						|
      0x29 - RAW7
 | 
						|
      0x2a - RAW8
 | 
						|
      0x2b - RAW10
 | 
						|
      0x2c - RAW12
 | 
						|
      0x2d - RAW14
 | 
						|
      0x2e - RAW16
 | 
						|
      0x2f - RAW20
 | 
						|
    $ref: /schemas/types.yaml#/definitions/uint32
 | 
						|
    oneOf:
 | 
						|
      - minimum: 0x1e
 | 
						|
        maximum: 0x24
 | 
						|
      - minimum: 0x28
 | 
						|
        maximum: 0x2f
 | 
						|
 | 
						|
  xlnx,vfb:
 | 
						|
    type: boolean
 | 
						|
    description: Present when Video Format Bridge is enabled in IP configuration
 | 
						|
 | 
						|
  xlnx,en-csi-v2-0:
 | 
						|
    type: boolean
 | 
						|
    description: Present if CSI v2 is enabled in IP configuration.
 | 
						|
 | 
						|
  xlnx,en-vcx:
 | 
						|
    type: boolean
 | 
						|
    description: |
 | 
						|
      When present, there are maximum 16 virtual channels, else only 4.
 | 
						|
 | 
						|
  xlnx,en-active-lanes:
 | 
						|
    type: boolean
 | 
						|
    description: |
 | 
						|
      Present if the number of active lanes can be re-configured at
 | 
						|
      runtime in the Protocol Configuration Register. Otherwise all lanes,
 | 
						|
      as set in IP configuration, are always active.
 | 
						|
 | 
						|
  video-reset-gpios:
 | 
						|
    description: Optional specifier for a GPIO that asserts video_aresetn.
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  ports:
 | 
						|
    $ref: /schemas/graph.yaml#/properties/ports
 | 
						|
 | 
						|
    properties:
 | 
						|
      port@0:
 | 
						|
        $ref: /schemas/graph.yaml#/$defs/port-base
 | 
						|
        description: |
 | 
						|
          Input / sink port node, single endpoint describing the
 | 
						|
          CSI-2 transmitter.
 | 
						|
 | 
						|
        properties:
 | 
						|
          endpoint:
 | 
						|
            $ref: /schemas/media/video-interfaces.yaml#
 | 
						|
            unevaluatedProperties: false
 | 
						|
 | 
						|
            properties:
 | 
						|
              data-lanes:
 | 
						|
                description: |
 | 
						|
                  This is required only in the sink port 0 endpoint which
 | 
						|
                  connects to MIPI CSI-2 source like sensor.
 | 
						|
                  The possible values are -
 | 
						|
                  1       - For 1 lane enabled in IP.
 | 
						|
                  1 2     - For 2 lanes enabled in IP.
 | 
						|
                  1 2 3   - For 3 lanes enabled in IP.
 | 
						|
                  1 2 3 4 - For 4 lanes enabled in IP.
 | 
						|
                items:
 | 
						|
                  - const: 1
 | 
						|
                  - const: 2
 | 
						|
                  - const: 3
 | 
						|
                  - const: 4
 | 
						|
 | 
						|
            required:
 | 
						|
              - data-lanes
 | 
						|
 | 
						|
        unevaluatedProperties: false
 | 
						|
 | 
						|
      port@1:
 | 
						|
        $ref: /schemas/graph.yaml#/properties/port
 | 
						|
        description: |
 | 
						|
          Output / source port node, endpoint describing modules
 | 
						|
          connected the CSI-2 receiver.
 | 
						|
 | 
						|
required:
 | 
						|
  - compatible
 | 
						|
  - reg
 | 
						|
  - interrupts
 | 
						|
  - clocks
 | 
						|
  - clock-names
 | 
						|
  - ports
 | 
						|
 | 
						|
allOf:
 | 
						|
  - if:
 | 
						|
      required:
 | 
						|
        - xlnx,vfb
 | 
						|
    then:
 | 
						|
      required:
 | 
						|
        - xlnx,csi-pxl-format
 | 
						|
    else:
 | 
						|
      properties:
 | 
						|
        xlnx,csi-pxl-format: false
 | 
						|
 | 
						|
  - if:
 | 
						|
      not:
 | 
						|
        required:
 | 
						|
          - xlnx,en-csi-v2-0
 | 
						|
    then:
 | 
						|
      properties:
 | 
						|
        xlnx,en-vcx: false
 | 
						|
 | 
						|
additionalProperties: false
 | 
						|
 | 
						|
examples:
 | 
						|
  - |
 | 
						|
    #include <dt-bindings/gpio/gpio.h>
 | 
						|
    xcsi2rxss_1: csi2rx@a0020000 {
 | 
						|
        compatible = "xlnx,mipi-csi2-rx-subsystem-5.0";
 | 
						|
        reg = <0xa0020000 0x10000>;
 | 
						|
        interrupt-parent = <&gic>;
 | 
						|
        interrupts = <0 95 4>;
 | 
						|
        xlnx,csi-pxl-format = <0x2a>;
 | 
						|
        xlnx,vfb;
 | 
						|
        xlnx,en-active-lanes;
 | 
						|
        xlnx,en-csi-v2-0;
 | 
						|
        xlnx,en-vcx;
 | 
						|
        clock-names = "lite_aclk", "video_aclk";
 | 
						|
        clocks = <&misc_clk_0>, <&misc_clk_1>;
 | 
						|
        video-reset-gpios = <&gpio 86 GPIO_ACTIVE_LOW>;
 | 
						|
 | 
						|
        ports {
 | 
						|
            #address-cells = <1>;
 | 
						|
            #size-cells = <0>;
 | 
						|
 | 
						|
            port@0 {
 | 
						|
                /* Sink port */
 | 
						|
                reg = <0>;
 | 
						|
                csiss_in: endpoint {
 | 
						|
                    data-lanes = <1 2 3 4>;
 | 
						|
                    /* MIPI CSI-2 Camera handle */
 | 
						|
                    remote-endpoint = <&camera_out>;
 | 
						|
                };
 | 
						|
            };
 | 
						|
            port@1 {
 | 
						|
                /* Source port */
 | 
						|
                reg = <1>;
 | 
						|
                csiss_out: endpoint {
 | 
						|
                    remote-endpoint = <&vproc_in>;
 | 
						|
                };
 | 
						|
            };
 | 
						|
        };
 | 
						|
    };
 | 
						|
...
 |