Re: Few Doubts on adding DT nodes for bridge driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Prabhakar

On Sun, 21 Jul 2013, Prabhakar Lad wrote:

> 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?

Yes, you can use something like of_parse_phandle().

Thanks
Guennadi

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

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux