Messages in this thread |  | | Date | Fri, 3 Feb 2017 15:07:40 +0200 | From | Sakari Ailus <> | Subject | Re: [PATCH] devicetree: Add video bus switch |
| |
Hi Pavel,
My apologies for the delays in reviewing. Feel free to ping me in the future if this happens. :-)
On Fri, Feb 03, 2017 at 01:35:08PM +0100, Pavel Machek wrote: > > N900 contains front and back camera, with a switch between the > two. This adds support for the switch component, and it is now > possible to select between front and back cameras during runtime. > > This adds documentation for the devicetree binding. > > Signed-off-by: Sebastian Reichel <sre@kernel.org> > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> > Signed-off-by: Pavel Machek <pavel@ucw.cz> > > > diff --git a/Documentation/devicetree/bindings/media/video-bus-switch.txt b/Documentation/devicetree/bindings/media/video-bus-switch.txt > new file mode 100644 > index 0000000..1b9f8e0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/video-bus-switch.txt > @@ -0,0 +1,63 @@ > +Video Bus Switch Binding > +======================== > + > +This is a binding for a gpio controlled switch for camera interfaces. Such a > +device is used on some embedded devices to connect two cameras to the same > +interface of a image signal processor. > + > +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.
> +switch-gpios : GPIO specifier for the gpio, which can toggle the > + selected camera. The GPIO should be configured, so > + that a disabled GPIO means, that the first port is > + selected. > + > +Required Port nodes > +=================== > + > +More documentation on these bindings is available in > +video-interfaces.txt in the same directory. > + > +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.
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 think we need to wait for that now, but this is how the problem could be solved going forward.
> + > +Example > +======= > + > +video-bus-switch { > + compatible = "video-bus-switch" > + switch-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + csi_switch_in: endpoint { > + remote-endpoint = <&csi_isp>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + csi_switch_out1: endpoint { > + remote-endpoint = <&csi_cam1>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + > + csi_switch_out2: endpoint { > + remote-endpoint = <&csi_cam2>; > + }; > + }; > + }; > +}; > > >
-- Kind regards,
Sakari Ailus e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
|  |