# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/ti,cal.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings maintainers: - Benoit Parrot description: |- The Camera Adaptation Layer (CAL) is a key component for image capture applications. The capture module provides the system interface and the processing capability to connect CSI2 image-sensor modules to the DRA72x device. CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes should contain a 'port' child node with child 'endpoint' node. Please refer to the bindings defined in Documentation/devicetree/bindings/media/video-interfaces.txt. properties: compatible: enum: # for DRA72 controllers - ti,dra72-cal # for DRA72 controllers pre ES2.0 - ti,dra72-pre-es2-cal # for DRA76 controllers - ti,dra76-cal # for AM654 controllers - ti,am654-cal reg: minItems: 2 items: - description: The CAL main register region - description: The RX Core0 (DPHY0) register region - description: The RX Core1 (DPHY1) register region reg-names: minItems: 2 items: - const: cal_top - const: cal_rx_core0 - const: cal_rx_core1 interrupts: maxItems: 1 ti,camerrx-control: $ref: "/schemas/types.yaml#/definitions/phandle-array" description: phandle to the device control module and offset to the control_camerarx_core register clocks: maxItems: 1 clock-names: const: fck power-domains: description: List of phandle and PM domain specifier as documented in Documentation/devicetree/bindings/power/power_domain.txt maxItems: 1 # See ./video-interfaces.txt for details ports: type: object additionalProperties: false properties: "#address-cells": const: 1 "#size-cells": const: 0 port@0: type: object additionalProperties: false properties: reg: const: 0 description: CSI2 Port #0 patternProperties: endpoint: type: object additionalProperties: false properties: clock-lanes: maxItems: 1 data-lanes: minItems: 1 maxItems: 4 remote-endpoint: true required: - reg port@1: type: object additionalProperties: false properties: reg: const: 1 description: CSI2 Port #1 patternProperties: endpoint: type: object additionalProperties: false properties: clock-lanes: maxItems: 1 data-lanes: minItems: 1 maxItems: 4 remote-endpoint: true required: - reg required: - "#address-cells" - "#size-cells" - port@0 required: - compatible - reg - reg-names - interrupts - ti,camerrx-control additionalProperties: false examples: - | #include cal: cal@4845b000 { compatible = "ti,dra72-cal"; reg = <0x4845B000 0x400>, <0x4845B800 0x40>, <0x4845B900 0x40>; reg-names = "cal_top", "cal_rx_core0", "cal_rx_core1"; interrupts = ; ti,camerrx-control = <&scm_conf 0xE94>; ports { #address-cells = <1>; #size-cells = <0>; csi2_0: port@0 { reg = <0>; csi2_phy0: endpoint { remote-endpoint = <&csi2_cam0>; clock-lanes = <0>; data-lanes = <1 2>; }; }; }; }; i2c { clock-frequency = <400000>; #address-cells = <1>; #size-cells = <0>; camera-sensor@3c { compatible = "ovti,ov5640"; reg = <0x3c>; clocks = <&clk_ov5640_fixed>; clock-names = "xclk"; port { csi2_cam0: endpoint { remote-endpoint = <&csi2_phy0>; clock-lanes = <0>; data-lanes = <1 2>; }; }; }; }; ...