1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2# Copyright (C) 2019 Renesas Electronics Corp. 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/media/i2c/imi,rdacm2x-gmsl.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: IMI D&D RDACM20 and RDACM21 Automotive Camera Platforms 9 10maintainers: 11 - Jacopo Mondi <jacopo+renesas@jmondi.org> 12 - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> 13 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 14 - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> 15 16description: -| 17 The IMI D&D RDACM20 and RDACM21 are GMSL-compatible camera designed for 18 automotive applications. 19 20 The RDACM20 camera module encloses a Maxim Integrated MAX9271 GMSL serializer, 21 coupled with an OV10635 image sensor and an embedded MCU. Both the MCU and 22 the image sensor are connected to the serializer local I2C bus and are 23 accessible by the host SoC by direct addressing. 24 25 The RDACM21 camera module encloses the same serializer, coupled with an 26 OV10640 image sensor and an OV490 ISP. Only the OV490 ISP is interfaced to 27 the serializer local I2C bus while the image sensor is not accessible from 28 the host SoC. 29 30 They both connect to a remote GMSL endpoint through a coaxial cable. 31 32 IMI RDACM20 33 +---------------+ +--------------------------------+ 34 | GMSL | <- Video Stream | <- Video--------\ | 35 | |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV10635 | 36 | de-serializer | <- I2C messages -> | \<-->MCU | 37 +---------------+ +--------------------------------+ 38 39 IMI RDACM21 40 +---------------+ +--------------------------------+ 41 | GMSL | <- Video Stream | <- Video--------\ | 42 | |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV490 | 43 | | <- I2C messages -> | | | 44 | de-serializer | | OV10640 <-------| | 45 +---------------+ +--------------------------------+ 46 47 Both camera modules serialize video data generated by the embedded camera 48 sensor on the GMSL serial channel to a remote GMSL de-serializer. They also 49 receive and transmit I2C messages encapsulated and transmitted on the GMSL 50 bidirectional control channel. 51 52 All I2C traffic received on the GMSL link not directed to the serializer is 53 propagated on the local I2C bus to the remote device there connected. All the 54 I2C traffic generated on the local I2C bus not directed to the serializer is 55 propagated to the remote de-serializer encapsulated in the GMSL control 56 channel. 57 58 The RDACM20 and RDACM21 DT node should be a direct child of the GMSL 59 deserializer's I2C bus corresponding to the GMSL link that the camera is 60 attached to. 61 62properties: 63 '#address-cells': 64 const: 1 65 66 '#size-cells': 67 const: 0 68 69 compatible: 70 enum: 71 - imi,rdacm20 72 - imi,rdacm21 73 74 reg: 75 description: -| 76 I2C device addresses, the first to be assigned to the serializer, the 77 following ones to be assigned to the remote devices. 78 79 For RDACM20 the second entry of the property is assigned to the 80 OV10635 image sensor and the optional third one to the embedded MCU. 81 82 For RDACM21 the second entry is assigned to the OV490 ISP and the optional 83 third one ignored. 84 85 minItems: 2 86 maxItems: 3 87 88 port: 89 type: object 90 additionalProperties: false 91 description: -| 92 Connection to the remote GMSL endpoint are modelled using the OF graph 93 bindings in accordance with the video interface bindings defined in 94 Documentation/devicetree/bindings/media/video-interfaces.txt. 95 96 The device node contains a single "port" child node with a single 97 "endpoint" sub-device. 98 99 properties: 100 endpoint: 101 type: object 102 additionalProperties: false 103 104 properties: 105 remote-endpoint: 106 description: -| 107 phandle to the remote GMSL endpoint sub-node in the remote node 108 port. 109 maxItems: 1 110 111 required: 112 - remote-endpoint 113 114 required: 115 - endpoint 116 117required: 118 - compatible 119 - reg 120 - port 121 122examples: 123 - | 124 i2c@e66d8000 { 125 #address-cells = <1>; 126 #size-cells = <0>; 127 128 reg = <0 0xe66d8000>; 129 130 camera@31 { 131 compatible = "imi,rdacm20"; 132 reg = <0x31>, <0x41>, <0x51>; 133 134 port { 135 rdacm20_out0: endpoint { 136 remote-endpoint = <&max9286_in0>; 137 }; 138 }; 139 }; 140 }; 141 142 - | 143 i2c@e66d8000 { 144 #address-cells = <1>; 145 #size-cells = <0>; 146 147 reg = <0 0xe66d8000>; 148 149 camera@31 { 150 compatible = "imi,rdacm21"; 151 reg = <0x31>, <0x41>; 152 153 port { 154 rdacm21_out0: endpoint { 155 remote-endpoint = <&max9286_in0>; 156 }; 157 }; 158 }; 159 }; 160