public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Few Doubts on adding DT nodes for bridge driver
@ 2013-07-21  6:20 Prabhakar Lad
  2013-07-21  7:42 ` Guennadi Liakhovetski
  2013-07-21  9:24 ` Sylwester Nawrocki
  0 siblings, 2 replies; 6+ messages in thread
From: Prabhakar Lad @ 2013-07-21  6:20 UTC (permalink / raw)
  To: Sylwester Nawrocki, Guennadi Liakhovetski; +Cc: linux-media

Hi Sylwester, Guennadi,

I am working on adding DT support for VPIF driver, initially to get
some hands dirty
on working on Capture driver and later will move ahead to add for the display.
I have added asynchronous probing support for the both the bridge and subdevs
which works perfectly like on a charm with passing pdata as usually,
but doing the
same with DT I have few doubts on building the pdata in the bridge driver.


This is a snippet of my subdes in i2c node:-

i2c0: i2c@1c22000 {
			status = "okay";
			clock-frequency = <100000>;
			pinctrl-names = "default";
			pinctrl-0 = <&i2c0_pins>;

			tvp514x@5c {
				compatible = "ti,tvp5146";
				reg = <0x5c>;

				port {
					tvp514x_1: endpoint {
						remote-endpoint = <&vpif_capture0_1>;
						hsync-active = <1>;
						vsync-active = <1>;
						pclk-sample = <0>;
					};
				};
			};

			tvp514x@5d {
				compatible = "ti,tvp5146";
				reg = <0x5d>;

				port {
					tvp514x_2: endpoint {
						remote-endpoint = <&vpif_capture0_0>;
						hsync-active = <1>;
						vsync-active = <1>;
						pclk-sample = <0>;
					};
				};
			};
                 ......
		};

Here tvp514x are the subdevs the platform has two of them one at 0x5c and 0x5d,
so I have added two nodes for them.

Following is DT node for the bridge driver:-

	vpif_capture@0 {
		status = "okay";
		port {
			vpif_capture0_1: endpoint@1 {
				remote = <&tvp514x_1>;
			};
			vpif_capture0_0: endpoint@0 {
				remote = <&tvp514x_2>;
			};
		};
	};
I have added two endpoints for the bridge driver. In the bridge driver
to build the pdata from DT node,I do the following,

np = v4l2_of_get_next_endpoint(pdev->dev.of_node, NULL);
The above will give the first endpoint ie, endpoint@1
>From here is it possible to get the tvp514x_1 endpoint node and the
parent of it?
so that I  build the asynchronous subdev list for the bridge driver.


+static struct v4l2_async_subdev tvp1_sd = {
+       .hw = {
+               .bus_type = V4L2_ASYNC_BUS_I2C,
+               .match.i2c = {
+                       .adapter_id = 1,
+                       .address = 0x5c,
+               },
+       },
+};

For building the asd subdev list in the bridge driver I can get the
address easily,
how do I get the adapter_id ? should this be a property subdev ? And also same
with bustype.

Regards,
--Prabhakar

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

end of thread, other threads:[~2013-07-21 13:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-21  6:20 Few Doubts on adding DT nodes for bridge driver Prabhakar Lad
2013-07-21  7:42 ` Guennadi Liakhovetski
2013-07-21  9:24 ` Sylwester Nawrocki
2013-07-21  9:47   ` Guennadi Liakhovetski
2013-07-21 13:12     ` Prabhakar Lad
2013-07-21 12:05   ` Prabhakar Lad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox