1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/media/ti,cal.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 7*7ef62cebSEmmanuel Vadottitle: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Benoit Parrot <bparrot@ti.com> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotdescription: |- 13c66ec88fSEmmanuel Vadot The Camera Adaptation Layer (CAL) is a key component for image capture 14c66ec88fSEmmanuel Vadot applications. The capture module provides the system interface and the 15c66ec88fSEmmanuel Vadot processing capability to connect CSI2 image-sensor modules to the 16c66ec88fSEmmanuel Vadot DRA72x device. 17c66ec88fSEmmanuel Vadot 185def4c47SEmmanuel Vadot CAL supports 2 camera port nodes on MIPI bus. 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadotproperties: 21c66ec88fSEmmanuel Vadot compatible: 22c66ec88fSEmmanuel Vadot enum: 23c66ec88fSEmmanuel Vadot # for DRA72 controllers 24c66ec88fSEmmanuel Vadot - ti,dra72-cal 25c66ec88fSEmmanuel Vadot # for DRA72 controllers pre ES2.0 26c66ec88fSEmmanuel Vadot - ti,dra72-pre-es2-cal 27c66ec88fSEmmanuel Vadot # for DRA76 controllers 28c66ec88fSEmmanuel Vadot - ti,dra76-cal 29c66ec88fSEmmanuel Vadot # for AM654 controllers 30c66ec88fSEmmanuel Vadot - ti,am654-cal 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot reg: 33c66ec88fSEmmanuel Vadot minItems: 2 34c66ec88fSEmmanuel Vadot items: 35c66ec88fSEmmanuel Vadot - description: The CAL main register region 36c66ec88fSEmmanuel Vadot - description: The RX Core0 (DPHY0) register region 37c66ec88fSEmmanuel Vadot - description: The RX Core1 (DPHY1) register region 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot reg-names: 40c66ec88fSEmmanuel Vadot minItems: 2 41c66ec88fSEmmanuel Vadot items: 42c66ec88fSEmmanuel Vadot - const: cal_top 43c66ec88fSEmmanuel Vadot - const: cal_rx_core0 44c66ec88fSEmmanuel Vadot - const: cal_rx_core1 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot interrupts: 47c66ec88fSEmmanuel Vadot maxItems: 1 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot ti,camerrx-control: 50c66ec88fSEmmanuel Vadot $ref: "/schemas/types.yaml#/definitions/phandle-array" 51c9ccf3a3SEmmanuel Vadot items: 52c9ccf3a3SEmmanuel Vadot - items: 53c9ccf3a3SEmmanuel Vadot - description: phandle to device control module 54c9ccf3a3SEmmanuel Vadot - description: offset to the control_camerarx_core register 55c66ec88fSEmmanuel Vadot description: 56c66ec88fSEmmanuel Vadot phandle to the device control module and offset to the 57c66ec88fSEmmanuel Vadot control_camerarx_core register 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot clocks: 60c66ec88fSEmmanuel Vadot maxItems: 1 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot clock-names: 63c66ec88fSEmmanuel Vadot const: fck 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot power-domains: 66c66ec88fSEmmanuel Vadot description: 67c66ec88fSEmmanuel Vadot List of phandle and PM domain specifier as documented in 68c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/power/power_domain.txt 69c66ec88fSEmmanuel Vadot maxItems: 1 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot ports: 725def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 73c66ec88fSEmmanuel Vadot 74c66ec88fSEmmanuel Vadot properties: 75c66ec88fSEmmanuel Vadot port@0: 765def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 775def4c47SEmmanuel Vadot unevaluatedProperties: false 78c66ec88fSEmmanuel Vadot description: CSI2 Port #0 79c66ec88fSEmmanuel Vadot 805def4c47SEmmanuel Vadot properties: 81c66ec88fSEmmanuel Vadot endpoint: 825def4c47SEmmanuel Vadot $ref: video-interfaces.yaml# 835def4c47SEmmanuel Vadot unevaluatedProperties: false 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot properties: 86c66ec88fSEmmanuel Vadot clock-lanes: 87c66ec88fSEmmanuel Vadot maxItems: 1 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot data-lanes: 90c66ec88fSEmmanuel Vadot minItems: 1 91c66ec88fSEmmanuel Vadot maxItems: 4 92c66ec88fSEmmanuel Vadot 93c66ec88fSEmmanuel Vadot port@1: 945def4c47SEmmanuel Vadot $ref: /schemas/graph.yaml#/$defs/port-base 955def4c47SEmmanuel Vadot unevaluatedProperties: false 96c66ec88fSEmmanuel Vadot description: CSI2 Port #1 97c66ec88fSEmmanuel Vadot 985def4c47SEmmanuel Vadot properties: 99c66ec88fSEmmanuel Vadot endpoint: 1005def4c47SEmmanuel Vadot $ref: video-interfaces.yaml# 1015def4c47SEmmanuel Vadot unevaluatedProperties: false 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot properties: 104c66ec88fSEmmanuel Vadot clock-lanes: 105c66ec88fSEmmanuel Vadot maxItems: 1 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot data-lanes: 108c66ec88fSEmmanuel Vadot minItems: 1 109c66ec88fSEmmanuel Vadot maxItems: 4 110c66ec88fSEmmanuel Vadot 111c66ec88fSEmmanuel Vadot required: 112c66ec88fSEmmanuel Vadot - port@0 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadotrequired: 115c66ec88fSEmmanuel Vadot - compatible 116c66ec88fSEmmanuel Vadot - reg 117c66ec88fSEmmanuel Vadot - reg-names 118c66ec88fSEmmanuel Vadot - interrupts 119c66ec88fSEmmanuel Vadot - ti,camerrx-control 120c66ec88fSEmmanuel Vadot 121c66ec88fSEmmanuel VadotadditionalProperties: false 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel Vadotexamples: 124c66ec88fSEmmanuel Vadot - | 125c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 126c66ec88fSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot cal: cal@4845b000 { 128c66ec88fSEmmanuel Vadot compatible = "ti,dra72-cal"; 129c66ec88fSEmmanuel Vadot reg = <0x4845B000 0x400>, 130c66ec88fSEmmanuel Vadot <0x4845B800 0x40>, 131c66ec88fSEmmanuel Vadot <0x4845B900 0x40>; 132c66ec88fSEmmanuel Vadot reg-names = "cal_top", 133c66ec88fSEmmanuel Vadot "cal_rx_core0", 134c66ec88fSEmmanuel Vadot "cal_rx_core1"; 135c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 136c66ec88fSEmmanuel Vadot ti,camerrx-control = <&scm_conf 0xE94>; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot ports { 139c66ec88fSEmmanuel Vadot #address-cells = <1>; 140c66ec88fSEmmanuel Vadot #size-cells = <0>; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot csi2_0: port@0 { 143c66ec88fSEmmanuel Vadot reg = <0>; 144c66ec88fSEmmanuel Vadot csi2_phy0: endpoint { 145c66ec88fSEmmanuel Vadot remote-endpoint = <&csi2_cam0>; 146c66ec88fSEmmanuel Vadot clock-lanes = <0>; 147c66ec88fSEmmanuel Vadot data-lanes = <1 2>; 148c66ec88fSEmmanuel Vadot }; 149c66ec88fSEmmanuel Vadot }; 150c66ec88fSEmmanuel Vadot }; 151c66ec88fSEmmanuel Vadot }; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot i2c { 154c66ec88fSEmmanuel Vadot clock-frequency = <400000>; 155c66ec88fSEmmanuel Vadot #address-cells = <1>; 156c66ec88fSEmmanuel Vadot #size-cells = <0>; 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel Vadot camera-sensor@3c { 159c66ec88fSEmmanuel Vadot compatible = "ovti,ov5640"; 160c66ec88fSEmmanuel Vadot reg = <0x3c>; 1618cc087a1SEmmanuel Vadot AVDD-supply = <®_2p8v>; 1628cc087a1SEmmanuel Vadot DOVDD-supply = <®_1p8v>; 1638cc087a1SEmmanuel Vadot DVDD-supply = <®_1p5v>; 164c66ec88fSEmmanuel Vadot clocks = <&clk_ov5640_fixed>; 165c66ec88fSEmmanuel Vadot clock-names = "xclk"; 166c66ec88fSEmmanuel Vadot 167c66ec88fSEmmanuel Vadot port { 168c66ec88fSEmmanuel Vadot csi2_cam0: endpoint { 169c66ec88fSEmmanuel Vadot remote-endpoint = <&csi2_phy0>; 170c66ec88fSEmmanuel Vadot clock-lanes = <0>; 171c66ec88fSEmmanuel Vadot data-lanes = <1 2>; 172c66ec88fSEmmanuel Vadot }; 173c66ec88fSEmmanuel Vadot }; 174c66ec88fSEmmanuel Vadot }; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot... 178