diff mbox series

[RFC,1/5] media: dt-bindings: Document 'location' property

Message ID 20190814202815.32491-2-jacopo@jmondi.org (mailing list archive)
State New, archived
Headers show
Series media: v4l2-ctrls: Add camera 'location' support | expand

Commit Message

Jacopo Mondi Aug. 14, 2019, 8:28 p.m. UTC
Add the 'location' device property, used to specify the camera device
mounting position. The property is particularly meaningful for mobile
devices with a well defined usage orientation.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
 1 file changed, 4 insertions(+)

--
2.22.0

Comments

Laurent Pinchart Aug. 14, 2019, 10:40 p.m. UTC | #1
Hi Jacopo,

Thank you for the patch.

On Wed, Aug 14, 2019 at 10:28:11PM +0200, Jacopo Mondi wrote:
> Add the 'location' device property, used to specify the camera device
> mounting position. The property is particularly meaningful for mobile
> devices with a well defined usage orientation.
> 
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> ---
>  Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
> index f884ada0bffc..819077b2649c 100644
> --- a/Documentation/devicetree/bindings/media/video-interfaces.txt
> +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> @@ -89,6 +89,10 @@ Optional properties
>    but a number of degrees counter clockwise. Typical values are 0 and 180
>    (upside down).
> 
> +- location: The camera device mounting position, relative to the device
> +  usage orientation. Possible values are:

I would mention "camera sensor" explicitly here, as well as clearly
stating that the property applies to camera sensors only.

> +  0 - Front camera. The image sensor is mounted on the front side of the device.
> +  1 - Back camera. The image sensor is mounted on the back side of the device.

An additional paragraph explained what "device usage orientation" means
would be useful. In particular I would give examples for phones, tablets
and laptops.

> 
>  Optional endpoint properties
>  ----------------------------
Sakari Ailus Aug. 15, 2019, 6:56 a.m. UTC | #2
Hi Jacopo,

On Wed, Aug 14, 2019 at 10:28:11PM +0200, Jacopo Mondi wrote:
> Add the 'location' device property, used to specify the camera device
> mounting position. The property is particularly meaningful for mobile
> devices with a well defined usage orientation.
> 
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> ---
>  Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
> index f884ada0bffc..819077b2649c 100644
> --- a/Documentation/devicetree/bindings/media/video-interfaces.txt
> +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> @@ -89,6 +89,10 @@ Optional properties
>    but a number of degrees counter clockwise. Typical values are 0 and 180
>    (upside down).
> 
> +- location: The camera device mounting position, relative to the device
> +  usage orientation. Possible values are:
> +  0 - Front camera. The image sensor is mounted on the front side of the device.
> +  1 - Back camera. The image sensor is mounted on the back side of the device.

Would it make sense to make this a little more generic? Such as s/image
sensor/ device/, for instance?

Is this also relevant for flash or lens devices?

Flash (torch) devices could be present, at least principle, without a
camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
:-)
Laurent Pinchart Aug. 15, 2019, 12:55 p.m. UTC | #3
Hi Sakari,

On Thu, Aug 15, 2019 at 09:56:35AM +0300, Sakari Ailus wrote:
> On Wed, Aug 14, 2019 at 10:28:11PM +0200, Jacopo Mondi wrote:
> > Add the 'location' device property, used to specify the camera device
> > mounting position. The property is particularly meaningful for mobile
> > devices with a well defined usage orientation.
> > 
> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> > ---
> >  Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > index f884ada0bffc..819077b2649c 100644
> > --- a/Documentation/devicetree/bindings/media/video-interfaces.txt
> > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > @@ -89,6 +89,10 @@ Optional properties
> >    but a number of degrees counter clockwise. Typical values are 0 and 180
> >    (upside down).
> > 
> > +- location: The camera device mounting position, relative to the device
> > +  usage orientation. Possible values are:
> > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > +  1 - Back camera. The image sensor is mounted on the back side of the device.
> 
> Would it make sense to make this a little more generic? Such as s/image
> sensor/ device/, for instance?
> 
> Is this also relevant for flash or lens devices?

I certainly hope that the flash or lens will be located on the same side
as the sensor... :-) It could however make sense to extend usage of this
property yet. I'm not sure I would do so already though, unless you
think all flash and lens controllers should really use it.

> Flash (torch) devices could be present, at least principle, without a
> camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> :-)
Jacopo Mondi Aug. 15, 2019, 12:55 p.m. UTC | #4
Hi Sakari,

On Thu, Aug 15, 2019 at 09:56:35AM +0300, Sakari Ailus wrote:
> Hi Jacopo,
>
> On Wed, Aug 14, 2019 at 10:28:11PM +0200, Jacopo Mondi wrote:
> > Add the 'location' device property, used to specify the camera device
> > mounting position. The property is particularly meaningful for mobile
> > devices with a well defined usage orientation.
> >
> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> > ---
> >  Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > index f884ada0bffc..819077b2649c 100644
> > --- a/Documentation/devicetree/bindings/media/video-interfaces.txt
> > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > @@ -89,6 +89,10 @@ Optional properties
> >    but a number of degrees counter clockwise. Typical values are 0 and 180
> >    (upside down).
> >
> > +- location: The camera device mounting position, relative to the device
> > +  usage orientation. Possible values are:
> > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > +  1 - Back camera. The image sensor is mounted on the back side of the device.
>
> Would it make sense to make this a little more generic? Such as s/image
> sensor/ device/, for instance?

Laurent seems to be of the opposite opinion, but i think staying as
generic as possible might be a good idea. Now I have a linguistic
problem though.

 +- location: The device mounting position, relative to the device
 +  usage orientation. Possible values are:
 +  0 - Front. The device is mounted on the front side of the device.
 +  1 - Back. The device is mounted on the back side of the device.

So I need one "device" to indicate the lens/flash/image sensor and one
to indicate the device they're installed on :) Any idea?

>
> Is this also relevant for flash or lens devices?
>
> Flash (torch) devices could be present, at least principle, without a
> camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> :-)

Not to mention that lenses are indeed installed in the same package as
the camera sensor, but they're described as separate device nodes as
flash leds are, so the mounting location might need to be specified in their
device node properties too, even if it would be the same as the image
sensor one.

>
> --
> Regards,
>
> Sakari Ailus
> sakari.ailus@linux.intel.com
Laurent Pinchart Aug. 15, 2019, 12:58 p.m. UTC | #5
On Thu, Aug 15, 2019 at 02:55:48PM +0200, Jacopo Mondi wrote:
> On Thu, Aug 15, 2019 at 09:56:35AM +0300, Sakari Ailus wrote:
> > On Wed, Aug 14, 2019 at 10:28:11PM +0200, Jacopo Mondi wrote:
> > > Add the 'location' device property, used to specify the camera device
> > > mounting position. The property is particularly meaningful for mobile
> > > devices with a well defined usage orientation.
> > >
> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> > > ---
> > >  Documentation/devicetree/bindings/media/video-interfaces.txt | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > > index f884ada0bffc..819077b2649c 100644
> > > --- a/Documentation/devicetree/bindings/media/video-interfaces.txt
> > > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > > @@ -89,6 +89,10 @@ Optional properties
> > >    but a number of degrees counter clockwise. Typical values are 0 and 180
> > >    (upside down).
> > >
> > > +- location: The camera device mounting position, relative to the device
> > > +  usage orientation. Possible values are:
> > > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > > +  1 - Back camera. The image sensor is mounted on the back side of the device.
> >
> > Would it make sense to make this a little more generic? Such as s/image
> > sensor/ device/, for instance?
> 
> Laurent seems to be of the opposite opinion, but i think staying as
> generic as possible might be a good idea. Now I have a linguistic
> problem though.
> 
>  +- location: The device mounting position, relative to the device
>  +  usage orientation. Possible values are:
>  +  0 - Front. The device is mounted on the front side of the device.
>  +  1 - Back. The device is mounted on the back side of the device.
> 
> So I need one "device" to indicate the lens/flash/image sensor and one
> to indicate the device they're installed on :) Any idea?
> 
> >
> > Is this also relevant for flash or lens devices?
> >
> > Flash (torch) devices could be present, at least principle, without a
> > camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> > :-)
> 
> Not to mention that lenses are indeed installed in the same package as
> the camera sensor, but they're described as separate device nodes as
> flash leds are, so the mounting location might need to be specified in their
> device node properties too, even if it would be the same as the image
> sensor one.

For the lens I really don't think we need it. For the flash, I envision
it will be useful to know more about its physical location relative to
the camera sensor, but that will be a displacement, not a front/back
location as the flash should really be on the same side as the camera
sensor :-) Note that, technically speaking, it will not be the location
of the flash controller itself, but of its LED (or other light source).
A flash controller could possibly control multiple LEDs, for different
sensors, and possibly on different sides of the devices, so we may need
to create subnodes for light sources in the flash controller DT node.
Pavel Machek Sept. 1, 2019, 5:24 p.m. UTC | #6
Hi!

> > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > @@ -89,6 +89,10 @@ Optional properties
> >    but a number of degrees counter clockwise. Typical values are 0 and 180
> >    (upside down).
> > 
> > +- location: The camera device mounting position, relative to the device
> > +  usage orientation. Possible values are:
> > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > +  1 - Back camera. The image sensor is mounted on the back side of the device.
> 
> Would it make sense to make this a little more generic? Such as s/image
> sensor/ device/, for instance?
> 
> Is this also relevant for flash or lens devices?
> 
> Flash (torch) devices could be present, at least principle, without a
> camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> :-)

Well, I'd call them LEDs, not camera flashes ... if there's no camera. And IIRC 
these devices had LEDs on top of the phone... so neither front nor back side.

									Pavel
Laurent Pinchart Sept. 2, 2019, 8:02 a.m. UTC | #7
Hi Pavel,

On Sun, Sep 01, 2019 at 07:24:15PM +0200, Pavel Machek wrote:
> > > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > > @@ -89,6 +89,10 @@ Optional properties
> > >    but a number of degrees counter clockwise. Typical values are 0 and 180
> > >    (upside down).
> > > 
> > > +- location: The camera device mounting position, relative to the device
> > > +  usage orientation. Possible values are:
> > > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > > +  1 - Back camera. The image sensor is mounted on the back side of the device.
> > 
> > Would it make sense to make this a little more generic? Such as s/image
> > sensor/ device/, for instance?
> > 
> > Is this also relevant for flash or lens devices?
> > 
> > Flash (torch) devices could be present, at least principle, without a
> > camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> > :-)
> 
> Well, I'd call them LEDs, not camera flashes ... if there's no camera. And IIRC 
> these devices had LEDs on top of the phone... so neither front nor back side.

I would go for the name "torch" in that case. It really depends on the
device, but in any case, the torch LEDs would have a location (and we
would possibly need to expand this property to
include the top, bottom, left and right sides).
Pavel Machek Sept. 2, 2019, 8:11 a.m. UTC | #8
On Mon 2019-09-02 11:02:11, Laurent Pinchart wrote:
> Hi Pavel,
> 
> On Sun, Sep 01, 2019 at 07:24:15PM +0200, Pavel Machek wrote:
> > > > +++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
> > > > @@ -89,6 +89,10 @@ Optional properties
> > > >    but a number of degrees counter clockwise. Typical values are 0 and 180
> > > >    (upside down).
> > > > 
> > > > +- location: The camera device mounting position, relative to the device
> > > > +  usage orientation. Possible values are:
> > > > +  0 - Front camera. The image sensor is mounted on the front side of the device.
> > > > +  1 - Back camera. The image sensor is mounted on the back side of the device.
> > > 
> > > Would it make sense to make this a little more generic? Such as s/image
> > > sensor/ device/, for instance?
> > > 
> > > Is this also relevant for flash or lens devices?
> > > 
> > > Flash (torch) devices could be present, at least principle, without a
> > > camera. There once was even such a Nokia phone, 1100 unless I'm mistaken.
> > > :-)
> > 
> > Well, I'd call them LEDs, not camera flashes ... if there's no camera. And IIRC 
> > these devices had LEDs on top of the phone... so neither front nor back side.
> 
> I would go for the name "torch" in that case. It really depends on the
> device, but in any case, the torch LEDs would have a location (and we
> would possibly need to expand this property to
> include the top, bottom, left and right sides).

Yes, but please let the torch devices be handled by LED subsystem
(/sys/class/leds). media/ subsystem is a bit too big and complex for
toggling LEDs on and off...

Thanks,
									Pavel
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
index f884ada0bffc..819077b2649c 100644
--- a/Documentation/devicetree/bindings/media/video-interfaces.txt
+++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
@@ -89,6 +89,10 @@  Optional properties
   but a number of degrees counter clockwise. Typical values are 0 and 180
   (upside down).

+- location: The camera device mounting position, relative to the device
+  usage orientation. Possible values are:
+  0 - Front camera. The image sensor is mounted on the front side of the device.
+  1 - Back camera. The image sensor is mounted on the back side of the device.

 Optional endpoint properties
 ----------------------------