lkml.org 
[lkml]   [2020]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v8 3/4] dt-bindings: media: i2c: Add bindings for IMI RDACM2x
    On Fri, Apr 17, 2020 at 11:34:23AM +0100, Kieran Bingham wrote:
    > From: Jacopo Mondi <jacopo+renesas@jmondi.org>
    >
    > The IMI RDACM20 and IMI RDACM21 are Gigabit Multimedia Serial Link (GMSL) camera
    > capable of transmitting video and I2C control messages on a coax cable
    > physical link for automotive applications.
    >
    > Document their device tree bindings.
    >
    > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
    > Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    >
    > ---
    > v2:
    > - Provide imi vendor prefix
    > - Fix minor spelling
    >
    > v3:
    > - update binding descriptions
    >
    > v4:
    > - No change
    >
    > v5:
    > - Specify optional third reg address for the MCU
    >
    > v7:
    > [Jacopo]
    > - Rename to imi,rdacm2x-gmsl.yaml
    > - Exand bindings to describe RDACM21
    > ---
    > .../bindings/media/i2c/imi,rdacm2x-gmsl.yaml | 161 ++++++++++++++++++
    > .../devicetree/bindings/vendor-prefixes.yaml | 2 +
    > 2 files changed, 163 insertions(+)
    > create mode 100644 Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
    >
    > diff --git a/Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml b/Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
    > new file mode 100644
    > index 000000000000..8476e99b46b5
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
    > @@ -0,0 +1,161 @@
    > +# 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:
    > + oneOf:
    > + - items:
    > + - enum:

    You can drop oneOf and items.

    > + - 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
    > +
    > +examples:
    > + - |
    > + i2c@e66d8000 {
    > + #address-cells = <1>;
    > + #size-cells = <0>;
    > +
    > + reg = <0 0xe66d8000 0 0x40>;
    > +
    > + 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 0 0x40>;
    > +
    > + camera@31 {
    > + compatible = "imi,rdacm21";
    > + reg = <0x31>, <0x41>;
    > +
    > + port {
    > + rdacm21_out0: endpoint {
    > + remote-endpoint = <&max9286_in0>;
    > + };
    > + };
    > + };
    > + };
    > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
    > index d3891386d671..dcbecdc58731 100644
    > --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
    > +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
    > @@ -453,6 +453,8 @@ patternProperties:
    > description: Ingenieurburo Fur Ic-Technologie (I/F/I)
    > "^ilitek,.*":
    > description: ILI Technology Corporation (ILITEK)
    > + "^imi,.*":
    > + description: Integrated Micro-Electronics Inc.
    > "^img,.*":

    Alphabetical order...

    With those fixes,

    Reviewed-by: Rob Herring <robh@kernel.org>

    \
     
     \ /
      Last update: 2020-04-30 03:44    [W:3.605 / U:0.496 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site