12099ef02SBenoit Parrot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22099ef02SBenoit Parrot%YAML 1.2 32099ef02SBenoit Parrot--- 42099ef02SBenoit Parrot$id: http://devicetree.org/schemas/media/ti,cal.yaml# 52099ef02SBenoit Parrot$schema: http://devicetree.org/meta-schemas/core.yaml# 62099ef02SBenoit Parrot 72099ef02SBenoit Parrottitle: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings 82099ef02SBenoit Parrot 92099ef02SBenoit Parrotmaintainers: 102099ef02SBenoit Parrot - Benoit Parrot <bparrot@ti.com> 112099ef02SBenoit Parrot 122099ef02SBenoit Parrotdescription: |- 132099ef02SBenoit Parrot The Camera Adaptation Layer (CAL) is a key component for image capture 142099ef02SBenoit Parrot applications. The capture module provides the system interface and the 152099ef02SBenoit Parrot processing capability to connect CSI2 image-sensor modules to the 162099ef02SBenoit Parrot DRA72x device. 172099ef02SBenoit Parrot 182099ef02SBenoit Parrot CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes 192099ef02SBenoit Parrot should contain a 'port' child node with child 'endpoint' node. Please 202099ef02SBenoit Parrot refer to the bindings defined in 212099ef02SBenoit Parrot Documentation/devicetree/bindings/media/video-interfaces.txt. 222099ef02SBenoit Parrot 232099ef02SBenoit Parrotproperties: 242099ef02SBenoit Parrot compatible: 252099ef02SBenoit Parrot enum: 262099ef02SBenoit Parrot # for DRA72 controllers 272099ef02SBenoit Parrot - ti,dra72-cal 282099ef02SBenoit Parrot # for DRA72 controllers pre ES2.0 292099ef02SBenoit Parrot - ti,dra72-pre-es2-cal 302099ef02SBenoit Parrot # for DRA76 controllers 312099ef02SBenoit Parrot - ti,dra76-cal 322099ef02SBenoit Parrot # for AM654 controllers 332099ef02SBenoit Parrot - ti,am654-cal 342099ef02SBenoit Parrot 352099ef02SBenoit Parrot reg: 362099ef02SBenoit Parrot minItems: 2 372099ef02SBenoit Parrot items: 382099ef02SBenoit Parrot - description: The CAL main register region 392099ef02SBenoit Parrot - description: The RX Core0 (DPHY0) register region 402099ef02SBenoit Parrot - description: The RX Core1 (DPHY1) register region 412099ef02SBenoit Parrot 422099ef02SBenoit Parrot reg-names: 432099ef02SBenoit Parrot minItems: 2 442099ef02SBenoit Parrot items: 452099ef02SBenoit Parrot - const: cal_top 462099ef02SBenoit Parrot - const: cal_rx_core0 472099ef02SBenoit Parrot - const: cal_rx_core1 482099ef02SBenoit Parrot 492099ef02SBenoit Parrot interrupts: 502099ef02SBenoit Parrot maxItems: 1 512099ef02SBenoit Parrot 522099ef02SBenoit Parrot ti,camerrx-control: 532099ef02SBenoit Parrot $ref: "/schemas/types.yaml#/definitions/phandle-array" 542099ef02SBenoit Parrot description: 552099ef02SBenoit Parrot phandle to the device control module and offset to the 562099ef02SBenoit Parrot control_camerarx_core register 572099ef02SBenoit Parrot 582099ef02SBenoit Parrot clocks: 592099ef02SBenoit Parrot maxItems: 1 602099ef02SBenoit Parrot 612099ef02SBenoit Parrot clock-names: 622099ef02SBenoit Parrot const: fck 632099ef02SBenoit Parrot 642099ef02SBenoit Parrot power-domains: 652099ef02SBenoit Parrot description: 662099ef02SBenoit Parrot List of phandle and PM domain specifier as documented in 672099ef02SBenoit Parrot Documentation/devicetree/bindings/power/power_domain.txt 682099ef02SBenoit Parrot maxItems: 1 692099ef02SBenoit Parrot 702099ef02SBenoit Parrot # See ./video-interfaces.txt for details 712099ef02SBenoit Parrot ports: 722099ef02SBenoit Parrot type: object 732099ef02SBenoit Parrot additionalProperties: false 742099ef02SBenoit Parrot 752099ef02SBenoit Parrot properties: 762099ef02SBenoit Parrot "#address-cells": 772099ef02SBenoit Parrot const: 1 782099ef02SBenoit Parrot 792099ef02SBenoit Parrot "#size-cells": 802099ef02SBenoit Parrot const: 0 812099ef02SBenoit Parrot 822099ef02SBenoit Parrot port@0: 832099ef02SBenoit Parrot type: object 842099ef02SBenoit Parrot additionalProperties: false 852099ef02SBenoit Parrot 862099ef02SBenoit Parrot properties: 872099ef02SBenoit Parrot reg: 882099ef02SBenoit Parrot const: 0 892099ef02SBenoit Parrot description: CSI2 Port #0 902099ef02SBenoit Parrot 912099ef02SBenoit Parrot patternProperties: 922099ef02SBenoit Parrot endpoint: 932099ef02SBenoit Parrot type: object 942099ef02SBenoit Parrot additionalProperties: false 952099ef02SBenoit Parrot 962099ef02SBenoit Parrot properties: 972099ef02SBenoit Parrot clock-lanes: 982099ef02SBenoit Parrot maxItems: 1 992099ef02SBenoit Parrot 1002099ef02SBenoit Parrot data-lanes: 1012099ef02SBenoit Parrot minItems: 1 1022099ef02SBenoit Parrot maxItems: 4 1032099ef02SBenoit Parrot 1042099ef02SBenoit Parrot remote-endpoint: true 1052099ef02SBenoit Parrot 1062099ef02SBenoit Parrot required: 1072099ef02SBenoit Parrot - reg 1082099ef02SBenoit Parrot 1092099ef02SBenoit Parrot port@1: 1102099ef02SBenoit Parrot type: object 1112099ef02SBenoit Parrot additionalProperties: false 1122099ef02SBenoit Parrot 1132099ef02SBenoit Parrot properties: 1142099ef02SBenoit Parrot reg: 1152099ef02SBenoit Parrot const: 1 1162099ef02SBenoit Parrot description: CSI2 Port #1 1172099ef02SBenoit Parrot 1182099ef02SBenoit Parrot patternProperties: 1192099ef02SBenoit Parrot endpoint: 1202099ef02SBenoit Parrot type: object 1212099ef02SBenoit Parrot additionalProperties: false 1222099ef02SBenoit Parrot 1232099ef02SBenoit Parrot properties: 1242099ef02SBenoit Parrot clock-lanes: 1252099ef02SBenoit Parrot maxItems: 1 1262099ef02SBenoit Parrot 1272099ef02SBenoit Parrot data-lanes: 1282099ef02SBenoit Parrot minItems: 1 1292099ef02SBenoit Parrot maxItems: 4 1302099ef02SBenoit Parrot 1312099ef02SBenoit Parrot remote-endpoint: true 1322099ef02SBenoit Parrot 1332099ef02SBenoit Parrot required: 1342099ef02SBenoit Parrot - reg 1352099ef02SBenoit Parrot 1362099ef02SBenoit Parrot required: 1372099ef02SBenoit Parrot - "#address-cells" 1382099ef02SBenoit Parrot - "#size-cells" 1392099ef02SBenoit Parrot - port@0 1402099ef02SBenoit Parrot 1412099ef02SBenoit Parrotrequired: 1422099ef02SBenoit Parrot - compatible 1432099ef02SBenoit Parrot - reg 1442099ef02SBenoit Parrot - reg-names 1452099ef02SBenoit Parrot - interrupts 1462099ef02SBenoit Parrot - ti,camerrx-control 1472099ef02SBenoit Parrot 1482099ef02SBenoit ParrotadditionalProperties: false 1492099ef02SBenoit Parrot 1502099ef02SBenoit Parrotexamples: 1512099ef02SBenoit Parrot - | 1522099ef02SBenoit Parrot #include <dt-bindings/interrupt-controller/arm-gic.h> 1532099ef02SBenoit Parrot 1542099ef02SBenoit Parrot cal: cal@4845b000 { 1552099ef02SBenoit Parrot compatible = "ti,dra72-cal"; 1562099ef02SBenoit Parrot reg = <0x4845B000 0x400>, 1572099ef02SBenoit Parrot <0x4845B800 0x40>, 1582099ef02SBenoit Parrot <0x4845B900 0x40>; 1592099ef02SBenoit Parrot reg-names = "cal_top", 1602099ef02SBenoit Parrot "cal_rx_core0", 1612099ef02SBenoit Parrot "cal_rx_core1"; 1622099ef02SBenoit Parrot interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1632099ef02SBenoit Parrot ti,camerrx-control = <&scm_conf 0xE94>; 1642099ef02SBenoit Parrot 1652099ef02SBenoit Parrot ports { 1662099ef02SBenoit Parrot #address-cells = <1>; 1672099ef02SBenoit Parrot #size-cells = <0>; 1682099ef02SBenoit Parrot 1692099ef02SBenoit Parrot csi2_0: port@0 { 1702099ef02SBenoit Parrot reg = <0>; 1712099ef02SBenoit Parrot csi2_phy0: endpoint { 1722099ef02SBenoit Parrot remote-endpoint = <&csi2_cam0>; 1732099ef02SBenoit Parrot clock-lanes = <0>; 1742099ef02SBenoit Parrot data-lanes = <1 2>; 1752099ef02SBenoit Parrot }; 1762099ef02SBenoit Parrot }; 1772099ef02SBenoit Parrot }; 1782099ef02SBenoit Parrot }; 1792099ef02SBenoit Parrot 180*51a21e0eSRob Herring i2c { 1812099ef02SBenoit Parrot clock-frequency = <400000>; 1822099ef02SBenoit Parrot #address-cells = <1>; 1832099ef02SBenoit Parrot #size-cells = <0>; 1842099ef02SBenoit Parrot 1852099ef02SBenoit Parrot camera-sensor@3c { 1862099ef02SBenoit Parrot compatible = "ovti,ov5640"; 1872099ef02SBenoit Parrot reg = <0x3c>; 1882099ef02SBenoit Parrot 1892099ef02SBenoit Parrot clocks = <&clk_ov5640_fixed>; 1902099ef02SBenoit Parrot clock-names = "xclk"; 1912099ef02SBenoit Parrot 1922099ef02SBenoit Parrot port { 1932099ef02SBenoit Parrot csi2_cam0: endpoint { 1942099ef02SBenoit Parrot remote-endpoint = <&csi2_phy0>; 1952099ef02SBenoit Parrot clock-lanes = <0>; 1962099ef02SBenoit Parrot data-lanes = <1 2>; 1972099ef02SBenoit Parrot }; 1982099ef02SBenoit Parrot }; 1992099ef02SBenoit Parrot }; 2002099ef02SBenoit Parrot }; 2012099ef02SBenoit Parrot 2022099ef02SBenoit Parrot... 203