[PATCH v5 2/6] phy: exynos5-usbdrd: support HS phy for ExynosAutov920
Pritam Manohar Sutar
pritam.sutar at samsung.com
Thu Aug 14 06:26:01 PDT 2025
Hi Vinod,
> -----Original Message-----
> From: Vinod Koul <vkoul at kernel.org>
> Sent: 12 August 2025 07:45 PM
> To: Pritam Manohar Sutar <pritam.sutar at samsung.com>
> Cc: kishon at kernel.org; robh at kernel.org; krzk+dt at kernel.org;
> conor+dt at kernel.org; alim.akhtar at samsung.com; andre.draszik at linaro.org;
> peter.griffin at linaro.org; kauschluss at disroot.org;
> ivo.ivanov.ivanov1 at gmail.com; igor.belwon at mentallysanemainliners.org;
> m.szyprowski at samsung.com; s.nawrocki at samsung.com; linux-
> phy at lists.infradead.org; devicetree at vger.kernel.org; linux-
> kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> samsung-soc at vger.kernel.org; rosa.pila at samsung.com;
> dev.tailor at samsung.com; faraz.ata at samsung.com;
> muhammed.ali at samsung.com; selvarasu.g at samsung.com
> Subject: Re: [PATCH v5 2/6] phy: exynos5-usbdrd: support HS phy for
> ExynosAutov920
>
> On 05-08-25, 17:22, Pritam Manohar Sutar wrote:
> > Enable UTMI+ phy support for this SoC which is very similar to what
> > the existing Exynos850 supports.
> >
> > Add required change in phy driver to support HS phy for this SoC.
> >
> > Signed-off-by: Pritam Manohar Sutar <pritam.sutar at samsung.com>
> > ---
> > drivers/phy/samsung/phy-exynos5-usbdrd.c | 123
> ++++++++++++++++++++
> > include/linux/soc/samsung/exynos-regs-pmu.h | 2 +
> > 2 files changed, 125 insertions(+)
> >
> > diff --git a/drivers/phy/samsung/phy-exynos5-usbdrd.c
> > b/drivers/phy/samsung/phy-exynos5-usbdrd.c
> > index dd660ebe8045..5400dd23e500 100644
> > --- a/drivers/phy/samsung/phy-exynos5-usbdrd.c
> > +++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c
> > @@ -2054,6 +2054,126 @@ static const struct
> exynos5_usbdrd_phy_drvdata exynos990_usbdrd_phy = {
> > .n_regulators = ARRAY_SIZE(exynos5_regulator_names),
> > };
> >
> > +static int exynosautov920_usbdrd_phy_init(struct phy *phy) {
> > + struct phy_usb_instance *inst = phy_get_drvdata(phy);
> > + struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
> > + int ret;
> > +
> > + ret = clk_bulk_prepare_enable(phy_drd->drv_data->n_clks,
> phy_drd->clks);
> > + if (ret)
> > + return ret;
> > +
> > + /* Bypass PHY isol */
> > + inst->phy_cfg->phy_isol(inst, false);
> > +
> > + /* UTMI or PIPE3 specific init */
> > + inst->phy_cfg->phy_init(phy_drd);
> > +
> > + clk_bulk_disable_unprepare(phy_drd->drv_data->n_clks,
> > +phy_drd->clks);
> > +
> > + return 0;
> > +}
> > +
> > +static int exynosautov920_usbdrd_phy_exit(struct phy *phy) {
> > + struct phy_usb_instance *inst = phy_get_drvdata(phy);
> > + struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
> > + int ret = 0;
>
> Superfluous init..
>
> > +
> > + ret = clk_bulk_prepare_enable(phy_drd->drv_data->n_clks,
> phy_drd->clks);
> > + if (ret)
> > + return ret;
> > +
> > + exynos850_usbdrd_phy_exit(phy);
> > +
> > + /* enable PHY isol */
> > + inst->phy_cfg->phy_isol(inst, true);
> > +
> > + clk_bulk_disable_unprepare(phy_drd->drv_data->n_clks,
> > +phy_drd->clks);
> > +
> > + return 0;
> > +}
> > +
> > +static int exynosautov920_usbdrd_phy_power_on(struct phy *phy) {
> > + int ret;
> > + struct phy_usb_instance *inst = phy_get_drvdata(phy);
> > + struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
>
> Reverse chrsitmas tree pls
>
> --
> ~Vinod
Will address these comments in next version of the patch-set (v6).
Thank you.
Regards,
Pritam
More information about the linux-phy
mailing list