Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-mipi-csi2.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Allwinner A31 MIPI CSI-2 Device Tree Bindings
0008 
0009 maintainers:
0010   - Paul Kocialkowski <paul.kocialkowski@bootlin.com>
0011 
0012 properties:
0013   compatible:
0014     oneOf:
0015       - const: allwinner,sun6i-a31-mipi-csi2
0016       - items:
0017           - const: allwinner,sun8i-v3s-mipi-csi2
0018           - const: allwinner,sun6i-a31-mipi-csi2
0019 
0020   reg:
0021     maxItems: 1
0022 
0023   interrupts:
0024     maxItems: 1
0025 
0026   clocks:
0027     items:
0028       - description: Bus Clock
0029       - description: Module Clock
0030 
0031   clock-names:
0032     items:
0033       - const: bus
0034       - const: mod
0035 
0036   phys:
0037     maxItems: 1
0038     description: MIPI D-PHY
0039 
0040   phy-names:
0041     items:
0042       - const: dphy
0043 
0044   resets:
0045     maxItems: 1
0046 
0047   ports:
0048     $ref: /schemas/graph.yaml#/properties/ports
0049 
0050     properties:
0051       port@0:
0052         $ref: /schemas/graph.yaml#/$defs/port-base
0053         description: Input port, connect to a MIPI CSI-2 sensor
0054 
0055         properties:
0056           reg:
0057             const: 0
0058 
0059           endpoint:
0060             $ref: video-interfaces.yaml#
0061             unevaluatedProperties: false
0062 
0063             properties:
0064               data-lanes:
0065                 minItems: 1
0066                 maxItems: 4
0067 
0068             required:
0069               - data-lanes
0070 
0071         unevaluatedProperties: false
0072 
0073       port@1:
0074         $ref: /schemas/graph.yaml#/properties/port
0075         description: Output port, connect to a CSI controller
0076 
0077     required:
0078       - port@0
0079       - port@1
0080 
0081 required:
0082   - compatible
0083   - reg
0084   - interrupts
0085   - clocks
0086   - clock-names
0087   - phys
0088   - phy-names
0089   - resets
0090   - ports
0091 
0092 additionalProperties: false
0093 
0094 examples:
0095   - |
0096     #include <dt-bindings/interrupt-controller/arm-gic.h>
0097     #include <dt-bindings/clock/sun8i-v3s-ccu.h>
0098     #include <dt-bindings/reset/sun8i-v3s-ccu.h>
0099 
0100     mipi_csi2: csi@1cb1000 {
0101         compatible = "allwinner,sun8i-v3s-mipi-csi2",
0102                      "allwinner,sun6i-a31-mipi-csi2";
0103         reg = <0x01cb1000 0x1000>;
0104         interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
0105         clocks = <&ccu CLK_BUS_CSI>,
0106                  <&ccu CLK_CSI1_SCLK>;
0107         clock-names = "bus", "mod";
0108         resets = <&ccu RST_BUS_CSI>;
0109 
0110         phys = <&dphy>;
0111         phy-names = "dphy";
0112 
0113         ports {
0114             #address-cells = <1>;
0115             #size-cells = <0>;
0116 
0117             mipi_csi2_in: port@0 {
0118                 reg = <0>;
0119 
0120                 mipi_csi2_in_ov5648: endpoint {
0121                     data-lanes = <1 2 3 4>;
0122 
0123                     remote-endpoint = <&ov5648_out_mipi_csi2>;
0124                 };
0125             };
0126 
0127             mipi_csi2_out: port@1 {
0128                 reg = <1>;
0129 
0130                 mipi_csi2_out_csi0: endpoint {
0131                     remote-endpoint = <&csi0_in_mipi_csi2>;
0132                 };
0133             };
0134         };
0135     };
0136 
0137 ...