Commit a91d06f4 authored by Pratyush Yadav's avatar Pratyush Yadav Committed by Hans Verkuil

media: cadence: csi2rx: Configure DPHY using link freq

Some platforms like TI's J721E can have the CSI2RX paired with an
external DPHY. Use the generic PHY framework to configure the DPHY with
the correct link frequency.
Signed-off-by: default avatarPratyush Yadav <p.yadav@ti.com>
Tested-by: default avatarJulien Massot <julien.massot@collabora.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
Co-developed-by: default avatarJai Luthra <j-luthra@ti.com>
Signed-off-by: default avatarJai Luthra <j-luthra@ti.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
parent dbca7b3c
......@@ -145,8 +145,32 @@ static void csi2rx_reset(struct csi2rx_priv *csi2rx)
static int csi2rx_configure_ext_dphy(struct csi2rx_priv *csi2rx)
{
union phy_configure_opts opts = { };
struct phy_configure_opts_mipi_dphy *cfg = &opts.mipi_dphy;
struct v4l2_subdev_format sd_fmt = {
.which = V4L2_SUBDEV_FORMAT_ACTIVE,
.pad = CSI2RX_PAD_SINK,
};
const struct csi2rx_fmt *fmt;
s64 link_freq;
int ret;
ret = v4l2_subdev_call_state_active(&csi2rx->subdev, pad, get_fmt,
&sd_fmt);
if (ret < 0)
return ret;
fmt = csi2rx_get_fmt_by_code(sd_fmt.format.code);
link_freq = v4l2_get_link_freq(csi2rx->source_subdev->ctrl_handler,
fmt->bpp, 2 * csi2rx->num_lanes);
if (link_freq < 0)
return link_freq;
ret = phy_mipi_dphy_get_default_config_for_hsclk(link_freq,
csi2rx->num_lanes, cfg);
if (ret)
return ret;
ret = phy_power_on(csi2rx->dphy);
if (ret)
return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment