# 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> #include <dt-bindings/media/video-interfaces.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 = <MEDIA_BUS_TYPE_PARALLEL>; remote-endpoint = <&csi2dc_out>; hsync-active = <1>; vsync-active = <1>; bus-width = <12>; }; }; };