On Wed, Jun 03, 2026 at 01:30:39AM +0200, David Heidelberg wrote: > Read PHY configuration from the device-tree bus-type and save it into > the csiphy structure for later use. > > For C-PHY, skip clock line configuration, as there is none. > > Acked-by: Cory Keitz <[email protected]> > Reviewed-by: Bryan O'Donoghue <[email protected]> > Signed-off-by: David Heidelberg <[email protected]> > ---
Reviewed-by: Frank Li <[email protected]> > drivers/media/platform/qcom/camss/camss-csiphy.h | 2 ++ > drivers/media/platform/qcom/camss/camss.c | 8 ++++++-- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.h > b/drivers/media/platform/qcom/camss/camss-csiphy.h > index 9d9657b82f748..2ebb307be18ba 100644 > --- a/drivers/media/platform/qcom/camss/camss-csiphy.h > +++ b/drivers/media/platform/qcom/camss/camss-csiphy.h > @@ -25,21 +25,23 @@ > > struct csiphy_lane { > u8 pos; > u8 pol; > }; > > /** > * struct csiphy_lanes_cfg - CSIPHY lanes configuration > + * @phy_cfg: interface selection (C-PHY or D-PHY) > * @num_data: number of data lanes > * @data: data lanes configuration > * @clk: clock lane configuration (only for D-PHY) > */ > struct csiphy_lanes_cfg { > + enum v4l2_mbus_type phy_cfg; > int num_data; > struct csiphy_lane *data; > struct csiphy_lane clk; > }; > > struct csiphy_csi2_cfg { > struct csiphy_lanes_cfg lane_cfg; > }; > diff --git a/drivers/media/platform/qcom/camss/camss.c > b/drivers/media/platform/qcom/camss/camss.c > index 2123f6388e3d7..072c428e25166 100644 > --- a/drivers/media/platform/qcom/camss/camss.c > +++ b/drivers/media/platform/qcom/camss/camss.c > @@ -4761,19 +4761,23 @@ static int camss_parse_endpoint_node(struct device > *dev, > if (vep.bus_type != V4L2_MBUS_CSI2_DPHY) { > dev_err(dev, "Unsupported bus type %d\n", vep.bus_type); > return -EINVAL; > } > > csd->interface.csiphy_id = vep.base.port; > > mipi_csi2 = &vep.bus.mipi_csi2; > - lncfg->clk.pos = mipi_csi2->clock_lane; > - lncfg->clk.pol = mipi_csi2->lane_polarities[0]; > lncfg->num_data = mipi_csi2->num_data_lanes; > + lncfg->phy_cfg = vep.bus_type; > + > + if (lncfg->phy_cfg != V4L2_MBUS_CSI2_CPHY) { > + lncfg->clk.pos = mipi_csi2->clock_lane; > + lncfg->clk.pol = mipi_csi2->lane_polarities[0]; > + } > > lncfg->data = devm_kcalloc(dev, > lncfg->num_data, sizeof(*lncfg->data), > GFP_KERNEL); > if (!lncfg->data) > return -ENOMEM; > > for (i = 0; i < lncfg->num_data; i++) { > > -- > 2.53.0 >

