linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] GMSL bindings description update
@ 2018-06-09 11:30 Jacopo Mondi
  2018-06-09 11:30 ` [RFC 1/2] dt/bindings: media: Add DT bindings for Maxim Integrated MAX9286 Jacopo Mondi
  2018-06-09 11:30 ` [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20 Jacopo Mondi
  0 siblings, 2 replies; 4+ messages in thread
From: Jacopo Mondi @ 2018-06-09 11:30 UTC (permalink / raw)
  To: kieran.bingham+renesas, laurent.pinchart, niklas.soderlund
  Cc: Jacopo Mondi, linux-media, linux-renesas-soc

Hi Kieran,
  as anticipated offline here you have an alternative bindings description
for max9286 and rdacm20 prepared before your GMSL upstreaming effort.
Sorry for not having shared this in advance.

I integrated some what you proposed in your bindings description here, feel
free to add other parts if yuo think that's the case.

Thanks
   j

Jacopo Mondi (1):
  dt-bindings: media: i2c: Add bindings for IMI RDACM20

Laurent Pinchart (1):
  dt/bindings: media: Add DT bindings for Maxim Integrated MAX9286

 .../devicetree/bindings/media/i2c/imi,rdacm20.txt  |  62 +++++++
 .../bindings/media/i2c/maxim,max9286.txt           | 180 +++++++++++++++++++++
 2 files changed, 242 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max9286.txt

--
2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [RFC 1/2] dt/bindings: media: Add DT bindings for Maxim Integrated MAX9286
  2018-06-09 11:30 [RFC 0/2] GMSL bindings description update Jacopo Mondi
@ 2018-06-09 11:30 ` Jacopo Mondi
  2018-06-09 11:30 ` [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20 Jacopo Mondi
  1 sibling, 0 replies; 4+ messages in thread
From: Jacopo Mondi @ 2018-06-09 11:30 UTC (permalink / raw)
  To: kieran.bingham+renesas, laurent.pinchart, niklas.soderlund
  Cc: Jacopo Mondi, linux-media, linux-renesas-soc, Laurent Pinchart

From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

The MAX9286 deserializes video data received on up to 4 Gigabit
Multimedia Serial Links (GMSL) and outputs them on a CSI-2 port using up
to 4 data lanes.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 .../bindings/media/i2c/maxim,max9286.txt           | 180 +++++++++++++++++++++
 1 file changed, 180 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/maxim,max9286.txt

diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.txt b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.txt
new file mode 100644
index 0000000..8c099bf
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.txt
@@ -0,0 +1,180 @@
+Maxim Integrated Quad GMSL Deserializer
+---------------------------------------
+
+The MAX9286 deserializes receives video data on up to 4 Gigabit Multimedia
+Serial Links (GMSL) and outputs them on a CSI-2 port using up to 4 data lanes.
+
+In addition to video data, the GMSL links carry a bidirectional control
+channel that encapsulates I2C messages. The MAX9286 forwards all I2C traffic
+not addressed to itself to the other side of the links, where a GMSL
+serializer will output it on a local I2C bus. In the other direction all I2C
+traffic received over GMSL by the MAX9286 is output on the local I2C bus.
+
+Required Properties:
+
+- compatible: Shall be "maxim,max9286"
+- reg: I2C device address
+
+Optional Properties:
+
+- poc-supply: Regulator providing Power over Coax to the cameras
+- pwdn-gpios: GPIO connected to the #PWDN pin
+
+Required endpoint nodes:
+-----------------------
+
+The connections to the MAX9286 GMSL and its endpoint nodes are modeled using
+the OF graph bindings in accordance with the video interface bindings defined
+in Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+The following table lists the port number corresponding to each device port.
+
+        Port            Description
+        ----------------------------------------
+        Port 0          GMSL Input 0
+        Port 1          GMSL Input 1
+        Port 2          GMSL Input 2
+        Port 3          GMSL Input 3
+        Port 4          CSI-2 Output
+
+Optional Endpoint Properties for GSML Input Ports (Port [0-3]):
+
+- remote-endpoint: phandle to the remote GMSL source endpoint subnode in the
+  remote node port.
+
+Required Endpoint Properties for CSI-2 Output Port (Port 4):
+
+- data-lanes: array of physical CSI-2 data lane indexes.
+- clock-lanes: index of CSI-2 clock lane.
+
+Required i2c-mux nodes:
+----------------------
+
+Each remote GMSL endpoint is modeled as child busses of an i2c bus
+multiplexer/switch, in accordance with bindings described in
+Documentation/devicetree/bindings/i2c/i2c-mux.txt.
+
+Required i2c child bus properties:
+- all properties described as required i2c child bus nodes properties in
+  Documentation/devicetree/bindings/i2c/i2c-mux.txt.
+
+Example:
+-------
+
+	gmsl-deserializer@2c {
+		compatible = "maxim,max9286";
+		reg = <0x2c>;
+		poc-supply = <&camera_poc_12v>;
+		pwdn-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				max9286_in0: endpoint {
+					remote-endpoint = <&rdacm20_out0>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				max9286_in1: endpoint {
+					remote-endpoint = <&rdacm20_out1>;
+				};
+			};
+
+			port@2 {
+				reg = <2>;
+				max9286_in2: endpoint {
+					remote-endpoint = <&rdacm20_out2>;
+				};
+			};
+
+			port@3 {
+				reg = <3>;
+				max9286_in3: endpoint {
+					remote-endpoint = <&rdacm20_out3>;
+				};
+			};
+
+			port@4 {
+				reg = <4>;
+				max9286_out: endpoint {
+					clock-lanes = <0>;
+					data-lanes = <1 2 3 4>;
+					remote-endpoint = <&csi40_in>;
+				};
+			};
+		};
+
+		i2c@0 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0>;
+
+			camera@51 {
+				compatible = "imi,rdacm20";
+				reg = <0x51 0x61>;
+
+				port {
+					rdacm20_out0: endpoint {
+						remote-endpoint = <&max9286_in0>;
+					};
+				};
+
+			};
+		};
+
+		i2c@1 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <1>;
+
+			camera@52 {
+				compatible = "imi,rdacm20";
+				reg = <0x52 0x62>;
+				port {
+					rdacm20_out1: endpoint {
+						remote-endpoint = <&max9286_in1>;
+					};
+				};
+			};
+		};
+
+		i2c@2 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <2>;
+
+			camera@53 {
+				compatible = "imi,rdacm20";
+				reg = <0x53 0x63>;
+				port {
+					rdacm20_out2: endpoint {
+						remote-endpoint = <&max9286_in2>;
+					};
+				};
+			};
+		};
+
+		i2c@3 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <3>;
+
+			camera@54 {
+				compatible = "imi,rdacm20";
+				reg = <0x54 0x64>;
+				port {
+					rdacm20_out3: endpoint {
+						remote-endpoint = <&max9286_in3>;
+					};
+				};
+			};
+		};
+	};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20
  2018-06-09 11:30 [RFC 0/2] GMSL bindings description update Jacopo Mondi
  2018-06-09 11:30 ` [RFC 1/2] dt/bindings: media: Add DT bindings for Maxim Integrated MAX9286 Jacopo Mondi
@ 2018-06-09 11:30 ` Jacopo Mondi
  2018-08-07  9:07   ` Kieran Bingham
  1 sibling, 1 reply; 4+ messages in thread
From: Jacopo Mondi @ 2018-06-09 11:30 UTC (permalink / raw)
  To: kieran.bingham+renesas, laurent.pinchart, niklas.soderlund
  Cc: Jacopo Mondi, linux-media, linux-renesas-soc

IMI D&D RDACM20 automotive platform is a Gigabit Multimedia Serial Link
(GMSL) camera transmitting video and I2C control messages on coax cable
physical link.

Document its device tree binding interface.

Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 .../devicetree/bindings/media/i2c/imi,rdacm20.txt  | 62 ++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt

diff --git a/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt b/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt
new file mode 100644
index 0000000..7fda068
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt
@@ -0,0 +1,62 @@
+IMI D&D RDACM20 Automotive Camera Platform
+------------------------------------------
+
+The IMI D&D RDACM20 is a GMSL-compatible camera designed for automotive
+applications. It is encloses a Maxim Integrated MAX9271 GMSL serializer, an
+Omnivision OV10635 camera sensor and an embedded MCU, and connects 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     |
+ ---------------                               --------------------------------
+
+RDACM20 transmits video data generated by the embedded camera sensor on the
+GMSL serial channel to a remote GMSL de-serializer, as well as it receives and
+transmits I2C messages encapsulated in 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 embedded camera sensor and MCU. All
+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.
+
+Required Properties:
+
+- compatible: Shall be "imi,rdacm20".
+- reg: Pair of I2C device addresses, the first to be assigned to the serializer
+  the second to be assigned to the camera sensor.
+
+Connection to the remote GMSL endpoint are modeled 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.
+
+Required endpoint properties:
+
+- remote-endpoint: phandle to the remote GMSL endpoint sub-node in the remote
+  node port.
+
+Example:
+-------
+
+	i2c@0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <0>;
+
+		camera@51 {
+			compatible = "imi,rdacm20";
+			reg = <0x51 0x61>;
+
+			port {
+				rdacm20_out0: endpoint {
+					remote-endpoint = <&max9286_in0>;
+				};
+			};
+
+		};
+	};
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20
  2018-06-09 11:30 ` [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20 Jacopo Mondi
@ 2018-08-07  9:07   ` Kieran Bingham
  0 siblings, 0 replies; 4+ messages in thread
From: Kieran Bingham @ 2018-08-07  9:07 UTC (permalink / raw)
  To: Jacopo Mondi, laurent.pinchart, niklas.soderlund
  Cc: linux-media, linux-renesas-soc

Hi Jacopo,

Thank you for sending your implementation of this. I'm dropping my DT
bindings and taking yours.


On 09/06/18 12:30, Jacopo Mondi wrote:
> IMI D&D RDACM20 automotive platform is a Gigabit Multimedia Serial Link
> (GMSL) camera transmitting video and I2C control messages on coax cable
> physical link.
> 
> Document its device tree binding interface.
> 
> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
>  .../devicetree/bindings/media/i2c/imi,rdacm20.txt  | 62 ++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt

There's no update to the vendor-prefixes here to pull in the imi prefix.
I'll bring over the version in my patch.

--
Regards

Kieran


> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt b/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt
> new file mode 100644
> index 0000000..7fda068
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/imi,rdacm20.txt
> @@ -0,0 +1,62 @@
> +IMI D&D RDACM20 Automotive Camera Platform
> +------------------------------------------
> +
> +The IMI D&D RDACM20 is a GMSL-compatible camera designed for automotive
> +applications. It is encloses a Maxim Integrated MAX9271 GMSL serializer, an
> +Omnivision OV10635 camera sensor and an embedded MCU, and connects 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     |
> + ---------------                               --------------------------------


I love the ascii art :D


> +
> +RDACM20 transmits video data generated by the embedded camera sensor on the
> +GMSL serial channel to a remote GMSL de-serializer, as well as it receives and
> +transmits I2C messages encapsulated in 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 embedded camera sensor and MCU. All
> +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.
> +
> +Required Properties:
> +
> +- compatible: Shall be "imi,rdacm20".
> +- reg: Pair of I2C device addresses, the first to be assigned to the serializer
> +  the second to be assigned to the camera sensor.
> +
> +Connection to the remote GMSL endpoint are modeled using the OF graph bindings

s/modeled/modelled/

I'll fix that one :)


> +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.
> +
> +Required endpoint properties:
> +
> +- remote-endpoint: phandle to the remote GMSL endpoint sub-node in the remote
> +  node port.
> +
> +Example:
> +-------
> +
> +	i2c@0 {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		reg = <0>;
> +
> +		camera@51 {
> +			compatible = "imi,rdacm20";
> +			reg = <0x51 0x61>;
> +
> +			port {
> +				rdacm20_out0: endpoint {
> +					remote-endpoint = <&max9286_in0>;
> +				};
> +			};
> +
> +		};
> +	};
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-08-07 11:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-09 11:30 [RFC 0/2] GMSL bindings description update Jacopo Mondi
2018-06-09 11:30 ` [RFC 1/2] dt/bindings: media: Add DT bindings for Maxim Integrated MAX9286 Jacopo Mondi
2018-06-09 11:30 ` [RFC 2/2] dt-bindings: media: i2c: Add bindings for IMI RDACM20 Jacopo Mondi
2018-08-07  9:07   ` Kieran Bingham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).