mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
media: v4l: fwnode: Support parsing of CSI-2 C-PHY endpoints
The V4L2 fwnode framework only parsed CSI-2 D-PHY endpoints while C-PHY support wasn't there. Also parse endpoints for media bus type V4L2_MBUS_CSI2_CPHY. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Tested-by: Steve Longerbeam <steve_longerbeam@mentor.com> Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
e7b2f5185e
commit
edc6d56c2e
1 changed files with 7 additions and 3 deletions
|
@ -145,7 +145,8 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
|
|||
u32 v;
|
||||
int rval;
|
||||
|
||||
if (bus_type == V4L2_MBUS_CSI2_DPHY) {
|
||||
if (bus_type == V4L2_MBUS_CSI2_DPHY ||
|
||||
bus_type == V4L2_MBUS_CSI2_CPHY) {
|
||||
use_default_lane_mapping = true;
|
||||
|
||||
num_data_lanes = min_t(u32, bus->num_data_lanes,
|
||||
|
@ -221,10 +222,12 @@ static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode,
|
|||
flags |= V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
|
||||
}
|
||||
|
||||
if (bus_type == V4L2_MBUS_CSI2_DPHY || lanes_used ||
|
||||
if (bus_type == V4L2_MBUS_CSI2_DPHY ||
|
||||
bus_type == V4L2_MBUS_CSI2_CPHY || lanes_used ||
|
||||
have_clk_lane || (flags & ~V4L2_MBUS_CSI2_CONTINUOUS_CLOCK)) {
|
||||
bus->flags = flags;
|
||||
vep->bus_type = V4L2_MBUS_CSI2_DPHY;
|
||||
if (bus_type == V4L2_MBUS_UNKNOWN)
|
||||
vep->bus_type = V4L2_MBUS_CSI2_DPHY;
|
||||
bus->num_data_lanes = num_data_lanes;
|
||||
|
||||
if (use_default_lane_mapping) {
|
||||
|
@ -463,6 +466,7 @@ static int __v4l2_fwnode_endpoint_parse(struct fwnode_handle *fwnode,
|
|||
|
||||
break;
|
||||
case V4L2_MBUS_CSI2_DPHY:
|
||||
case V4L2_MBUS_CSI2_CPHY:
|
||||
rval = v4l2_fwnode_endpoint_parse_csi2_bus(fwnode, vep,
|
||||
vep->bus_type);
|
||||
if (rval)
|
||||
|
|
Loading…
Reference in a new issue