129 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | 
						|
# Copyright (C) 2021 Microchip Technology, Inc.
 | 
						|
%YAML 1.2
 | 
						|
---
 | 
						|
$id: http://devicetree.org/schemas/media/microchip,xisc.yaml#
 | 
						|
$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
 | 
						|
title: Microchip eXtended Image Sensor Controller (XISC)
 | 
						|
 | 
						|
maintainers:
 | 
						|
  - Eugen Hristev <eugen.hristev@microchip.com>
 | 
						|
 | 
						|
description: |
 | 
						|
  The eXtended Image Sensor Controller (XISC) device provides the video input capabilities for the
 | 
						|
  Microchip AT91 SAM family of devices.
 | 
						|
 | 
						|
  The XISC has a single internal parallel input that supports RAW Bayer, RGB or YUV video.
 | 
						|
  The source can be either a demuxer from a CSI2 type of bus, or a simple direct bridge to a
 | 
						|
  parallel sensor.
 | 
						|
 | 
						|
  The XISC provides one clock output that is used to clock the demuxer/bridge.
 | 
						|
 | 
						|
properties:
 | 
						|
  compatible:
 | 
						|
    const: microchip,sama7g5-isc
 | 
						|
 | 
						|
  reg:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  interrupts:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  clocks:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  clock-names:
 | 
						|
    items:
 | 
						|
      - const: hclock
 | 
						|
 | 
						|
  '#clock-cells':
 | 
						|
    const: 0
 | 
						|
 | 
						|
  clock-output-names:
 | 
						|
    const: isc-mck
 | 
						|
 | 
						|
  microchip,mipi-mode:
 | 
						|
    type: boolean
 | 
						|
    description:
 | 
						|
      As the XISC is usually connected to a demux/bridge, the XISC receives
 | 
						|
      the same type of input, however, it should be aware of the type of
 | 
						|
      signals received. The mipi-mode enables different internal handling
 | 
						|
      of the data and clock lines.
 | 
						|
 | 
						|
  port:
 | 
						|
    $ref: /schemas/graph.yaml#/$defs/port-base
 | 
						|
    description:
 | 
						|
      Input port node, single endpoint describing the input pad.
 | 
						|
 | 
						|
    properties:
 | 
						|
      endpoint:
 | 
						|
        $ref: video-interfaces.yaml#
 | 
						|
 | 
						|
        properties:
 | 
						|
          bus-type:
 | 
						|
            enum: [5, 6]
 | 
						|
 | 
						|
          remote-endpoint: true
 | 
						|
 | 
						|
          bus-width:
 | 
						|
            enum: [8, 9, 10, 11, 12, 14]
 | 
						|
            default: 12
 | 
						|
 | 
						|
          hsync-active:
 | 
						|
            enum: [0, 1]
 | 
						|
            default: 1
 | 
						|
 | 
						|
          vsync-active:
 | 
						|
            enum: [0, 1]
 | 
						|
            default: 1
 | 
						|
 | 
						|
          pclk-sample:
 | 
						|
            enum: [0, 1]
 | 
						|
            default: 1
 | 
						|
 | 
						|
        required:
 | 
						|
          - remote-endpoint
 | 
						|
          - bus-type
 | 
						|
 | 
						|
        additionalProperties: false
 | 
						|
 | 
						|
    additionalProperties: false
 | 
						|
 | 
						|
required:
 | 
						|
  - compatible
 | 
						|
  - reg
 | 
						|
  - clocks
 | 
						|
  - clock-names
 | 
						|
  - '#clock-cells'
 | 
						|
  - clock-output-names
 | 
						|
  - port
 | 
						|
 | 
						|
additionalProperties: false
 | 
						|
 | 
						|
examples:
 | 
						|
  - |
 | 
						|
    #include <dt-bindings/interrupt-controller/arm-gic.h>
 | 
						|
    #include <dt-bindings/clock/at91.h>
 | 
						|
    #include <dt-bindings/interrupt-controller/irq.h>
 | 
						|
 | 
						|
    xisc: xisc@e1408000 {
 | 
						|
        compatible = "microchip,sama7g5-isc";
 | 
						|
        reg = <0xe1408000 0x2000>;
 | 
						|
        interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
 | 
						|
        clocks = <&pmc PMC_TYPE_PERIPHERAL 56>;
 | 
						|
        clock-names = "hclock";
 | 
						|
        #clock-cells = <0>;
 | 
						|
        clock-output-names = "isc-mck";
 | 
						|
 | 
						|
        port {
 | 
						|
                xisc_in: endpoint {
 | 
						|
                       bus-type = <5>; /* Parallel */
 | 
						|
                       remote-endpoint = <&csi2dc_out>;
 | 
						|
                       hsync-active = <1>;
 | 
						|
                       vsync-active = <1>;
 | 
						|
                       bus-width = <12>;
 | 
						|
                };
 | 
						|
        };
 | 
						|
    };
 |