@@ -20,6 +20,7 @@
#include <linux/reset.h>
#include <linux/sizes.h>
#include <linux/slab.h>
+#include <linux/soc/renesas/rzv2m_usb3drd.h>
#include <linux/string.h>
#include <linux/sys_soc.h>
#include <linux/uaccess.h>
@@ -136,8 +137,6 @@
#define USB_STA_VBUS_STA BIT(0)
/* DRD_CON */
-#define DRD_CON_PERI_RST BIT(31) /* rzv2m only */
-#define DRD_CON_HOST_RST BIT(30) /* rzv2m only */
#define DRD_CON_PERI_CON BIT(24)
#define DRD_CON_VBOUT BIT(0)
@@ -334,7 +333,6 @@ struct renesas_usb3_priv {
struct renesas_usb3 {
void __iomem *reg;
- struct reset_control *drd_rstc;
struct reset_control *usbp_rstc;
struct usb_gadget gadget;
@@ -682,13 +680,8 @@ static void renesas_usb3_role_work(struct work_struct *work)
static void usb3_set_mode(struct renesas_usb3 *usb3, bool host)
{
if (usb3->is_rzv2m) {
- if (host) {
- usb3_set_bit(usb3, DRD_CON_PERI_RST, USB3_DRD_CON(usb3));
- usb3_clear_bit(usb3, DRD_CON_HOST_RST, USB3_DRD_CON(usb3));
- } else {
- usb3_set_bit(usb3, DRD_CON_HOST_RST, USB3_DRD_CON(usb3));
- usb3_clear_bit(usb3, DRD_CON_PERI_RST, USB3_DRD_CON(usb3));
- }
+ rzv2m_usb3drd_reset(usb3_to_dev(usb3)->parent, host);
+ return;
}
if (host)
@@ -2600,7 +2593,6 @@ static int renesas_usb3_remove(struct platform_device *pdev)
usb_del_gadget_udc(&usb3->gadget);
reset_control_assert(usb3->usbp_rstc);
- reset_control_assert(usb3->drd_rstc);
renesas_usb3_dma_free_prd(usb3, &pdev->dev);
__renesas_usb3_ep_free_request(usb3->ep0_req);
@@ -2873,21 +2865,13 @@ static int renesas_usb3_probe(struct platform_device *pdev)
goto err_add_udc;
}
- usb3->drd_rstc = devm_reset_control_get_optional_shared(&pdev->dev,
- "drd_reset");
- if (IS_ERR(usb3->drd_rstc)) {
- ret = PTR_ERR(usb3->drd_rstc);
- goto err_add_udc;
- }
-
usb3->usbp_rstc = devm_reset_control_get_optional_shared(&pdev->dev,
- "aresetn_p");
+ NULL);
if (IS_ERR(usb3->usbp_rstc)) {
ret = PTR_ERR(usb3->usbp_rstc);
goto err_add_udc;
}
- reset_control_deassert(usb3->drd_rstc);
reset_control_deassert(usb3->usbp_rstc);
pm_runtime_enable(&pdev->dev);
@@ -2933,7 +2917,6 @@ static int renesas_usb3_probe(struct platform_device *pdev)
err_reset:
reset_control_assert(usb3->usbp_rstc);
- reset_control_assert(usb3->drd_rstc);
err_add_udc:
renesas_usb3_dma_free_prd(usb3, &pdev->dev);
As we have now support for DRD reset support in USB3DRD driver, remove the redundant reset handling from peri module. This patch drops the unused macros DRD_CON_PERI_RST and DRD_CON_HOST_RST. Whilst, update reset handling for peripheral reset as per bindings (ie, as it is a single reset, drop reset names). Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- drivers/usb/gadget/udc/renesas_usb3.c | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-)