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 7dd3cb467SAndrew Lunntitle: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) 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 18066a94e2SRob Herring CAL supports 2 camera port nodes on MIPI bus. 192099ef02SBenoit Parrot 202099ef02SBenoit Parrotproperties: 212099ef02SBenoit Parrot compatible: 222099ef02SBenoit Parrot enum: 232099ef02SBenoit Parrot # for DRA72 controllers 242099ef02SBenoit Parrot - ti,dra72-cal 252099ef02SBenoit Parrot # for DRA72 controllers pre ES2.0 262099ef02SBenoit Parrot - ti,dra72-pre-es2-cal 272099ef02SBenoit Parrot # for DRA76 controllers 282099ef02SBenoit Parrot - ti,dra76-cal 292099ef02SBenoit Parrot # for AM654 controllers 302099ef02SBenoit Parrot - ti,am654-cal 312099ef02SBenoit Parrot 322099ef02SBenoit Parrot reg: 332099ef02SBenoit Parrot minItems: 2 342099ef02SBenoit Parrot items: 352099ef02SBenoit Parrot - description: The CAL main register region 362099ef02SBenoit Parrot - description: The RX Core0 (DPHY0) register region 372099ef02SBenoit Parrot - description: The RX Core1 (DPHY1) register region 382099ef02SBenoit Parrot 392099ef02SBenoit Parrot reg-names: 402099ef02SBenoit Parrot minItems: 2 412099ef02SBenoit Parrot items: 422099ef02SBenoit Parrot - const: cal_top 432099ef02SBenoit Parrot - const: cal_rx_core0 442099ef02SBenoit Parrot - const: cal_rx_core1 452099ef02SBenoit Parrot 462099ef02SBenoit Parrot interrupts: 472099ef02SBenoit Parrot maxItems: 1 482099ef02SBenoit Parrot 492099ef02SBenoit Parrot ti,camerrx-control: 50*ab190665SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 5139bd2b6aSRob Herring items: 5239bd2b6aSRob Herring - items: 5339bd2b6aSRob Herring - description: phandle to device control module 5439bd2b6aSRob Herring - description: offset to the control_camerarx_core register 552099ef02SBenoit Parrot description: 562099ef02SBenoit Parrot phandle to the device control module and offset to the 572099ef02SBenoit Parrot control_camerarx_core register 582099ef02SBenoit Parrot 592099ef02SBenoit Parrot clocks: 602099ef02SBenoit Parrot maxItems: 1 612099ef02SBenoit Parrot 622099ef02SBenoit Parrot clock-names: 632099ef02SBenoit Parrot const: fck 642099ef02SBenoit Parrot 652099ef02SBenoit Parrot power-domains: 662099ef02SBenoit Parrot description: 672099ef02SBenoit Parrot List of phandle and PM domain specifier as documented in 682099ef02SBenoit Parrot Documentation/devicetree/bindings/power/power_domain.txt 692099ef02SBenoit Parrot maxItems: 1 702099ef02SBenoit Parrot 712099ef02SBenoit Parrot ports: 72066a94e2SRob Herring $ref: /schemas/graph.yaml#/properties/ports 732099ef02SBenoit Parrot 742099ef02SBenoit Parrot properties: 752099ef02SBenoit Parrot port@0: 76066a94e2SRob Herring $ref: /schemas/graph.yaml#/$defs/port-base 77066a94e2SRob Herring unevaluatedProperties: false 78d0dcd0ceSRob Herring description: 'CSI2 Port #0' 792099ef02SBenoit Parrot 80066a94e2SRob Herring properties: 812099ef02SBenoit Parrot endpoint: 82066a94e2SRob Herring $ref: video-interfaces.yaml# 83066a94e2SRob Herring unevaluatedProperties: false 842099ef02SBenoit Parrot 852099ef02SBenoit Parrot properties: 862099ef02SBenoit Parrot clock-lanes: 872099ef02SBenoit Parrot maxItems: 1 882099ef02SBenoit Parrot 892099ef02SBenoit Parrot data-lanes: 902099ef02SBenoit Parrot minItems: 1 912099ef02SBenoit Parrot maxItems: 4 922099ef02SBenoit Parrot 932099ef02SBenoit Parrot port@1: 94066a94e2SRob Herring $ref: /schemas/graph.yaml#/$defs/port-base 95066a94e2SRob Herring unevaluatedProperties: false 96d0dcd0ceSRob Herring description: 'CSI2 Port #1' 972099ef02SBenoit Parrot 98066a94e2SRob Herring properties: 992099ef02SBenoit Parrot endpoint: 100066a94e2SRob Herring $ref: video-interfaces.yaml# 101066a94e2SRob Herring unevaluatedProperties: false 1022099ef02SBenoit Parrot 1032099ef02SBenoit Parrot properties: 1042099ef02SBenoit Parrot clock-lanes: 1052099ef02SBenoit Parrot maxItems: 1 1062099ef02SBenoit Parrot 1072099ef02SBenoit Parrot data-lanes: 1082099ef02SBenoit Parrot minItems: 1 1092099ef02SBenoit Parrot maxItems: 4 1102099ef02SBenoit Parrot 1112099ef02SBenoit Parrot required: 1122099ef02SBenoit Parrot - port@0 1132099ef02SBenoit Parrot 1142099ef02SBenoit Parrotrequired: 1152099ef02SBenoit Parrot - compatible 1162099ef02SBenoit Parrot - reg 1172099ef02SBenoit Parrot - reg-names 1182099ef02SBenoit Parrot - interrupts 1192099ef02SBenoit Parrot - ti,camerrx-control 1202099ef02SBenoit Parrot 1212099ef02SBenoit ParrotadditionalProperties: false 1222099ef02SBenoit Parrot 1232099ef02SBenoit Parrotexamples: 1242099ef02SBenoit Parrot - | 1252099ef02SBenoit Parrot #include <dt-bindings/interrupt-controller/arm-gic.h> 1262099ef02SBenoit Parrot 1272099ef02SBenoit Parrot cal: cal@4845b000 { 1282099ef02SBenoit Parrot compatible = "ti,dra72-cal"; 1292099ef02SBenoit Parrot reg = <0x4845B000 0x400>, 1302099ef02SBenoit Parrot <0x4845B800 0x40>, 1312099ef02SBenoit Parrot <0x4845B900 0x40>; 1322099ef02SBenoit Parrot reg-names = "cal_top", 1332099ef02SBenoit Parrot "cal_rx_core0", 1342099ef02SBenoit Parrot "cal_rx_core1"; 1352099ef02SBenoit Parrot interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1362099ef02SBenoit Parrot ti,camerrx-control = <&scm_conf 0xE94>; 1372099ef02SBenoit Parrot 1382099ef02SBenoit Parrot ports { 1392099ef02SBenoit Parrot #address-cells = <1>; 1402099ef02SBenoit Parrot #size-cells = <0>; 1412099ef02SBenoit Parrot 1422099ef02SBenoit Parrot csi2_0: port@0 { 1432099ef02SBenoit Parrot reg = <0>; 1442099ef02SBenoit Parrot csi2_phy0: endpoint { 1452099ef02SBenoit Parrot remote-endpoint = <&csi2_cam0>; 1462099ef02SBenoit Parrot clock-lanes = <0>; 1472099ef02SBenoit Parrot data-lanes = <1 2>; 1482099ef02SBenoit Parrot }; 1492099ef02SBenoit Parrot }; 1502099ef02SBenoit Parrot }; 1512099ef02SBenoit Parrot }; 1522099ef02SBenoit Parrot 15351a21e0eSRob Herring i2c { 1542099ef02SBenoit Parrot clock-frequency = <400000>; 1552099ef02SBenoit Parrot #address-cells = <1>; 1562099ef02SBenoit Parrot #size-cells = <0>; 1572099ef02SBenoit Parrot 1582099ef02SBenoit Parrot camera-sensor@3c { 1592099ef02SBenoit Parrot compatible = "ovti,ov5640"; 1602099ef02SBenoit Parrot reg = <0x3c>; 161e978d527SMaxime Ripard AVDD-supply = <®_2p8v>; 162e978d527SMaxime Ripard DOVDD-supply = <®_1p8v>; 163e978d527SMaxime Ripard DVDD-supply = <®_1p5v>; 1642099ef02SBenoit Parrot clocks = <&clk_ov5640_fixed>; 1652099ef02SBenoit Parrot clock-names = "xclk"; 1662099ef02SBenoit Parrot 1672099ef02SBenoit Parrot port { 1682099ef02SBenoit Parrot csi2_cam0: endpoint { 1692099ef02SBenoit Parrot remote-endpoint = <&csi2_phy0>; 1702099ef02SBenoit Parrot clock-lanes = <0>; 1712099ef02SBenoit Parrot data-lanes = <1 2>; 1722099ef02SBenoit Parrot }; 1732099ef02SBenoit Parrot }; 1742099ef02SBenoit Parrot }; 1752099ef02SBenoit Parrot }; 1762099ef02SBenoit Parrot 1772099ef02SBenoit Parrot... 178