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