[PATCH 2/6] usb: chipidea: usb2: add optional reset support
Junzhong Pan <[email protected]>
| Newsgroups | dev.linux.lists.spacemit,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <20260812-b4-spacemit-k1-usb2-v1-2-f28cf29e522b@linux.spacemit.com> |
The USB2 controller of SpacemiT K1 SoC requires reset support, to keep compatibility, add optional reset support. Signed-off-by: Junzhong Pan <[email protected]> --- drivers/usb/chipidea/ci_hdrc_usb2.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/usb/chipidea/ci_hdrc_usb2.c b/drivers/usb/chipidea/ci_hdrc_usb2.c index 8ffa1e95d8e8..00d575cd2955 100644 --- a/drivers/usb/chipidea/ci_hdrc_usb2.c +++ b/drivers/usb/chipidea/ci_hdrc_usb2.c @@ -12,6 +12,7 @@ #include <linux/phy/phy.h> #include <linux/platform_device.h> #include <linux/property.h> +#include <linux/reset.h> #include <linux/usb/chipidea.h> #include <linux/usb/hcd.h> #include <linux/usb/ulpi.h> @@ -21,6 +22,7 @@ struct ci_hdrc_usb2_priv { struct platform_device *ci_pdev; struct clk *clk; + struct reset_control *reset; }; static const struct ci_hdrc_platform_data ci_default_pdata = { @@ -80,6 +82,12 @@ static int ci_hdrc_usb2_probe(struct platform_device *pdev) return ret; } + priv->reset = devm_reset_control_get_optional_exclusive_deasserted(dev, NULL); + if (IS_ERR(priv->reset)) { + ret = PTR_ERR(priv->reset); + goto clk_err; + } + ci_pdata->name = dev_name(dev); priv->ci_pdev = ci_hdrc_add_device(dev, pdev->resource, -- 2.34.1