1*c16b58a4SAlex Tran# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c16b58a4SAlex Tran%YAML 1.2 3*c16b58a4SAlex Tran--- 4*c16b58a4SAlex Tran$id: http://devicetree.org/schemas/media/ti,omap3isp.yaml# 5*c16b58a4SAlex Tran$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c16b58a4SAlex Tran 7*c16b58a4SAlex Trantitle: Texas Instruments OMAP 3 Image Signal Processor (ISP) 8*c16b58a4SAlex Tran 9*c16b58a4SAlex Tranmaintainers: 10*c16b58a4SAlex Tran - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11*c16b58a4SAlex Tran - Sakari Ailus <sakari.ailus@iki.fi> 12*c16b58a4SAlex Tran 13*c16b58a4SAlex Trandescription: 14*c16b58a4SAlex Tran The OMAP 3 ISP is an image signal processor present in OMAP 3 SoCs. 15*c16b58a4SAlex Tran 16*c16b58a4SAlex Tranproperties: 17*c16b58a4SAlex Tran compatible: 18*c16b58a4SAlex Tran const: ti,omap3-isp 19*c16b58a4SAlex Tran 20*c16b58a4SAlex Tran reg: 21*c16b58a4SAlex Tran items: 22*c16b58a4SAlex Tran - description: Core ISP registers up to the end of the SBL block 23*c16b58a4SAlex Tran - description: CSI PHYs and receivers registers 24*c16b58a4SAlex Tran 25*c16b58a4SAlex Tran interrupts: 26*c16b58a4SAlex Tran maxItems: 1 27*c16b58a4SAlex Tran 28*c16b58a4SAlex Tran iommus: 29*c16b58a4SAlex Tran maxItems: 1 30*c16b58a4SAlex Tran 31*c16b58a4SAlex Tran syscon: 32*c16b58a4SAlex Tran $ref: /schemas/types.yaml#/definitions/phandle-array 33*c16b58a4SAlex Tran items: 34*c16b58a4SAlex Tran - items: 35*c16b58a4SAlex Tran - description: phandle to System Control Module 36*c16b58a4SAlex Tran - description: register offset to Complex I/O or CSI-PHY register 37*c16b58a4SAlex Tran description: 38*c16b58a4SAlex Tran Phandle and register offset to the Complex I/O or CSI-PHY register 39*c16b58a4SAlex Tran 40*c16b58a4SAlex Tran ti,phy-type: 41*c16b58a4SAlex Tran $ref: /schemas/types.yaml#/definitions/uint32 42*c16b58a4SAlex Tran enum: [0, 1] 43*c16b58a4SAlex Tran description: 44*c16b58a4SAlex Tran 0 - OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. OMAP 3430) 45*c16b58a4SAlex Tran 1 - OMAP3ISP_PHY_TYPE_CSIPHY (e.g. OMAP 3630) 46*c16b58a4SAlex Tran 47*c16b58a4SAlex Tran '#clock-cells': 48*c16b58a4SAlex Tran const: 1 49*c16b58a4SAlex Tran description: 50*c16b58a4SAlex Tran The ISP provides two external clocks, cam_xclka and cam_xclkb, 51*c16b58a4SAlex Tran at indices 0 and 1 respectively. 52*c16b58a4SAlex Tran 53*c16b58a4SAlex Tran vdd-csiphy1-supply: 54*c16b58a4SAlex Tran description: Voltage supply of the CSI-2 PHY 1 55*c16b58a4SAlex Tran 56*c16b58a4SAlex Tran vdd-csiphy2-supply: 57*c16b58a4SAlex Tran description: Voltage supply of the CSI-2 PHY 2 58*c16b58a4SAlex Tran 59*c16b58a4SAlex Tran ports: 60*c16b58a4SAlex Tran $ref: /schemas/graph.yaml#/properties/ports 61*c16b58a4SAlex Tran 62*c16b58a4SAlex Tran properties: 63*c16b58a4SAlex Tran port@0: 64*c16b58a4SAlex Tran $ref: /schemas/graph.yaml#/$defs/port-base 65*c16b58a4SAlex Tran unevaluatedProperties: false 66*c16b58a4SAlex Tran description: Parallel (CCDC) interface 67*c16b58a4SAlex Tran 68*c16b58a4SAlex Tran properties: 69*c16b58a4SAlex Tran endpoint: 70*c16b58a4SAlex Tran $ref: /schemas/media/video-interfaces.yaml# 71*c16b58a4SAlex Tran unevaluatedProperties: false 72*c16b58a4SAlex Tran 73*c16b58a4SAlex Tran port@1: 74*c16b58a4SAlex Tran $ref: /schemas/graph.yaml#/$defs/port-base 75*c16b58a4SAlex Tran unevaluatedProperties: false 76*c16b58a4SAlex Tran description: | 77*c16b58a4SAlex Tran CSIPHY1 interface: 78*c16b58a4SAlex Tran OMAP 3630: CSI2C / CCP2B 79*c16b58a4SAlex Tran OMAP 3430: CSI1 (CSIb) 80*c16b58a4SAlex Tran 81*c16b58a4SAlex Tran properties: 82*c16b58a4SAlex Tran endpoint: 83*c16b58a4SAlex Tran $ref: /schemas/media/video-interfaces.yaml# 84*c16b58a4SAlex Tran unevaluatedProperties: false 85*c16b58a4SAlex Tran 86*c16b58a4SAlex Tran properties: 87*c16b58a4SAlex Tran lane-polarities: 88*c16b58a4SAlex Tran minItems: 2 89*c16b58a4SAlex Tran maxItems: 3 90*c16b58a4SAlex Tran 91*c16b58a4SAlex Tran data-lanes: 92*c16b58a4SAlex Tran minItems: 1 93*c16b58a4SAlex Tran maxItems: 2 94*c16b58a4SAlex Tran items: 95*c16b58a4SAlex Tran minimum: 1 96*c16b58a4SAlex Tran maximum: 3 97*c16b58a4SAlex Tran 98*c16b58a4SAlex Tran clock-lanes: 99*c16b58a4SAlex Tran minimum: 1 100*c16b58a4SAlex Tran maximum: 3 101*c16b58a4SAlex Tran 102*c16b58a4SAlex Tran port@2: 103*c16b58a4SAlex Tran $ref: /schemas/graph.yaml#/$defs/port-base 104*c16b58a4SAlex Tran unevaluatedProperties: false 105*c16b58a4SAlex Tran description: | 106*c16b58a4SAlex Tran CSIPHY2 interface: 107*c16b58a4SAlex Tran OMAP 3630: CSI2A / CCP2B 108*c16b58a4SAlex Tran OMAP 3430: CSI2 (CSIa) 109*c16b58a4SAlex Tran 110*c16b58a4SAlex Tran properties: 111*c16b58a4SAlex Tran endpoint: 112*c16b58a4SAlex Tran $ref: /schemas/media/video-interfaces.yaml# 113*c16b58a4SAlex Tran unevaluatedProperties: false 114*c16b58a4SAlex Tran 115*c16b58a4SAlex Tran properties: 116*c16b58a4SAlex Tran lane-polarities: 117*c16b58a4SAlex Tran minItems: 2 118*c16b58a4SAlex Tran maxItems: 3 119*c16b58a4SAlex Tran 120*c16b58a4SAlex Tran data-lanes: 121*c16b58a4SAlex Tran minItems: 1 122*c16b58a4SAlex Tran maxItems: 2 123*c16b58a4SAlex Tran items: 124*c16b58a4SAlex Tran minimum: 1 125*c16b58a4SAlex Tran maximum: 3 126*c16b58a4SAlex Tran 127*c16b58a4SAlex Tran clock-lanes: 128*c16b58a4SAlex Tran minimum: 1 129*c16b58a4SAlex Tran maximum: 3 130*c16b58a4SAlex Tran 131*c16b58a4SAlex Tranrequired: 132*c16b58a4SAlex Tran - compatible 133*c16b58a4SAlex Tran - reg 134*c16b58a4SAlex Tran - interrupts 135*c16b58a4SAlex Tran - iommus 136*c16b58a4SAlex Tran - syscon 137*c16b58a4SAlex Tran - ti,phy-type 138*c16b58a4SAlex Tran - '#clock-cells' 139*c16b58a4SAlex Tran 140*c16b58a4SAlex TranadditionalProperties: false 141*c16b58a4SAlex Tran 142*c16b58a4SAlex Tranexamples: 143*c16b58a4SAlex Tran - | 144*c16b58a4SAlex Tran #include <dt-bindings/media/omap3-isp.h> 145*c16b58a4SAlex Tran 146*c16b58a4SAlex Tran isp@480bc000 { 147*c16b58a4SAlex Tran compatible = "ti,omap3-isp"; 148*c16b58a4SAlex Tran reg = <0x480bc000 0x12fc>, 149*c16b58a4SAlex Tran <0x480bd800 0x0600>; 150*c16b58a4SAlex Tran interrupts = <24>; 151*c16b58a4SAlex Tran iommus = <&mmu_isp>; 152*c16b58a4SAlex Tran syscon = <&scm_conf 0x2f0>; 153*c16b58a4SAlex Tran ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>; 154*c16b58a4SAlex Tran #clock-cells = <1>; 155*c16b58a4SAlex Tran vdd-csiphy1-supply = <&vaux2>; 156*c16b58a4SAlex Tran vdd-csiphy2-supply = <&vaux2>; 157*c16b58a4SAlex Tran 158*c16b58a4SAlex Tran ports { 159*c16b58a4SAlex Tran #address-cells = <1>; 160*c16b58a4SAlex Tran #size-cells = <0>; 161*c16b58a4SAlex Tran 162*c16b58a4SAlex Tran port@0 { 163*c16b58a4SAlex Tran reg = <0>; 164*c16b58a4SAlex Tran parallel_ep: endpoint { 165*c16b58a4SAlex Tran remote-endpoint = <¶llel>; 166*c16b58a4SAlex Tran }; 167*c16b58a4SAlex Tran }; 168*c16b58a4SAlex Tran 169*c16b58a4SAlex Tran port@1 { 170*c16b58a4SAlex Tran reg = <1>; 171*c16b58a4SAlex Tran csi1_ep: endpoint { 172*c16b58a4SAlex Tran remote-endpoint = <&smia_1>; 173*c16b58a4SAlex Tran clock-lanes = <1>; 174*c16b58a4SAlex Tran data-lanes = <2>; 175*c16b58a4SAlex Tran lane-polarities = <0 0>; 176*c16b58a4SAlex Tran }; 177*c16b58a4SAlex Tran }; 178*c16b58a4SAlex Tran 179*c16b58a4SAlex Tran port@2 { 180*c16b58a4SAlex Tran reg = <2>; 181*c16b58a4SAlex Tran csi2a_ep: endpoint { 182*c16b58a4SAlex Tran remote-endpoint = <&smia_2>; 183*c16b58a4SAlex Tran clock-lanes = <2>; 184*c16b58a4SAlex Tran data-lanes = <1 3>; 185*c16b58a4SAlex Tran lane-polarities = <1 1 1>; 186*c16b58a4SAlex Tran }; 187*c16b58a4SAlex Tran }; 188*c16b58a4SAlex Tran }; 189*c16b58a4SAlex Tran }; 190