| # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause |
| # Copyright (C) 2019 Renesas Electronics Corp. |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/media/i2c/imi,rdacm2x-gmsl.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: IMI D&D RDACM20 and RDACM21 Automotive Camera Platforms |
| |
| maintainers: |
| - Jacopo Mondi <jacopo+renesas@jmondi.org> |
| - Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> |
| - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| - Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> |
| |
| description: -| |
| The IMI D&D RDACM20 and RDACM21 are GMSL-compatible camera designed for |
| automotive applications. |
| |
| The RDACM20 camera module encloses a Maxim Integrated MAX9271 GMSL serializer, |
| coupled with an OV10635 image sensor and an embedded MCU. Both the MCU and |
| the image sensor are connected to the serializer local I2C bus and are |
| accessible by the host SoC by direct addressing. |
| |
| The RDACM21 camera module encloses the same serializer, coupled with an |
| OV10640 image sensor and an OV490 ISP. Only the OV490 ISP is interfaced to |
| the serializer local I2C bus while the image sensor is not accessible from |
| the host SoC. |
| |
| They both connect to a remote GMSL endpoint through a coaxial cable. |
| |
| IMI RDACM20 |
| +---------------+ +--------------------------------+ |
| | GMSL | <- Video Stream | <- Video--------\ | |
| | |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV10635 | |
| | de-serializer | <- I2C messages -> | \<-->MCU | |
| +---------------+ +--------------------------------+ |
| |
| IMI RDACM21 |
| +---------------+ +--------------------------------+ |
| | GMSL | <- Video Stream | <- Video--------\ | |
| | |< === GMSL Link ====== >|MAX9271<- I2C bus-> <-->OV490 | |
| | | <- I2C messages -> | | | |
| | de-serializer | | OV10640 <-------| | |
| +---------------+ +--------------------------------+ |
| |
| Both camera modules serialize video data generated by the embedded camera |
| sensor on the GMSL serial channel to a remote GMSL de-serializer. They also |
| receive and transmit I2C messages encapsulated and transmitted on the GMSL |
| bidirectional control channel. |
| |
| All I2C traffic received on the GMSL link not directed to the serializer is |
| propagated on the local I2C bus to the remote device there connected. All the |
| I2C traffic generated on the local I2C bus not directed to the serializer is |
| propagated to the remote de-serializer encapsulated in the GMSL control |
| channel. |
| |
| The RDACM20 and RDACM21 DT node should be a direct child of the GMSL |
| deserializer's I2C bus corresponding to the GMSL link that the camera is |
| attached to. |
| |
| properties: |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| compatible: |
| enum: |
| - imi,rdacm20 |
| - imi,rdacm21 |
| |
| reg: |
| description: -| |
| I2C device addresses, the first to be assigned to the serializer, the |
| following ones to be assigned to the remote devices. |
| |
| For RDACM20 the second entry of the property is assigned to the |
| OV10635 image sensor and the optional third one to the embedded MCU. |
| |
| For RDACM21 the second entry is assigned to the OV490 ISP and the optional |
| third one ignored. |
| |
| minItems: 2 |
| maxItems: 3 |
| |
| port: |
| type: object |
| additionalProperties: false |
| description: -| |
| Connection to the remote GMSL endpoint are modelled using the OF graph |
| bindings in accordance with the video interface bindings defined in |
| Documentation/devicetree/bindings/media/video-interfaces.txt. |
| |
| The device node contains a single "port" child node with a single |
| "endpoint" sub-device. |
| |
| properties: |
| endpoint: |
| type: object |
| additionalProperties: false |
| |
| properties: |
| remote-endpoint: |
| description: -| |
| phandle to the remote GMSL endpoint sub-node in the remote node |
| port. |
| maxItems: 1 |
| |
| required: |
| - remote-endpoint |
| |
| required: |
| - endpoint |
| |
| required: |
| - compatible |
| - reg |
| - port |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| i2c@e66d8000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| reg = <0 0xe66d8000>; |
| |
| camera@31 { |
| compatible = "imi,rdacm20"; |
| reg = <0x31>, <0x41>, <0x51>; |
| |
| port { |
| rdacm20_out0: endpoint { |
| remote-endpoint = <&max9286_in0>; |
| }; |
| }; |
| }; |
| }; |
| |
| - | |
| i2c@e66d8000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| reg = <0 0xe66d8000>; |
| |
| camera@31 { |
| compatible = "imi,rdacm21"; |
| reg = <0x31>, <0x41>; |
| |
| port { |
| rdacm21_out0: endpoint { |
| remote-endpoint = <&max9286_in0>; |
| }; |
| }; |
| }; |
| }; |