18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/media/ti,cal.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Benoit Parrot <bparrot@ti.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: |- 138c2ecf20Sopenharmony_ci The Camera Adaptation Layer (CAL) is a key component for image capture 148c2ecf20Sopenharmony_ci applications. The capture module provides the system interface and the 158c2ecf20Sopenharmony_ci processing capability to connect CSI2 image-sensor modules to the 168c2ecf20Sopenharmony_ci DRA72x device. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes 198c2ecf20Sopenharmony_ci should contain a 'port' child node with child 'endpoint' node. Please 208c2ecf20Sopenharmony_ci refer to the bindings defined in 218c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/media/video-interfaces.txt. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciproperties: 248c2ecf20Sopenharmony_ci compatible: 258c2ecf20Sopenharmony_ci enum: 268c2ecf20Sopenharmony_ci # for DRA72 controllers 278c2ecf20Sopenharmony_ci - ti,dra72-cal 288c2ecf20Sopenharmony_ci # for DRA72 controllers pre ES2.0 298c2ecf20Sopenharmony_ci - ti,dra72-pre-es2-cal 308c2ecf20Sopenharmony_ci # for DRA76 controllers 318c2ecf20Sopenharmony_ci - ti,dra76-cal 328c2ecf20Sopenharmony_ci # for AM654 controllers 338c2ecf20Sopenharmony_ci - ti,am654-cal 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci reg: 368c2ecf20Sopenharmony_ci minItems: 2 378c2ecf20Sopenharmony_ci items: 388c2ecf20Sopenharmony_ci - description: The CAL main register region 398c2ecf20Sopenharmony_ci - description: The RX Core0 (DPHY0) register region 408c2ecf20Sopenharmony_ci - description: The RX Core1 (DPHY1) register region 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci reg-names: 438c2ecf20Sopenharmony_ci minItems: 2 448c2ecf20Sopenharmony_ci items: 458c2ecf20Sopenharmony_ci - const: cal_top 468c2ecf20Sopenharmony_ci - const: cal_rx_core0 478c2ecf20Sopenharmony_ci - const: cal_rx_core1 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci interrupts: 508c2ecf20Sopenharmony_ci maxItems: 1 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci ti,camerrx-control: 538c2ecf20Sopenharmony_ci $ref: "/schemas/types.yaml#/definitions/phandle-array" 548c2ecf20Sopenharmony_ci description: 558c2ecf20Sopenharmony_ci phandle to the device control module and offset to the 568c2ecf20Sopenharmony_ci control_camerarx_core register 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci clocks: 598c2ecf20Sopenharmony_ci maxItems: 1 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci clock-names: 628c2ecf20Sopenharmony_ci const: fck 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci power-domains: 658c2ecf20Sopenharmony_ci description: 668c2ecf20Sopenharmony_ci List of phandle and PM domain specifier as documented in 678c2ecf20Sopenharmony_ci Documentation/devicetree/bindings/power/power_domain.txt 688c2ecf20Sopenharmony_ci maxItems: 1 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci # See ./video-interfaces.txt for details 718c2ecf20Sopenharmony_ci ports: 728c2ecf20Sopenharmony_ci type: object 738c2ecf20Sopenharmony_ci additionalProperties: false 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci properties: 768c2ecf20Sopenharmony_ci "#address-cells": 778c2ecf20Sopenharmony_ci const: 1 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci "#size-cells": 808c2ecf20Sopenharmony_ci const: 0 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci port@0: 838c2ecf20Sopenharmony_ci type: object 848c2ecf20Sopenharmony_ci additionalProperties: false 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci properties: 878c2ecf20Sopenharmony_ci reg: 888c2ecf20Sopenharmony_ci const: 0 898c2ecf20Sopenharmony_ci description: CSI2 Port #0 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci patternProperties: 928c2ecf20Sopenharmony_ci endpoint: 938c2ecf20Sopenharmony_ci type: object 948c2ecf20Sopenharmony_ci additionalProperties: false 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci properties: 978c2ecf20Sopenharmony_ci clock-lanes: 988c2ecf20Sopenharmony_ci maxItems: 1 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci data-lanes: 1018c2ecf20Sopenharmony_ci minItems: 1 1028c2ecf20Sopenharmony_ci maxItems: 4 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci remote-endpoint: true 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci required: 1078c2ecf20Sopenharmony_ci - reg 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci port@1: 1108c2ecf20Sopenharmony_ci type: object 1118c2ecf20Sopenharmony_ci additionalProperties: false 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci properties: 1148c2ecf20Sopenharmony_ci reg: 1158c2ecf20Sopenharmony_ci const: 1 1168c2ecf20Sopenharmony_ci description: CSI2 Port #1 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci patternProperties: 1198c2ecf20Sopenharmony_ci endpoint: 1208c2ecf20Sopenharmony_ci type: object 1218c2ecf20Sopenharmony_ci additionalProperties: false 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci properties: 1248c2ecf20Sopenharmony_ci clock-lanes: 1258c2ecf20Sopenharmony_ci maxItems: 1 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci data-lanes: 1288c2ecf20Sopenharmony_ci minItems: 1 1298c2ecf20Sopenharmony_ci maxItems: 4 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci remote-endpoint: true 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci required: 1348c2ecf20Sopenharmony_ci - reg 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci required: 1378c2ecf20Sopenharmony_ci - "#address-cells" 1388c2ecf20Sopenharmony_ci - "#size-cells" 1398c2ecf20Sopenharmony_ci - port@0 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_cirequired: 1428c2ecf20Sopenharmony_ci - compatible 1438c2ecf20Sopenharmony_ci - reg 1448c2ecf20Sopenharmony_ci - reg-names 1458c2ecf20Sopenharmony_ci - interrupts 1468c2ecf20Sopenharmony_ci - ti,camerrx-control 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciadditionalProperties: false 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciexamples: 1518c2ecf20Sopenharmony_ci - | 1528c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci cal: cal@4845b000 { 1558c2ecf20Sopenharmony_ci compatible = "ti,dra72-cal"; 1568c2ecf20Sopenharmony_ci reg = <0x4845B000 0x400>, 1578c2ecf20Sopenharmony_ci <0x4845B800 0x40>, 1588c2ecf20Sopenharmony_ci <0x4845B900 0x40>; 1598c2ecf20Sopenharmony_ci reg-names = "cal_top", 1608c2ecf20Sopenharmony_ci "cal_rx_core0", 1618c2ecf20Sopenharmony_ci "cal_rx_core1"; 1628c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1638c2ecf20Sopenharmony_ci ti,camerrx-control = <&scm_conf 0xE94>; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci ports { 1668c2ecf20Sopenharmony_ci #address-cells = <1>; 1678c2ecf20Sopenharmony_ci #size-cells = <0>; 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci csi2_0: port@0 { 1708c2ecf20Sopenharmony_ci reg = <0>; 1718c2ecf20Sopenharmony_ci csi2_phy0: endpoint { 1728c2ecf20Sopenharmony_ci remote-endpoint = <&csi2_cam0>; 1738c2ecf20Sopenharmony_ci clock-lanes = <0>; 1748c2ecf20Sopenharmony_ci data-lanes = <1 2>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci }; 1778c2ecf20Sopenharmony_ci }; 1788c2ecf20Sopenharmony_ci }; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci i2c { 1818c2ecf20Sopenharmony_ci clock-frequency = <400000>; 1828c2ecf20Sopenharmony_ci #address-cells = <1>; 1838c2ecf20Sopenharmony_ci #size-cells = <0>; 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci camera-sensor@3c { 1868c2ecf20Sopenharmony_ci compatible = "ovti,ov5640"; 1878c2ecf20Sopenharmony_ci reg = <0x3c>; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci clocks = <&clk_ov5640_fixed>; 1908c2ecf20Sopenharmony_ci clock-names = "xclk"; 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_ci port { 1938c2ecf20Sopenharmony_ci csi2_cam0: endpoint { 1948c2ecf20Sopenharmony_ci remote-endpoint = <&csi2_phy0>; 1958c2ecf20Sopenharmony_ci clock-lanes = <0>; 1968c2ecf20Sopenharmony_ci data-lanes = <1 2>; 1978c2ecf20Sopenharmony_ci }; 1988c2ecf20Sopenharmony_ci }; 1998c2ecf20Sopenharmony_ci }; 2008c2ecf20Sopenharmony_ci }; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci... 203