Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f9e711b authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab
Browse files

media: 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: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarSebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 691faafa
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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);