1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/ti,cal.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings 8 9maintainers: 10 - Benoit Parrot <bparrot@ti.com> 11 12description: |- 13 The Camera Adaptation Layer (CAL) is a key component for image capture 14 applications. The capture module provides the system interface and the 15 processing capability to connect CSI2 image-sensor modules to the 16 DRA72x device. 17 18 CAL supports 2 camera port nodes on MIPI bus. Each CSI2 camera port nodes 19 should contain a 'port' child node with child 'endpoint' node. Please 20 refer to the bindings defined in 21 Documentation/devicetree/bindings/media/video-interfaces.txt. 22 23properties: 24 compatible: 25 enum: 26 # for DRA72 controllers 27 - ti,dra72-cal 28 # for DRA72 controllers pre ES2.0 29 - ti,dra72-pre-es2-cal 30 # for DRA76 controllers 31 - ti,dra76-cal 32 # for AM654 controllers 33 - ti,am654-cal 34 35 reg: 36 minItems: 2 37 items: 38 - description: The CAL main register region 39 - description: The RX Core0 (DPHY0) register region 40 - description: The RX Core1 (DPHY1) register region 41 42 reg-names: 43 minItems: 2 44 items: 45 - const: cal_top 46 - const: cal_rx_core0 47 - const: cal_rx_core1 48 49 interrupts: 50 maxItems: 1 51 52 ti,camerrx-control: 53 $ref: "/schemas/types.yaml#/definitions/phandle-array" 54 description: 55 phandle to the device control module and offset to the 56 control_camerarx_core register 57 58 clocks: 59 maxItems: 1 60 61 clock-names: 62 const: fck 63 64 power-domains: 65 description: 66 List of phandle and PM domain specifier as documented in 67 Documentation/devicetree/bindings/power/power_domain.txt 68 maxItems: 1 69 70 # See ./video-interfaces.txt for details 71 ports: 72 type: object 73 additionalProperties: false 74 75 properties: 76 "#address-cells": 77 const: 1 78 79 "#size-cells": 80 const: 0 81 82 port@0: 83 type: object 84 additionalProperties: false 85 86 properties: 87 reg: 88 const: 0 89 description: CSI2 Port #0 90 91 patternProperties: 92 endpoint: 93 type: object 94 additionalProperties: false 95 96 properties: 97 clock-lanes: 98 maxItems: 1 99 100 data-lanes: 101 minItems: 1 102 maxItems: 4 103 104 remote-endpoint: true 105 106 required: 107 - reg 108 109 port@1: 110 type: object 111 additionalProperties: false 112 113 properties: 114 reg: 115 const: 1 116 description: CSI2 Port #1 117 118 patternProperties: 119 endpoint: 120 type: object 121 additionalProperties: false 122 123 properties: 124 clock-lanes: 125 maxItems: 1 126 127 data-lanes: 128 minItems: 1 129 maxItems: 4 130 131 remote-endpoint: true 132 133 required: 134 - reg 135 136 required: 137 - "#address-cells" 138 - "#size-cells" 139 - port@0 140 141required: 142 - compatible 143 - reg 144 - reg-names 145 - interrupts 146 - ti,camerrx-control 147 148additionalProperties: false 149 150examples: 151 - | 152 #include <dt-bindings/interrupt-controller/arm-gic.h> 153 154 cal: cal@4845b000 { 155 compatible = "ti,dra72-cal"; 156 reg = <0x4845B000 0x400>, 157 <0x4845B800 0x40>, 158 <0x4845B900 0x40>; 159 reg-names = "cal_top", 160 "cal_rx_core0", 161 "cal_rx_core1"; 162 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 163 ti,camerrx-control = <&scm_conf 0xE94>; 164 165 ports { 166 #address-cells = <1>; 167 #size-cells = <0>; 168 169 csi2_0: port@0 { 170 reg = <0>; 171 csi2_phy0: endpoint { 172 remote-endpoint = <&csi2_cam0>; 173 clock-lanes = <0>; 174 data-lanes = <1 2>; 175 }; 176 }; 177 }; 178 }; 179 180 i2c { 181 clock-frequency = <400000>; 182 #address-cells = <1>; 183 #size-cells = <0>; 184 185 camera-sensor@3c { 186 compatible = "ovti,ov5640"; 187 reg = <0x3c>; 188 189 clocks = <&clk_ov5640_fixed>; 190 clock-names = "xclk"; 191 192 port { 193 csi2_cam0: endpoint { 194 remote-endpoint = <&csi2_phy0>; 195 clock-lanes = <0>; 196 data-lanes = <1 2>; 197 }; 198 }; 199 }; 200 }; 201 202... 203