Hi,

On Fri, May 25, 2018 at 04:52:35PM +0300, Sakari Ailus wrote:
> Use the "rotation" property to tell that the sensor is mounted upside
> down. This reverses the behaviour of the VFLIP and HFLIP controls as well
> as the pixel order.
> 
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reic...@collabora.co.uk>

-- Sebastian

> since v2.2:
> 
> - Fix property name in code.
> 
>  .../devicetree/bindings/media/i2c/nokia,smia.txt         |  2 ++
>  drivers/media/i2c/smiapp/smiapp-core.c                   | 16 
> ++++++++++++++++
>  2 files changed, 18 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt 
> b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> index 33f10a94c381..6f509657470e 100644
> --- a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> +++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
> @@ -29,6 +29,8 @@ Optional properties
>  - reset-gpios: XSHUTDOWN GPIO
>  - flash-leds: See ../video-interfaces.txt
>  - lens-focus: See ../video-interfaces.txt
> +- rotation: Integer property; valid values are 0 (sensor mounted upright)
> +         and 180 (sensor mounted upside down).
>  
>  
>  Endpoint node mandatory properties
> diff --git a/drivers/media/i2c/smiapp/smiapp-core.c 
> b/drivers/media/i2c/smiapp/smiapp-core.c
> index e1f8208581aa..e9e0f21efc2a 100644
> --- a/drivers/media/i2c/smiapp/smiapp-core.c
> +++ b/drivers/media/i2c/smiapp/smiapp-core.c
> @@ -2764,6 +2764,7 @@ static struct smiapp_hwconfig 
> *smiapp_get_hwconfig(struct device *dev)
>       struct v4l2_fwnode_endpoint *bus_cfg;
>       struct fwnode_handle *ep;
>       struct fwnode_handle *fwnode = dev_fwnode(dev);
> +     u32 rotation;
>       int i;
>       int rval;
>  
> @@ -2800,6 +2801,21 @@ static struct smiapp_hwconfig 
> *smiapp_get_hwconfig(struct device *dev)
>  
>       dev_dbg(dev, "lanes %u\n", hwcfg->lanes);
>  
> +     rval = fwnode_property_read_u32(fwnode, "rotation", &rotation);
> +     if (!rval) {
> +             switch (rotation) {
> +             case 180:
> +                     hwcfg->module_board_orient =
> +                             SMIAPP_MODULE_BOARD_ORIENT_180;
> +                     /* Fall through */
> +             case 0:
> +                     break;
> +             default:
> +                     dev_err(dev, "invalid rotation %u\n", rotation);
> +                     goto out_err;
> +             }
> +     }
> +
>       /* NVM size is not mandatory */
>       fwnode_property_read_u32(fwnode, "nokia,nvm-size", &hwcfg->nvm_size);
>  
> -- 
> 2.11.0
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to