media: v4l: fwnode: Obtain data bus type from FW
authorSakari Ailus <sakari.ailus@iki.fi>
Wed, 25 Feb 2015 19:51:01 +0000 (14:51 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 19 Jul 2017 19:31:45 +0000 (15:31 -0400)
Just obtain it. It'll actually get used soon with CSI-1/CCP2.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/v4l2-core/v4l2-fwnode.c

index 8df26010d0063e93629bfde97664d9494170a74a..d71dd3913cd96fddd6e4398e4222fb5a4722e293 100644 (file)
 
 #include <media/v4l2-fwnode.h>
 
+enum v4l2_fwnode_bus_type {
+       V4L2_FWNODE_BUS_TYPE_GUESS = 0,
+       V4L2_FWNODE_BUS_TYPE_CSI2_CPHY,
+       V4L2_FWNODE_BUS_TYPE_CSI1,
+       V4L2_FWNODE_BUS_TYPE_CCP2,
+       NR_OF_V4L2_FWNODE_BUS_TYPE,
+};
+
 static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
                                               struct v4l2_fwnode_endpoint *vep)
 {
@@ -168,6 +176,7 @@ static void v4l2_fwnode_endpoint_parse_parallel_bus(
 int v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
                               struct v4l2_fwnode_endpoint *vep)
 {
+       u32 bus_type = 0;
        int rval;
 
        fwnode_graph_parse_endpoint(fwnode, &vep->base);
@@ -176,6 +185,8 @@ int v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
        memset(&vep->bus_type, 0, sizeof(*vep) -
               offsetof(typeof(*vep), bus_type));
 
+       fwnode_property_read_u32(fwnode, "bus-type", &bus_type);
+
        rval = v4l2_fwnode_endpoint_parse_csi2_bus(fwnode, vep);
        if (rval)
                return rval;