Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/media/ti,cal.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Texas Instruments DRA72x CAMERA ADAPTATION LAYER (CAL) Device Tree Bindings
0008 
0009 maintainers:
0010   - Benoit Parrot <bparrot@ti.com>
0011 
0012 description: |-
0013   The Camera Adaptation Layer (CAL) is a key component for image capture
0014   applications. The capture module provides the system interface and the
0015   processing capability to connect CSI2 image-sensor modules to the
0016   DRA72x device.
0017 
0018   CAL supports 2 camera port nodes on MIPI bus.
0019 
0020 properties:
0021   compatible:
0022     enum:
0023       # for DRA72 controllers
0024       - ti,dra72-cal
0025       # for DRA72 controllers pre ES2.0
0026       - ti,dra72-pre-es2-cal
0027       # for DRA76 controllers
0028       - ti,dra76-cal
0029       # for AM654 controllers
0030       - ti,am654-cal
0031 
0032   reg:
0033     minItems: 2
0034     items:
0035       - description: The CAL main register region
0036       - description: The RX Core0 (DPHY0) register region
0037       - description: The RX Core1 (DPHY1) register region
0038 
0039   reg-names:
0040     minItems: 2
0041     items:
0042       - const: cal_top
0043       - const: cal_rx_core0
0044       - const: cal_rx_core1
0045 
0046   interrupts:
0047     maxItems: 1
0048 
0049   ti,camerrx-control:
0050     $ref: "/schemas/types.yaml#/definitions/phandle-array"
0051     items:
0052       - items:
0053           - description: phandle to device control module
0054           - description: offset to the control_camerarx_core register
0055     description:
0056       phandle to the device control module and offset to the
0057       control_camerarx_core register
0058 
0059   clocks:
0060     maxItems: 1
0061 
0062   clock-names:
0063     const: fck
0064 
0065   power-domains:
0066     description:
0067       List of phandle and PM domain specifier as documented in
0068       Documentation/devicetree/bindings/power/power_domain.txt
0069     maxItems: 1
0070 
0071   ports:
0072     $ref: /schemas/graph.yaml#/properties/ports
0073 
0074     properties:
0075       port@0:
0076         $ref: /schemas/graph.yaml#/$defs/port-base
0077         unevaluatedProperties: false
0078         description: CSI2 Port #0
0079 
0080         properties:
0081           endpoint:
0082             $ref: video-interfaces.yaml#
0083             unevaluatedProperties: false
0084 
0085             properties:
0086               clock-lanes:
0087                 maxItems: 1
0088 
0089               data-lanes:
0090                 minItems: 1
0091                 maxItems: 4
0092 
0093       port@1:
0094         $ref: /schemas/graph.yaml#/$defs/port-base
0095         unevaluatedProperties: false
0096         description: CSI2 Port #1
0097 
0098         properties:
0099           endpoint:
0100             $ref: video-interfaces.yaml#
0101             unevaluatedProperties: false
0102 
0103             properties:
0104               clock-lanes:
0105                 maxItems: 1
0106 
0107               data-lanes:
0108                 minItems: 1
0109                 maxItems: 4
0110 
0111     required:
0112       - port@0
0113 
0114 required:
0115   - compatible
0116   - reg
0117   - reg-names
0118   - interrupts
0119   - ti,camerrx-control
0120 
0121 additionalProperties: false
0122 
0123 examples:
0124   - |
0125     #include <dt-bindings/interrupt-controller/arm-gic.h>
0126 
0127     cal: cal@4845b000 {
0128         compatible = "ti,dra72-cal";
0129         reg = <0x4845B000 0x400>,
0130               <0x4845B800 0x40>,
0131               <0x4845B900 0x40>;
0132         reg-names = "cal_top",
0133                     "cal_rx_core0",
0134                     "cal_rx_core1";
0135         interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
0136         ti,camerrx-control = <&scm_conf 0xE94>;
0137 
0138         ports {
0139               #address-cells = <1>;
0140               #size-cells = <0>;
0141 
0142               csi2_0: port@0 {
0143                     reg = <0>;
0144                     csi2_phy0: endpoint {
0145                            remote-endpoint = <&csi2_cam0>;
0146                            clock-lanes = <0>;
0147                            data-lanes = <1 2>;
0148                     };
0149               };
0150         };
0151     };
0152 
0153     i2c {
0154         clock-frequency = <400000>;
0155         #address-cells = <1>;
0156         #size-cells = <0>;
0157 
0158         camera-sensor@3c {
0159                compatible = "ovti,ov5640";
0160                reg = <0x3c>;
0161                AVDD-supply = <&reg_2p8v>;
0162                DOVDD-supply = <&reg_1p8v>;
0163                DVDD-supply = <&reg_1p5v>;
0164                clocks = <&clk_ov5640_fixed>;
0165                clock-names = "xclk";
0166 
0167                port {
0168                     csi2_cam0: endpoint {
0169                             remote-endpoint = <&csi2_phy0>;
0170                             clock-lanes = <0>;
0171                             data-lanes = <1 2>;
0172                     };
0173                };
0174         };
0175     };
0176 
0177 ...