Re: Re: [PATCH v2 04/10] phy: sun4i-usb: add support for the USB PHY on F1C100s SoC

Jernej Škrabec
2022-10-13T18:25:34Z

Dne četrtek, 13. oktober 2022 ob 10:49:51 CEST je Icenowy Zheng napisal(a):
> 在 2022-10-12星期三的 23:21 +0200，Jernej Škrabec写道：
>
> > Hi Icenowy,
> >
> > Dne sreda, 12. oktober 2022 ob 07:55:56 CEST je Icenowy Zheng
> >
> > napisal(a):
> > > The F1C100s SoC has one USB OTG port connected to a MUSB
> > > controller.
> > >
> > > Add support for its USB PHY.
> > >
> > > Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> > > ---
> > > No changes since v1.
> > >
> > > drivers/phy/allwinner/phy-sun4i-usb.c | 11 +++++++++++
> > > 1 file changed, 11 insertions(+)
> > >
> > > diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c
> > > b/drivers/phy/allwinner/phy-sun4i-usb.c index
> > > 3a3831f6059a..2f94cb77637b
> > > 100644
> > > --- a/drivers/phy/allwinner/phy-sun4i-usb.c
> > > +++ b/drivers/phy/allwinner/phy-sun4i-usb.c
> > > @@ -109,6 +109,7 @@ enum sun4i_usb_phy_type {
> > > sun8i_v3s_phy,
> > > sun50i_a64_phy,
> > > sun50i_h6_phy,
> > > + suniv_f1c100s_phy,
> > > };
> > >
> > > struct sun4i_usb_phy_cfg {
> > > @@ -859,6 +860,14 @@ static int sun4i_usb_phy_probe(struct
> > > platform_device
> > > *pdev) return 0;
> > > }
> > >
> > > +static const struct sun4i_usb_phy_cfg suniv_f1c100s_cfg = {
> > > + .num_phys = 1,
> > > + .type = suniv_f1c100s_phy,
> >
> > I think you should just use sun4i_a10_phy. It has no special
> > handling. I don't
> > see a point adding new phy types if there is no special cases for it.
>
> Sounds reasonable, although I think we should finally drop .type and
> use only describing items.

That would be even better. Will you do it?

>
> > Best regards,
> > Jernej
> >
> > > + .disc_thresh = 3,
> > > + .phyctl_offset = REG_PHYCTL_A10,
> > > + .dedicated_clocks = true,
> > > +};
> > > +
> > > static const struct sun4i_usb_phy_cfg sun4i_a10_cfg = {
> > > .num_phys = 3,
> > > .type = sun4i_a10_phy,
> > > @@ -988,6 +997,8 @@ static const struct of_device_id
> > > sun4i_usb_phy_of_match[] = { { .compatible =
> > > "allwinner,sun50i-a64-usb-phy",
> > > .data = &sun50i_a64_cfg},
> > > { .compatible = "allwinner,sun50i-h6-usb-phy", .data =
> >
> > &sun50i_h6_cfg },
> >
> > > + { .compatible = "allwinner,suniv-f1c100s-usb-phy",
> > > + .data = &suniv_f1c100s_cfg },
> > > { },
> > > };
> > > MODULE_DEVICE_TABLE(of, sun4i_usb_phy_of_match);
> > > --
> > > 2.37.1