Re: [PATCH V4 2/6] phy: freescale: add Samsung HDMI PHY

From: Adam Ford
Date: Wed Feb 14 2024 - 07:36:01 EST


On Wed, Feb 14, 2024 at 5:14 AM Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> wrote:
>
> On Sat, 10 Feb 2024 14:45:58 -0600
> Adam Ford <aford173@xxxxxxxxx> wrote:
>
> > From: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> >
> > This adds the driver for the Samsung HDMI PHY found on the
> > i.MX8MP SoC. Based on downstream implementation from
> > Sandor Yu <Sandor.yu@xxxxxxx>. According to the TRM, the PHY
> > receives parallel data from the link and serializes it. It
> > also sets the PLL clock needed for the TX serializer.
> >
> > Tested-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> (v2)
> > Tested-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> (v2)
> > Co-developed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > Tested-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
> > Tested-by: Frieder Schrempf <frieder.schrempf@xxxxxxxxxx> # Kontron BL
> > Tested-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
> > Signed-off-by: Adam Ford <aford173@xxxxxxxxx>
>
> [...]
>
> > +static int phy_clk_register(struct fsl_samsung_hdmi_phy *phy)
> > +{
> > + struct device *dev = phy->dev;
> > + struct device_node *np = dev->of_node;
> > + struct clk_init_data init;
> > + const char *parent_name;
> > + struct clk *phyclk;
> > + int ret;
> > +
> > + parent_name = __clk_get_name(phy->refclk);
> > +
> > + init.parent_names = &parent_name;
> > + init.num_parents = 1;
> > + init.flags = 0;
> > + init.name = "hdmi_pclk";
> > + init.ops = &phy_clk_ops;
> > +
> > + phy->hw.init = &init;
> > +
> > + phyclk = devm_clk_register(dev, &phy->hw);
> > + if (IS_ERR(phyclk))
> > + return dev_err_probe(dev, PTR_ERR(phyclk),
> > + "failed to register clock\n");
> > +
> > + ret = of_clk_add_provider(np, of_clk_src_simple_get, phyclk);
>
> As per my v8 review, this function is deprecated:
> https://elixir.bootlin.com/linux/v6.8-rc4/source/drivers/clk/clk.c#L4881
>

When I found out that the entire driver I pulled was the wrong
starting point, and noticed that this version had very little in
common with the previous one, I didn't review the feedback knowing tha
tI would have thrown away any of the tags from it since it was such a
drastic change. I should have caught it, but I missed it, so
apologies for that. I will be sure to include this feedback in the
next attempt.


> However:
>
> [Tested using Avnet MSC SM2S-IMX8PLUS SoM on Avnet MSC SM2-MB-EP1]
> Tested-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>

Thanks for testing.

adam
>
> Luca
>
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com