1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk> 3*4882a593Smuzhiyun%YAML 1.2 4*4882a593Smuzhiyun--- 5*4882a593Smuzhiyun$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml# 6*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 7*4882a593Smuzhiyun 8*4882a593Smuzhiyuntitle: Marvell MMP2 camera host interface bindings 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunmaintainers: 11*4882a593Smuzhiyun - Lubomir Rintel <lkundrak@v3.sk> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunproperties: 14*4882a593Smuzhiyun $nodename: 15*4882a593Smuzhiyun pattern: '^camera@[a-f0-9]+$' 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun compatible: 18*4882a593Smuzhiyun const: marvell,mmp2-ccic 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun reg: 21*4882a593Smuzhiyun maxItems: 1 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun interrupts: 24*4882a593Smuzhiyun maxItems: 1 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun port: 27*4882a593Smuzhiyun type: object 28*4882a593Smuzhiyun additionalProperties: false 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun properties: 31*4882a593Smuzhiyun endpoint: 32*4882a593Smuzhiyun type: object 33*4882a593Smuzhiyun additionalProperties: false 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun # Properties described in 36*4882a593Smuzhiyun # Documentation/devicetree/bindings/media/video-interfaces.txt 37*4882a593Smuzhiyun properties: 38*4882a593Smuzhiyun remote-endpoint: true 39*4882a593Smuzhiyun hsync-active: true 40*4882a593Smuzhiyun vsync-active: true 41*4882a593Smuzhiyun pclk-sample: true 42*4882a593Smuzhiyun bus-type: true 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun required: 45*4882a593Smuzhiyun - remote-endpoint 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun required: 48*4882a593Smuzhiyun - endpoint 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun clocks: 51*4882a593Smuzhiyun minItems: 1 52*4882a593Smuzhiyun maxItems: 3 53*4882a593Smuzhiyun items: 54*4882a593Smuzhiyun - description: AXI bus interface clock 55*4882a593Smuzhiyun - description: Peripheral clock 56*4882a593Smuzhiyun - description: Parallel video bus interface clock 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun clock-names: 59*4882a593Smuzhiyun const: axi 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun '#clock-cells': 62*4882a593Smuzhiyun const: 0 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun clock-output-names: 65*4882a593Smuzhiyun const: mclk 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunrequired: 68*4882a593Smuzhiyun - compatible 69*4882a593Smuzhiyun - reg 70*4882a593Smuzhiyun - interrupts 71*4882a593Smuzhiyun - port 72*4882a593Smuzhiyun 73*4882a593SmuzhiyunadditionalProperties: false 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunexamples: 76*4882a593Smuzhiyun - | 77*4882a593Smuzhiyun #include <dt-bindings/clock/marvell,mmp2.h> 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun camera@d420a000 { 80*4882a593Smuzhiyun compatible = "marvell,mmp2-ccic"; 81*4882a593Smuzhiyun reg = <0xd420a000 0x800>; 82*4882a593Smuzhiyun interrupts = <42>; 83*4882a593Smuzhiyun clocks = <&soc_clocks MMP2_CLK_CCIC0>; 84*4882a593Smuzhiyun clock-names = "axi"; 85*4882a593Smuzhiyun #clock-cells = <0>; 86*4882a593Smuzhiyun clock-output-names = "mclk"; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun port { 89*4882a593Smuzhiyun camera0_0: endpoint { 90*4882a593Smuzhiyun remote-endpoint = <&ov7670_0>; 91*4882a593Smuzhiyun bus-type = <5>; /* Parallel */ 92*4882a593Smuzhiyun hsync-active = <1>; /* Active high */ 93*4882a593Smuzhiyun vsync-active = <1>; /* Active high */ 94*4882a593Smuzhiyun pclk-sample = <0>; /* Falling */ 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun... 100