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

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

media: v4l: fwnode: Support driver-defined lane mapping defaults



Make use of the default CSI-2 lane mapping from caller-passed
configuration.

Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: default avatarSteve Longerbeam <steve_longerbeam@mentor.com>
Tested-by: default avatarJacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent af11a74a
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -55,10 +55,14 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
	u32 v;
	int rval;

	if (bus_type == V4L2_FWNODE_BUS_TYPE_CSI2_DPHY)
	if (bus_type == V4L2_FWNODE_BUS_TYPE_CSI2_DPHY) {
		num_data_lanes = min_t(u32, bus->num_data_lanes,
				       V4L2_FWNODE_CSI2_MAX_DATA_LANES);

		for (i = 0; i < num_data_lanes; i++)
			array[i] = bus->data_lanes[i];
	}

	rval = fwnode_property_read_u32_array(fwnode, "data-lanes", NULL, 0);
	if (rval > 0) {
		num_data_lanes =
@@ -66,6 +70,7 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,

		fwnode_property_read_u32_array(fwnode, "data-lanes", array,
					       num_data_lanes);
	}

	for (i = 0; i < num_data_lanes; i++) {
		if (lanes_used & BIT(array[i]))
@@ -75,7 +80,6 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,

		pr_debug("lane %u position %u\n", i, array[i]);
	}
	}

	rval = fwnode_property_read_u32_array(fwnode, "lane-polarities", NULL,
					      0);