On Sa, 2025-02-15 at 14:24 +0200, Ivaylo Ivanov wrote: > The Exynos2200 SoC uses Synopsis eUSB2 PHY for USB 2.0. Add a new > driver for it. > > eUSB2 on Exynos SoCs is usually paired alongside a USB PHY controller. > Currently the driver is modelled to take and enable/disable the usb phy > controller when needed. > > The driver is based on information from downstream drivers. > > Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@xxxxxxxxx> > --- > drivers/phy/samsung/Kconfig | 13 + > drivers/phy/samsung/Makefile | 1 + > .../phy/samsung/phy-exynos2200-snps-eusb2.c | 351 ++++++++++++++++++ > 3 files changed, 365 insertions(+) > create mode 100644 drivers/phy/samsung/phy-exynos2200-snps-eusb2.c > [...] > diff --git a/drivers/phy/samsung/phy-exynos2200-snps-eusb2.c b/drivers/phy/samsung/phy-exynos2200-snps-eusb2.c > new file mode 100644 > index 000000000..ee6d96411 > --- /dev/null > +++ b/drivers/phy/samsung/phy-exynos2200-snps-eusb2.c > @@ -0,0 +1,351 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2025, Ivaylo Ivanov <ivo.ivanov.ivanov1@xxxxxxxxx> > + */ > + > +#include <linux/bitfield.h> > +#include <linux/clk.h> > +#include <linux/delay.h> > +#include <linux/iopoll.h> > +#include <linux/mfd/syscon.h> > +#include <linux/mod_devicetable.h> > +#include <linux/phy/phy.h> > +#include <linux/platform_device.h> > +#include <linux/regulator/consumer.h> > +#include <linux/reset.h> Drop this ... [...] > +struct exynos2200_snps_eusb2_phy { > + struct phy *phy; > + void __iomem *base; > + > + struct clk *ref_clk; > + struct clk_bulk_data *clks; > + const struct exynos2200_snps_eusb2_phy_drvdata *drv_data; > + struct reset_control *phy_reset; ... and this. It's never used. regards Philipp