linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* TI Deserializer DT node configuration
@ 2019-11-26 15:55 Stuvart S
  2019-11-26 16:11 ` Baruch Siach
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Stuvart S @ 2019-11-26 15:55 UTC (permalink / raw)
  To: linux-media

Hello team,

I am integrating DS90UB964 deserializer into my custom board based on
Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
four serializers as DS90UB913 and cameras OV10635.

Can any one please help with the following?

How Deserializer connects to Serializer in DT node?I came accross
about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
not using any i2c switches.
Any DT example is helpful for me

Regards
Stuvart

-- 
                        --- Come    Let's enjoy the world of Open Source  ---


Best regards,
Stuvart

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

* Re: TI Deserializer DT node configuration
  2019-11-26 15:55 TI Deserializer DT node configuration Stuvart S
@ 2019-11-26 16:11 ` Baruch Siach
  2019-11-26 16:17   ` Stuvart S
  2019-11-26 16:52 ` Vladimir Zapolskiy
       [not found] ` <42a4508d-c199-4ab0-0c62-7387be3b8d55@ideasonboard.com>
  2 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2019-11-26 16:11 UTC (permalink / raw)
  To: Stuvart S; +Cc: linux-media

Hi Stuvart,

On Tue, Nov 26, 2019 at 09:25:48PM +0530, Stuvart S wrote:
> I am integrating DS90UB964 deserializer into my custom board based on
> Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
> four serializers as DS90UB913 and cameras OV10635.
> 
> Can any one please help with the following?
> 
> How Deserializer connects to Serializer in DT node?I came accross
> about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
> not using any i2c switches.
> Any DT example is helpful for me

You might find this Luca Ceresoli ELCE talk interesting:

  https://www.youtube.com/watch?v=7hLv6fYAW-E

Slides: https://elinux.org/images/f/fc/Ceresoli-elce2019-video-serdes-linux.pdf

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

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

* Re: TI Deserializer DT node configuration
  2019-11-26 16:11 ` Baruch Siach
@ 2019-11-26 16:17   ` Stuvart S
  0 siblings, 0 replies; 8+ messages in thread
From: Stuvart S @ 2019-11-26 16:17 UTC (permalink / raw)
  To: Baruch Siach; +Cc: linux-media

Thank you Baruch for the quick response. I will check it out definitely

On Tue, 26 Nov 2019 at 21:41, Baruch Siach <baruch@tkos.co.il> wrote:
>
> Hi Stuvart,
>
> On Tue, Nov 26, 2019 at 09:25:48PM +0530, Stuvart S wrote:
> > I am integrating DS90UB964 deserializer into my custom board based on
> > Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
> > four serializers as DS90UB913 and cameras OV10635.
> >
> > Can any one please help with the following?
> >
> > How Deserializer connects to Serializer in DT node?I came accross
> > about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
> > not using any i2c switches.
> > Any DT example is helpful for me
>
> You might find this Luca Ceresoli ELCE talk interesting:
>
>   https://www.youtube.com/watch?v=7hLv6fYAW-E
>
> Slides: https://elinux.org/images/f/fc/Ceresoli-elce2019-video-serdes-linux.pdf
>
> baruch
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
>    - baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -



-- 
                        --- Come    Let's enjoy the world of Open Source  ---


Best regards,
Stuvart

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

* Re: TI Deserializer DT node configuration
  2019-11-26 15:55 TI Deserializer DT node configuration Stuvart S
  2019-11-26 16:11 ` Baruch Siach
@ 2019-11-26 16:52 ` Vladimir Zapolskiy
  2019-11-26 17:34   ` Stuvart S
       [not found] ` <42a4508d-c199-4ab0-0c62-7387be3b8d55@ideasonboard.com>
  2 siblings, 1 reply; 8+ messages in thread
From: Vladimir Zapolskiy @ 2019-11-26 16:52 UTC (permalink / raw)
  To: Stuvart S; +Cc: linux-media

Hello Stuvart,

On 11/26/19 5:55 PM, Stuvart S wrote:
> Hello team,
> 
> I am integrating DS90UB964 deserializer into my custom board based on
> Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
> four serializers as DS90UB913 and cameras OV10635.
> 
> Can any one please help with the following?
> 
> How Deserializer connects to Serializer in DT node?I came accross
> about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
> not using any i2c switches.
> Any DT example is helpful for me
> 

once in the past I've shared the essential part of my device drivers
and the device tree configuration of connecting a serializer/deserializer
to a display panel [1][2]. Unfortunately for dealing with camera sensors
there should be one more device driver present, and MIPI CSI-2 controllers
are very specific to particular deserializer/serializer ICs.

Both TI DS90UB964 and DS90UB913 are supported in my driver suite,
however your hardware configuration may require some adjustments, also
note that my selected approach is different from Luca's one, and to my
knowledge anyone's published work is still under development.

I feel I have to find more time and complete the driver series,
the precondition is quite difficult though...

[1] https://lore.kernel.org/lkml/f0a52a64-a7e7-b266-a402-1279036fad36@mleia.com/
[2] https://lore.kernel.org/lkml/20181012060314.GU4939@dell/T/#mead5ea226550b6f0

Slides for introduction into the patch series:

* https://schd.ws/hosted_files/ossalsjp18/8a/vzapolskiy_als2018.pdf
* https://events19.linuxfoundation.org/wp-content/uploads/2018/07/Vladimir_Zapolskiy_Bridging.pdf

Hope it helps.

--
Best wishes,
Vladimir

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

* Re: TI Deserializer DT node configuration
  2019-11-26 16:52 ` Vladimir Zapolskiy
@ 2019-11-26 17:34   ` Stuvart S
  0 siblings, 0 replies; 8+ messages in thread
From: Stuvart S @ 2019-11-26 17:34 UTC (permalink / raw)
  To: Vladimir Zapolskiy; +Cc: linux-media

Hello Vladimir,

Thank you for the information. I will check the links shared.

> Unfortunately for dealing with camera sensors there should be one more device driver present

sure,I am using OV10635 as my sensor.I think the info provided will
help me as it is something hard to get in touch with the remote I2C
part and its DT configuration according to me

I will try it and and will revert back soon

Regards
Stuvart

On Tue, 26 Nov 2019 at 22:22, Vladimir Zapolskiy <vz@mleia.com> wrote:
>
> Hello Stuvart,
>
> On 11/26/19 5:55 PM, Stuvart S wrote:
> > Hello team,
> >
> > I am integrating DS90UB964 deserializer into my custom board based on
> > Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
> > four serializers as DS90UB913 and cameras OV10635.
> >
> > Can any one please help with the following?
> >
> > How Deserializer connects to Serializer in DT node?I came accross
> > about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
> > not using any i2c switches.
> > Any DT example is helpful for me
> >
>
> once in the past I've shared the essential part of my device drivers
> and the device tree configuration of connecting a serializer/deserializer
> to a display panel [1][2]. Unfortunately for dealing with camera sensors
> there should be one more device driver present, and MIPI CSI-2 controllers
> are very specific to particular deserializer/serializer ICs.
>
> Both TI DS90UB964 and DS90UB913 are supported in my driver suite,
> however your hardware configuration may require some adjustments, also
> note that my selected approach is different from Luca's one, and to my
> knowledge anyone's published work is still under development.
>
> I feel I have to find more time and complete the driver series,
> the precondition is quite difficult though...
>
> [1] https://lore.kernel.org/lkml/f0a52a64-a7e7-b266-a402-1279036fad36@mleia.com/
> [2] https://lore.kernel.org/lkml/20181012060314.GU4939@dell/T/#mead5ea226550b6f0
>
> Slides for introduction into the patch series:
>
> * https://schd.ws/hosted_files/ossalsjp18/8a/vzapolskiy_als2018.pdf
> * https://events19.linuxfoundation.org/wp-content/uploads/2018/07/Vladimir_Zapolskiy_Bridging.pdf
>
> Hope it helps.
>
> --
> Best wishes,
> Vladimir



-- 
                        --- Come    Let's enjoy the world of Open Source  ---


Best regards,
Stuvart

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

* RE: TI Deserializer DT node configuration
       [not found]     ` <CAAMGra7AVGYSHcqJ1sW30H9ChiSRQq4Tfpx2yfBUkrF4Qf6mEQ@mail.gmail.com>
@ 2020-01-15  8:45       ` Anjali S S
  2020-01-15  8:49       ` Anjali S S
  2020-01-15  8:59       ` Anjali S S
  2 siblings, 0 replies; 8+ messages in thread
From: Anjali S S @ 2020-01-15  8:45 UTC (permalink / raw)
  To: kieran.bingham, linux-media,
	Vladimir Barinov <vladimir.barinov@cogentembedded.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Stuvart S <lovelinuxdeeply@gmail.com>

Hi Stuvart,

Thank you for mentioning me.

Hi Team and Barinov,

Sorry for the late response. Updating the progess of our work.
PFB the current status and also the customized devicetree.

root@Alpha:~i2cdetect -y -r 6
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- 0c 0d 0e 0f
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --


 DTS file Modification:

&i2c6 {

pinctrl-0 = <&i2c6_pins>;

pinctrl-names = "default";

status = "okay";

clock-frequency = <400000>;


//TI-DESER

ov106xx@0 {
compatible = "ovti,ov106xx";
reg = <0x60>;
port@0 {
ov106xx_in0: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin0ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep0: endpoint@1 {
remote-endpoint = <&ti964_des0ep0>;
};

};
};
ov106xx@1 {
compatible = "ovti,ov106xx";
reg = <0x61>;
port@0 {
ov106xx_in1: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin1ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep1: endpoint@1 {
remote-endpoint = <&ti964_des0ep1>;
};

};
};
ov106xx@2 {
compatible = "ovti,ov106xx";
reg = <0x62>;
port@0 {
ov106xx_in2: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin2ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep2: endpoint@1 {
remote-endpoint = <&ti964_des0ep2>;
};
};
};
ov106xx@3 {
compatible = "ovti,ov106xx";
reg = <0x63>;
port@0 {
ov106xx_in3: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin3ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep3: endpoint@1 {
remote-endpoint = <&ti964_des0ep3>;
};
};
};
/* DS90UB964 @ 0x30 */
ti9x4:ti9x4@30 {

compatible = "ti,ti9x4";
reg = <0x30>;
ti,sensor_delay = <350>;
ti,links = <1>;
ti,lanes = <1>;
ti,forwarding-mode = "round-robin";
ti,stp = <0>;
ti,dvp_bus=<10>;
ti,hsync=<0>;
ti,vsync=<1>;
ti,ser_id=<0x58>;
ti,poc-delay=<50>;

port@0 {
ti964_des0ep0: endpoint@0 {
ti9x3-addr = <0x0c>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in0>;
};
ti964_des0ep1: endpoint@1 {
ti9x3-addr = <0x0d>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in1>;
};
ti964_des0ep2: endpoint@2 {
ti9x3-addr = <0x0e>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in2>;
};
ti964_des0ep3: endpoint@3 {
ti9x3-addr = <0x0f>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in3>;
};
};
port@1 {
ti964_csi0ep0: endpoint {
csi-rate = <800>;
remote-endpoint = <&csi40_ep>;
};
};
};

};


Any suggestion is much more appreciated

Regards,
Anjali S S

From: Stuvart S
Sent: 10 January 2020 10:53
To: kieran.bingham@ideasonboard.com; linux-media@vger.kernel.org
Cc: Laurent Pinchart; Vladimir Barinov; Anjali S S
Subject: Re: TI Deserializer DT node configuration


**This is an external email. Please check the sender's full email address (not just the sender name) and exercise caution before you respond or click any embedded link/attachment.**

Hello team,

Sorry for the long delay happend.Actually I am in the work bench for the last few weeks.We have made some progress on this.Now,Deserializer,serializer,Cameras all are detected

We are following Barinov's approach who is CC ed here with.Also since I am little busy with some other task,I have included my colleague Anjali in this mail chain.She can share the latest log and update the progress.

Thank you guys in advance.

On Tue, 26 Nov, 2019, 11:24 PM Stuvart S, <lovelinuxdeeply@gmail.com> wrote:
Hi kieran,
> Do you need assistance on this topic in the shorter term to get a functional system?

yea I need and will be in touch with you for the further assistance

Regards

On Tue, 26 Nov 2019 at 22:22, Kieran Bingham
<kieran.bingham@ideasonboard.com> wrote:
>
> Hi Stuvart,
>
> On 26/11/2019 15:55, Stuvart S wrote:
> > Hello team,
> >
> > I am integrating DS90UB964 deserializer into my custom board based on
> > Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my
> > four serializers as DS90UB913 and cameras OV10635.
>
> This sounds like an interesting project.
>
> Our team maintains the RCar H3 multimedia drivers on behalf of Renesas,
> and we have an equivalent system based upon the GMSL (Maxim)
> (de-)serialisers which we have been developing for Renesas.
>
> Can you expand on your use case at all?
>
> Are you creating a product for automotive use cases?
> Or is this something more specific?
>
> Have you selected existing camera modules, or are they also custom designed?
>
> > Can any one please help with the following?
> >
> > How Deserializer connects to Serializer in DT node?I came accross
> > about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am
> > not using any i2c switches.
>
> The serializer and deserializer usually use I2C as the means of
> programming their registers.
>
> You mention that your deserializer is connected on i2c6, this will allow
> communication with the cameras through the deserializer, and serializer
> on a reverse-channel path over I2C. (The cameras are the "remote i2c"
> devices)
>
> With multiple cameras connected to a single interface chip, which
> bridges the I2C channel, means that in effect, the deserializer acts as
> an i2c-mux.
>
> The term i2c-atr is in regards to needing address translation, as each
> camera will be available with identical addressing, whilst logically
> connected to the same bus.
>
>
> > Any DT example is helpful for me
>
> This topic requires support in linux-media/V4L2 which is not currently
> upstreamed.
>
> Any example is dependant upon the code you are basing your development
> on. Have you taken any development branch as an example starting point?
> Or are you using the BSP from Renesas?
>
> Myself, and the rest of our team have been developing support for
> multiplexed streams over CSI2, and working towards getting an upstream
> compatible solution, though it will take some time to get a result
> integrated into the upstream linux tree.
>
> Do you need assistance on this topic in the shorter term to get a
> functional system? If so I believe we could be of some help with our
> specific experience and expertise in this topic.
>
> --
> Regards
> --
> Kieran



--
                        --- Come    Let's enjoy the world of Open Source  ---


Best regards,
Stuvart

________________________________
 Disclaimer: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient of this message , or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Email transmission cannot be guaranteed to be secure or error-free, as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender, therefore, does not accept liability for any errors, omissions or contaminations in the contents of this message which might have occurred as a result of email transmission. If verification is required, please request for a hard-copy version.
________________________________

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

* Re: TI Deserializer DT node configuration
       [not found]     ` <CAAMGra7AVGYSHcqJ1sW30H9ChiSRQq4Tfpx2yfBUkrF4Qf6mEQ@mail.gmail.com>
  2020-01-15  8:45       ` Anjali S S
@ 2020-01-15  8:49       ` Anjali S S
  2020-01-15  8:59       ` Anjali S S
  2 siblings, 0 replies; 8+ messages in thread
From: Anjali S S @ 2020-01-15  8:49 UTC (permalink / raw)
  To: Stuvart S, kieran.bingham, linux-media, Laurent Pinchart,
	Vladimir Barinov

Hi Stuvart,
Thank you for mentioning me.

Hi Team , Barinov,
Sorry for the late response. Updating the progress of our work.
PFB the current status and also the customized devicetree.

root@Alpha:~i2cdetect -y -r 6
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- 0c 0d 0e 0f
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --


 DTS file Modification:

&i2c6 {

pinctrl-0 = <&i2c6_pins>;

pinctrl-names = "default";

status = "okay";

clock-frequency = <400000>;


//TI-DESER

ov106xx@0 {
compatible = "ovti,ov106xx";
reg = <0x60>;
port@0 {
ov106xx_in0: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin0ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep0: endpoint@1 {
remote-endpoint = <&ti964_des0ep0>;
};

};
};
ov106xx@1 {
compatible = "ovti,ov106xx";
reg = <0x61>;
port@0 {
ov106xx_in1: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin1ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep1: endpoint@1 {
remote-endpoint = <&ti964_des0ep1>;
};

};
};
ov106xx@2 {
compatible = "ovti,ov106xx";
reg = <0x62>;
port@0 {
ov106xx_in2: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin2ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep2: endpoint@1 {
remote-endpoint = <&ti964_des0ep2>;
};
};
};
ov106xx@3 {
compatible = "ovti,ov106xx";
reg = <0x63>;
port@0 {
ov106xx_in3: endpoint {
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
remote-endpoint = <&vin3ep0>;
};
};
port@1 {

ov106xx_ti964_des0ep3: endpoint@1 {
remote-endpoint = <&ti964_des0ep3>;
};
};
};
/* DS90UB964 @ 0x30 */
ti9x4:ti9x4@30 {

compatible = "ti,ti9x4";
reg = <0x30>;
ti,sensor_delay = <350>;
ti,links = <1>;
ti,lanes = <1>;
ti,forwarding-mode = "round-robin";
ti,stp = <0>;
ti,dvp_bus=<10>;
ti,hsync=<0>;
ti,vsync=<1>;
ti,ser_id=<0x58>;
ti,poc-delay=<50>;

port@0 {
ti964_des0ep0: endpoint@0 {
ti9x3-addr = <0x0c>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in0>;
};
ti964_des0ep1: endpoint@1 {
ti9x3-addr = <0x0d>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in1>;
};
ti964_des0ep2: endpoint@2 {
ti9x3-addr = <0x0e>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in2>;
};
ti964_des0ep3: endpoint@3 {
ti9x3-addr = <0x0f>;
dvp-order = <0>;
remote-endpoint = <&ov106xx_in3>;
};
};
port@1 {
ti964_csi0ep0: endpoint {
csi-rate = <800>;
remote-endpoint = <&csi40_ep>;
};
};
};

};


Any suggestion is much more appreciated

Regards,
Anjali S S






From: Stuvart S <lovelinuxdeeply@gmail.com>

Sent: Friday, January 10, 2020 10:53 AM

To: kieran.bingham@ideasonboard.com <kieran.bingham@ideasonboard.com>; linux-media@vger.kernel.org <linux-media@vger.kernel.org>

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>; Vladimir Barinov <vladimir.barinov@cogentembedded.com>; Anjali S S <anjali.ss@tataelxsi.co.in>

Subject: Re: TI Deserializer DT node configuration






**This is an external email. Please check the sender’s full email address (not just the sender name) and exercise caution before
 you respond or click any embedded link/attachment.**



Hello team,




Sorry for the long delay happend.Actually I am in the work bench for the last few weeks.We have made some progress on this.Now,Deserializer,serializer,Cameras all are detected



We are following Barinov's approach who is CC ed here with.Also since I am little busy with some other task,I have included my colleague Anjali in this mail chain.She can share the latest log and update the progress.



Thank you guys in advance.




On Tue, 26 Nov, 2019, 11:24 PM Stuvart S, <lovelinuxdeeply@gmail.com> wrote:



Hi kieran,

> Do you need assistance on this topic in the shorter term to get a functional system?



yea I need and will be in touch with you for the further assistance



Regards



On Tue, 26 Nov 2019 at 22:22, Kieran Bingham

<kieran.bingham@ideasonboard.com> wrote:

>

> Hi Stuvart,

>

> On 26/11/2019 15:55, Stuvart S wrote:

> > Hello team,

> >

> > I am integrating DS90UB964 deserializer into my custom board based on

> > Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my

> > four serializers as DS90UB913 and cameras OV10635.

>

> This sounds like an interesting project.

>

> Our team maintains the RCar H3 multimedia drivers on behalf of Renesas,

> and we have an equivalent system based upon the GMSL (Maxim)

> (de-)serialisers which we have been developing for Renesas.

>

> Can you expand on your use case at all?

>

> Are you creating a product for automotive use cases?

> Or is this something more specific?

>

> Have you selected existing camera modules, or are they also custom designed?

>

> > Can any one please help with the following?

> >

> > How Deserializer connects to Serializer in DT node?I came accross

> > about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am

> > not using any i2c switches.

>

> The serializer and deserializer usually use I2C as the means of

> programming their registers.

>

> You mention that your deserializer is connected on i2c6, this will allow

> communication with the cameras through the deserializer, and serializer

> on a reverse-channel path over I2C. (The cameras are the "remote i2c"

> devices)

>

> With multiple cameras connected to a single interface chip, which

> bridges the I2C channel, means that in effect, the deserializer acts as

> an i2c-mux.

>

> The term i2c-atr is in regards to needing address translation, as each

> camera will be available with identical addressing, whilst logically

> connected to the same bus.

>

>

> > Any DT example is helpful for me

>

> This topic requires support in linux-media/V4L2 which is not currently

> upstreamed.

>

> Any example is dependant upon the code you are basing your development

> on. Have you taken any development branch as an example starting point?

> Or are you using the BSP from Renesas?

>

> Myself, and the rest of our team have been developing support for

> multiplexed streams over CSI2, and working towards getting an upstream

> compatible solution, though it will take some time to get a result

> integrated into the upstream linux tree.

>

> Do you need assistance on this topic in the shorter term to get a

> functional system? If so I believe we could be of some help with our

> specific experience and expertise in this topic.

>

> --

> Regards

> --

> Kieran







--

                        --- Come    Let's enjoy the world of Open Source  ---





Best regards,

Stuvart



________________________________
 Disclaimer: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient of this message , or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Email transmission cannot be guaranteed to be secure or error-free, as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender, therefore, does not accept liability for any errors, omissions or contaminations in the contents of this message which might have occurred as a result of email transmission. If verification is required, please request for a hard-copy version.
________________________________

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

* Re: TI Deserializer DT node configuration
       [not found]     ` <CAAMGra7AVGYSHcqJ1sW30H9ChiSRQq4Tfpx2yfBUkrF4Qf6mEQ@mail.gmail.com>
  2020-01-15  8:45       ` Anjali S S
  2020-01-15  8:49       ` Anjali S S
@ 2020-01-15  8:59       ` Anjali S S
  2 siblings, 0 replies; 8+ messages in thread
From: Anjali S S @ 2020-01-15  8:59 UTC (permalink / raw)
  To: kieran.bingham, linux-media, Vladimir Barinov

Hi Stuvart,

Thank you for mentioning me.

Hi Team and Barinov,

Sorry for the late response. Updating the progess of our
work.
PFB the current status and also the customized
devicetree.

root@Alpha:~i2cdetect -y -r 6
     0  1
2  3  4  5  6
7  8  9
a  b  c
d  e  f
00:          -- --
-- -- -- -- -- -- -- 0c 0d 0e 0f
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --


 DTS file
Modification:

&i2c6 {

                                pinctrl-0
= <&i2c6_pins>;

                                pinctrl-names
= "default";

                                status
= "okay";

                                clock-frequency
= <400000>;


                //TI-DESER

                ov106xx@0
{
                                compatible
= "ovti,ov106xx";
                                reg
= <0x60>;
                                port@0
{
                                                ov106xx_in0:
endpoint {
                                                                clock-lanes
= <0>;
                                                                data-lanes
= <1 2 3 4>;
                                                                remote-endpoint
= <&vin0ep0>;
                                                };
                                };
                                port@1
{

                                                ov106xx_ti964_des0ep0:
endpoint@1 {
                                                                remote-endpoint
= <&ti964_des0ep0>;
                                                };

                                };
                };
                ov106xx@1
{
                                compatible
= "ovti,ov106xx";
                                reg
= <0x61>;
                                port@0
{
                                                ov106xx_in1:
endpoint {
                                                                clock-lanes
= <0>;
                                                                data-lanes
= <1 2 3 4>;
                                                                remote-endpoint
= <&vin1ep0>;
                                                };
                                };
                                port@1
{

                                                ov106xx_ti964_des0ep1:
endpoint@1 {
                                                                remote-endpoint
= <&ti964_des0ep1>;
                                                };

                                };
                };
                ov106xx@2
{
                                compatible
= "ovti,ov106xx";
                                reg
= <0x62>;
                                port@0
{
                                                ov106xx_in2:
endpoint {
                                                                clock-lanes
= <0>;
                                                                data-lanes
= <1 2 3 4>;
                                                                remote-endpoint
= <&vin2ep0>;
                                                };
                                };
                                port@1
{

                                                ov106xx_ti964_des0ep2:
endpoint@1 {
                                                                remote-endpoint
= <&ti964_des0ep2>;
                                                };
                                };
                };
                ov106xx@3
{
                                compatible
= "ovti,ov106xx";
                                reg
= <0x63>;
                                port@0
{
                                                ov106xx_in3:
endpoint {
                                                                clock-lanes
= <0>;
                                                                data-lanes
= <1 2 3 4>;
                                                                remote-endpoint
= <&vin3ep0>;
                                                };
                                };
                                port@1
{

                                                ov106xx_ti964_des0ep3:
endpoint@1 {
                                                                remote-endpoint
= <&ti964_des0ep3>;
                                                };
                                };
                };
                /*
DS90UB964 @ 0x30 */
                ti9x4:ti9x4@30
{

                                compatible
= "ti,ti9x4";
                                reg
= <0x30>;
                                ti,sensor_delay
= <350>;
                                ti,links
= <1>;
                                ti,lanes
= <1>;
                                ti,forwarding-mode
= "round-robin";
                                ti,stp
= <0>;
                                ti,dvp_bus=<10>;
                                ti,hsync=<0>;
                                ti,vsync=<1>;
                                ti,ser_id=<0x58>;
                                ti,poc-delay=<50>;

                                port@0
{
                                                ti964_des0ep0:
endpoint@0 {
                                                                ti9x3-addr
= <0x0c>;
                                                                dvp-order
= <0>;
                                                                remote-endpoint
= <&ov106xx_in0>;
                                                };
                                                ti964_des0ep1:
endpoint@1 {
                                                                ti9x3-addr
= <0x0d>;
                                                                dvp-order
= <0>;
                                                                remote-endpoint
= <&ov106xx_in1>;
                                                };
                                                ti964_des0ep2:
endpoint@2 {
                                                                ti9x3-addr
= <0x0e>;
                                                                dvp-order
= <0>;
                                                                remote-endpoint
= <&ov106xx_in2>;
                                                };
                                                ti964_des0ep3:
endpoint@3 {
                                                                ti9x3-addr
= <0x0f>;
                                                                dvp-order
= <0>;
                                                                remote-endpoint
= <&ov106xx_in3>;
                                                };
                                };
                                port@1
{
                                                ti964_csi0ep0:
endpoint {
                                                                csi-rate
= <800>;
                                                                remote-endpoint
= <&csi40_ep>;
                                                };
                                };
                };

};


Any suggestion is much more appreciated

Regards,
Anjali S S







From: Stuvart S <lovelinuxdeeply@gmail.com>

Sent: Friday, January 10, 2020 10:53 AM

To: kieran.bingham@ideasonboard.com <kieran.bingham@ideasonboard.com>; linux-media@vger.kernel.org <linux-media@vger.kernel.org>

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>; Vladimir Barinov <vladimir.barinov@cogentembedded.com>; Anjali S S <anjali.ss@tataelxsi.co.in>

Subject: Re: TI Deserializer DT node configuration






**This is an external email. Please check the sender’s full email address (not just the sender name) and exercise caution before
 you respond or click any embedded link/attachment.**



Hello team,




Sorry for the long delay happend.Actually I am in the work bench for the last few weeks.We have made some progress on this.Now,Deserializer,serializer,Cameras all are detected



We are following Barinov's approach who is CC ed here with.Also since I am little busy with some other task,I have included my colleague Anjali in this mail chain.She can share the latest log and update the progress.



Thank you guys in advance.




On Tue, 26 Nov, 2019, 11:24 PM Stuvart S, <lovelinuxdeeply@gmail.com> wrote:



Hi kieran,

> Do you need assistance on this topic in the shorter term to get a functional system?



yea I need and will be in touch with you for the further assistance



Regards



On Tue, 26 Nov 2019 at 22:22, Kieran Bingham

<kieran.bingham@ideasonboard.com> wrote:

>

> Hi Stuvart,

>

> On 26/11/2019 15:55, Stuvart S wrote:

> > Hello team,

> >

> > I am integrating DS90UB964 deserializer into my custom board based on

> > Rcar H3 Salvator XS. Deserializer is connected in i2c6.Also I have my

> > four serializers as DS90UB913 and cameras OV10635.

>

> This sounds like an interesting project.

>

> Our team maintains the RCar H3 multimedia drivers on behalf of Renesas,

> and we have an equivalent system based upon the GMSL (Maxim)

> (de-)serialisers which we have been developing for Renesas.

>

> Can you expand on your use case at all?

>

> Are you creating a product for automotive use cases?

> Or is this something more specific?

>

> Have you selected existing camera modules, or are they also custom designed?

>

> > Can any one please help with the following?

> >

> > How Deserializer connects to Serializer in DT node?I came accross

> > about the terms remote i2c, i2c-mux,i2c-atr.but I dont understand.I am

> > not using any i2c switches.

>

> The serializer and deserializer usually use I2C as the means of

> programming their registers.

>

> You mention that your deserializer is connected on i2c6, this will allow

> communication with the cameras through the deserializer, and serializer

> on a reverse-channel path over I2C. (The cameras are the "remote i2c"

> devices)

>

> With multiple cameras connected to a single interface chip, which

> bridges the I2C channel, means that in effect, the deserializer acts as

> an i2c-mux.

>

> The term i2c-atr is in regards to needing address translation, as each

> camera will be available with identical addressing, whilst logically

> connected to the same bus.

>

>

> > Any DT example is helpful for me

>

> This topic requires support in linux-media/V4L2 which is not currently

> upstreamed.

>

> Any example is dependant upon the code you are basing your development

> on. Have you taken any development branch as an example starting point?

> Or are you using the BSP from Renesas?

>

> Myself, and the rest of our team have been developing support for

> multiplexed streams over CSI2, and working towards getting an upstream

> compatible solution, though it will take some time to get a result

> integrated into the upstream linux tree.

>

> Do you need assistance on this topic in the shorter term to get a

> functional system? If so I believe we could be of some help with our

> specific experience and expertise in this topic.

>

> --

> Regards

> --

> Kieran







--

                        --- Come    Let's enjoy the world of Open Source  ---





Best regards,

Stuvart



________________________________
 Disclaimer: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient of this message , or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited. Email transmission cannot be guaranteed to be secure or error-free, as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender, therefore, does not accept liability for any errors, omissions or contaminations in the contents of this message which might have occurred as a result of email transmission. If verification is required, please request for a hard-copy version.
________________________________

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

end of thread, other threads:[~2020-01-15  9:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-26 15:55 TI Deserializer DT node configuration Stuvart S
2019-11-26 16:11 ` Baruch Siach
2019-11-26 16:17   ` Stuvart S
2019-11-26 16:52 ` Vladimir Zapolskiy
2019-11-26 17:34   ` Stuvart S
     [not found] ` <42a4508d-c199-4ab0-0c62-7387be3b8d55@ideasonboard.com>
     [not found]   ` <CAAMGra4cq+hsVcG2A_-WBDiDzkBc+1t8JjEJEhXd8RJb6ocqiw@mail.gmail.com>
     [not found]     ` <CAAMGra7AVGYSHcqJ1sW30H9ChiSRQq4Tfpx2yfBUkrF4Qf6mEQ@mail.gmail.com>
2020-01-15  8:45       ` Anjali S S
2020-01-15  8:49       ` Anjali S S
2020-01-15  8:59       ` Anjali S S

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).