Re: [PATCH v2.2 2/2] smiapp: Support the "rotation" property
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 > --- > since v2.2: > > - Fix property name in code. > > .../devicetree/bindings/media/i2c/nokia,smia.txt | 2 ++ Acked-by: Rob Herring > drivers/media/i2c/smiapp/smiapp-core.c | 16 > > 2 files changed, 18 insertions(+)
Re: [PATCH v2.2 2/2] smiapp: Support the "rotation" property
On Fri, May 25, 2018 at 04:09:55PM +0200, Sebastian Reichel wrote: > 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> > --- > > Reviewed-by: Sebastian Reichel Danke schön! -- Sakari Ailus sakari.ai...@linux.intel.com
Re: [PATCH v2.2 2/2] smiapp: Support the "rotation" property
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> --- Reviewed-by: Sebastian Reichel -- 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", ); > + 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", >nvm_size); > > -- > 2.11.0 > signature.asc Description: PGP signature
[PATCH v2.2 2/2] smiapp: Support the "rotation" property
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--- 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", ); + 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", >nvm_size); -- 2.11.0