On Fri, Oct 30, 2020 at 3:05 PM Weijie Gao <weijie....@mediatek.com> wrote: > > This patch adds USB PHY driver for MediaTek MT7620 SoC > > Signed-off-by: Weijie Gao <weijie....@mediatek.com> > --- > v2 changes: none > --- > drivers/phy/Kconfig | 7 +++ > drivers/phy/Makefile | 1 + > drivers/phy/mt7620-usb-phy.c | 113 +++++++++++++++++++++++++++++++++++ > 3 files changed, 121 insertions(+) > create mode 100644 drivers/phy/mt7620-usb-phy.c > > diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig > index d12a6b02ad..ab638f0e7d 100644 > --- a/drivers/phy/Kconfig > +++ b/drivers/phy/Kconfig > @@ -218,6 +218,13 @@ config KEYSTONE_USB_PHY > > This PHY is found on some Keystone (K2) devices supporting USB. > > +config MT7620_USB_PHY > + bool "MediaTek MT7620 USB PHY support" > + depends on PHY > + depends on SOC_MT7620 > + help > + Support the intergated USB PHY in MediaTek MT7620 SoC > + > config MT76X8_USB_PHY > bool "MediaTek MT76x8 (7628/88) USB PHY support" > depends on PHY > diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile > index 45a7fe5b56..6b3761b8c8 100644 > --- a/drivers/phy/Makefile > +++ b/drivers/phy/Makefile > @@ -24,6 +24,7 @@ obj-$(CONFIG_MESON_G12A_USB_PHY) += meson-g12a-usb2.o > meson-g12a-usb3-pcie.o > obj-$(CONFIG_MSM8916_USB_PHY) += msm8916-usbh-phy.o > obj-$(CONFIG_OMAP_USB2_PHY) += omap-usb2-phy.o > obj-$(CONFIG_KEYSTONE_USB_PHY) += keystone-usb-phy.o > +obj-$(CONFIG_MT7620_USB_PHY) += mt7620-usb-phy.o > obj-$(CONFIG_MT76X8_USB_PHY) += mt76x8-usb-phy.o > obj-$(CONFIG_PHY_DA8XX_USB) += phy-da8xx-usb.o > obj-$(CONFIG_PHY_MTK_TPHY) += phy-mtk-tphy.o > diff --git a/drivers/phy/mt7620-usb-phy.c b/drivers/phy/mt7620-usb-phy.c > new file mode 100644 > index 0000000000..59ac32f327 > --- /dev/null > +++ b/drivers/phy/mt7620-usb-phy.c > @@ -0,0 +1,113 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (C) 2020 MediaTek Inc. All Rights Reserved. > + * > + * Author: Weijie Gao <weijie....@mediatek.com> > + */ > + > +#include <clk.h> > +#include <dm.h> > +#include <generic-phy.h> > +#include <misc.h> > +#include <reset.h> > +#include <dm/device_compat.h> > +#include <linux/delay.h> > +#include <mach/mt7620-sysc.h> > + > +struct mt7620_usb_phy { > + struct udevice *dev;
Why this explicit dev required here? generic_phy_get_ calls will assign phy->dev