Re: [PATCH] devicetree: Add video bus switch

Pavel Machek
2017-02-04T21:56:14Z

[-- Attachment #1: Type: text/plain, Size: 3770 bytes --]

Hi!

> > > > +Required properties
> > > > +===================
> > > > +
> > > > +compatible : must contain "video-bus-switch"
> > >
> > > How generic is this? Should we have e.g. nokia,video-bus-switch? And if so,
> > > change the file name accordingly.
> >
> > Generic for "single GPIO controls the switch", AFAICT. But that should
> > be common enough...
>
> Um, yes. Then... how about: video-bus-switch-gpio? No Nokia prefix.

Ok, done. I also fixed the english a bit.

> > > > +reg : The interface:
> > > > + 0 - port for image signal processor
> > > > + 1 - port for first camera sensor
> > > > + 2 - port for second camera sensor
> > >
> > > I'd say this must be pretty much specific to the one in N900. You could have
> > > more ports. Or you could say that ports beyond 0 are camera sensors. I guess
> > > this is good enough for now though, it can be changed later on with the
> > > source if a need arises.
> >
> > Well, I'd say that selecting between two sensors is going to be the
> > common case. If someone needs more than two, it will no longer be
> > simple GPIO, so we'll have some fixing to do.
>
> It could be two GPIOs --- that's how the GPIO I2C mux works.
>
> But I'd be surprised if someone ever uses something like that
> again. ;-)

I'd say.. lets handle that when we see hardware like that.

> > > Btw. was it still considered a problem that the endpoint properties for the
> > > sensors can be different? With the g_routing() pad op which is to be added,
> > > the ISP driver (should actually go to a framework somewhere) could parse the
> > > graph and find the proper endpoint there.
> >
> > I don't know about g_routing. I added g_endpoint_config method that
> > passes the configuration, and that seems to work for me.
> >
> > I don't see g_routing in next-20170201 . Is there place to look?
>
> I think there was a patch by Laurent to LMML quite some time ago. I suppose
> that set will be repicked soonish.
>
> I don't really object using g_endpoint_config() as a temporary solution; I'd
> like to have Laurent's opinion on that though. Another option is to wait,
> but we've already waited a looong time (as in total).

Laurent, do you have some input here? We have simple "2 cameras
connected to one signal processor" situation here. We need some way of
passing endpoint configuration from the sensors through the switch. I
did this:

> > @@ -415,6 +416,8 @@ struct v4l2_subdev_video_ops {
> > const struct v4l2_mbus_config *cfg);
> > int (*s_rx_buffer)(struct v4l2_subdev *sd, void *buf,
> > unsigned int *size);
> > + int (*g_endpoint_config)(struct v4l2_subdev *sd,
> > + struct v4l2_of_endpoint *cfg);

Google of g_routing tells me:

9) Highly reconfigurable hardware - Julien Beraud

- 44 sub-devices connected with an interconnect.
- As long as formats match, any sub-device could be connected to any
- other sub-device through a link.
- The result is 44 * 44 links at worst.
- A switch sub-device proposed as the solution to model the
- interconnect. The sub-devices are connected to the switch
- sub-devices through the hardware links that connect to the
- interconnect.
- The switch would be controlled through new IOCTLs S_ROUTING and
- G_ROUTING.
- Patches available:
http://git.linuxtv.org/cgit.cgi/pinchartl/media.git/log/?h=xilinx-wip

but the patches are from 2005. So I guess I'll need some guidance here...

> I'll reply to the other patch containing the code.

Ok, thanks.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]