Commit c8dbe318 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

media: v4l: omap3isp: Get the parallel bus type from DT



The OMAP3 ISP supports both external and embedded BT.656 synchronization
for parallel buses. It currently gets the bus type information from the
source subdev through the .g_mbus_config() operation, but should instead
get it from DT as that's the authoritative source of bus configuration
information.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 52740975
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2042,6 +2042,7 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode,
			!!(vep.bus.parallel.flags & V4L2_MBUS_FIELD_EVEN_LOW);
		buscfg->bus.parallel.data_pol =
			!!(vep.bus.parallel.flags & V4L2_MBUS_DATA_ACTIVE_LOW);
		buscfg->bus.parallel.bt656 = vep.bus_type == V4L2_MBUS_BT656;
		break;

	case ISP_OF_PHY_CSIPHY1:
+1 −7
Original line number Diff line number Diff line
@@ -1139,15 +1139,9 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
	pad = media_entity_remote_pad(&ccdc->pads[CCDC_PAD_SINK]);
	sensor = media_entity_to_v4l2_subdev(pad->entity);
	if (ccdc->input == CCDC_INPUT_PARALLEL) {
		struct v4l2_mbus_config cfg;
		int ret;

		ret = v4l2_subdev_call(sensor, video, g_mbus_config, &cfg);
		if (!ret)
			ccdc->bt656 = cfg.type == V4L2_MBUS_BT656;

		parcfg = &((struct isp_bus_cfg *)sensor->host_priv)
			->bus.parallel;
		ccdc->bt656 = parcfg->bt656;
	}

	/* CCDC_PAD_SINK */
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ enum isp_interface_type {
 *		0 - Positive, 1 - Negative
 * @data_pol: Data polarity
 *		0 - Normal, 1 - One's complement
 * @bt656: Data contain BT.656 embedded synchronization
 */
struct isp_parallel_cfg {
	unsigned int data_lane_shift:3;
@@ -54,6 +55,7 @@ struct isp_parallel_cfg {
	unsigned int vs_pol:1;
	unsigned int fld_pol:1;
	unsigned int data_pol:1;
	unsigned int bt656:1;
};

enum {