All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Stern <stern@rowland.harvard.edu>
To: Tomer Maimon <tmaimon77@gmail.com>
Cc: avifishman70@gmail.com, tali.perry1@gmail.com, joel@jms.id.au,
	venture@google.com, yuenn@google.com, benjaminfair@google.com,
	gregkh@linuxfoundation.org, tony@atomide.com,
	felipe.balbi@linux.intel.com, jgross@suse.com,
	lukas.bulwahn@gmail.com, arnd@arndb.de, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, openbmc@lists.ozlabs.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v1 1/3] usb: host: npcm7xx: remove USB EHCI host reset sequence
Date: Mon, 18 Jul 2022 10:30:34 -0400	[thread overview]
Message-ID: <YtVuildpxcI5By4x@rowland.harvard.edu> (raw)
In-Reply-To: <20220718122922.9396-2-tmaimon77@gmail.com>

On Mon, Jul 18, 2022 at 03:29:20PM +0300, Tomer Maimon wrote:
> Remove USB EHCI host controller reset sequence from NPCM7XX USB EHCI
> host probe function because it is done in the NPCM reset driver.
> 
> Due to it, NPCM7XX EHCI driver configuration is dependent on NPCM reset.
> 
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
> ---

Regarding the changes to ehci-npcm7xx.c:

Acked-by: Alan Stern <stern@rowland.harvard.edu>

But you probably should remove the "#include <linux/regmap.h>" line near 
the start of the source file.

Alan Stern

>  drivers/usb/host/Kconfig        |  2 +-
>  drivers/usb/host/ehci-npcm7xx.c | 47 ---------------------------------
>  2 files changed, 1 insertion(+), 48 deletions(-)
> 
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 682b3d2da623..e05e2cf806f8 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -206,7 +206,7 @@ config USB_EHCI_FSL
>  
>  config USB_EHCI_HCD_NPCM7XX
>  	tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
> -	depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
> +	depends on (USB_EHCI_HCD && ARCH_NPCM7XX && RESET_NPCM) || COMPILE_TEST
>  	default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
>  	help
>  	  Enables support for the on-chip EHCI controller on
> diff --git a/drivers/usb/host/ehci-npcm7xx.c b/drivers/usb/host/ehci-npcm7xx.c
> index 6b5a7a873e01..955e7c8f3db8 100644
> --- a/drivers/usb/host/ehci-npcm7xx.c
> +++ b/drivers/usb/host/ehci-npcm7xx.c
> @@ -28,13 +28,6 @@
>  #define DRIVER_DESC "EHCI npcm7xx driver"
>  
>  static const char hcd_name[] = "npcm7xx-ehci";
> -
> -#define  USB2PHYCTL_OFFSET 0x144
> -
> -#define  IPSRST2_OFFSET 0x24
> -#define  IPSRST3_OFFSET 0x34
> -
> -
>  static struct hc_driver __read_mostly ehci_npcm7xx_hc_driver;
>  
>  static int __maybe_unused ehci_npcm7xx_drv_suspend(struct device *dev)
> @@ -60,52 +53,12 @@ static int npcm7xx_ehci_hcd_drv_probe(struct platform_device *pdev)
>  {
>  	struct usb_hcd *hcd;
>  	struct resource *res;
> -	struct regmap *gcr_regmap;
> -	struct regmap *rst_regmap;
>  	const struct hc_driver *driver = &ehci_npcm7xx_hc_driver;
>  	int irq;
>  	int retval;
>  
>  	dev_dbg(&pdev->dev,	"initializing npcm7xx ehci USB Controller\n");
>  
> -	gcr_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-gcr");
> -	if (IS_ERR(gcr_regmap)) {
> -		dev_err(&pdev->dev, "%s: failed to find nuvoton,npcm750-gcr\n",
> -			__func__);
> -		return PTR_ERR(gcr_regmap);
> -	}
> -
> -	rst_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-rst");
> -	if (IS_ERR(rst_regmap)) {
> -		dev_err(&pdev->dev, "%s: failed to find nuvoton,npcm750-rst\n",
> -			__func__);
> -		return PTR_ERR(rst_regmap);
> -	}
> -
> -	/********* phy init  ******/
> -	// reset usb host
> -	regmap_update_bits(rst_regmap, IPSRST2_OFFSET,
> -			(0x1 << 26), (0x1 << 26));
> -	regmap_update_bits(rst_regmap, IPSRST3_OFFSET,
> -			(0x1 << 25), (0x1 << 25));
> -	regmap_update_bits(gcr_regmap, USB2PHYCTL_OFFSET,
> -			(0x1 << 28), 0);
> -
> -	udelay(1);
> -
> -	// enable phy
> -	regmap_update_bits(rst_regmap, IPSRST3_OFFSET,
> -			(0x1 << 25), 0);
> -
> -	udelay(50); // enable phy
> -
> -	regmap_update_bits(gcr_regmap, USB2PHYCTL_OFFSET,
> -			(0x1 << 28), (0x1 << 28));
> -
> -	// enable host
> -	regmap_update_bits(rst_regmap, IPSRST2_OFFSET,
> -			(0x1 << 26), 0);
> -
>  	if (usb_disabled())
>  		return -ENODEV;
>  
> -- 
> 2.33.0
> 

WARNING: multiple messages have this Message-ID (diff)
From: Alan Stern <stern@rowland.harvard.edu>
To: Tomer Maimon <tmaimon77@gmail.com>
Cc: jgross@suse.com, devicetree@vger.kernel.org,
	benjaminfair@google.com, felipe.balbi@linux.intel.com,
	avifishman70@gmail.com, venture@google.com,
	openbmc@lists.ozlabs.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org, tali.perry1@gmail.com,
	tony@atomide.com, robh+dt@kernel.org, arnd@arndb.de,
	joel@jms.id.au, krzysztof.kozlowski+dt@linaro.org,
	gregkh@linuxfoundation.org, lukas.bulwahn@gmail.com
Subject: Re: [PATCH v1 1/3] usb: host: npcm7xx: remove USB EHCI host reset sequence
Date: Mon, 18 Jul 2022 10:30:34 -0400	[thread overview]
Message-ID: <YtVuildpxcI5By4x@rowland.harvard.edu> (raw)
In-Reply-To: <20220718122922.9396-2-tmaimon77@gmail.com>

On Mon, Jul 18, 2022 at 03:29:20PM +0300, Tomer Maimon wrote:
> Remove USB EHCI host controller reset sequence from NPCM7XX USB EHCI
> host probe function because it is done in the NPCM reset driver.
> 
> Due to it, NPCM7XX EHCI driver configuration is dependent on NPCM reset.
> 
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
> ---

Regarding the changes to ehci-npcm7xx.c:

Acked-by: Alan Stern <stern@rowland.harvard.edu>

But you probably should remove the "#include <linux/regmap.h>" line near 
the start of the source file.

Alan Stern

>  drivers/usb/host/Kconfig        |  2 +-
>  drivers/usb/host/ehci-npcm7xx.c | 47 ---------------------------------
>  2 files changed, 1 insertion(+), 48 deletions(-)
> 
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 682b3d2da623..e05e2cf806f8 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -206,7 +206,7 @@ config USB_EHCI_FSL
>  
>  config USB_EHCI_HCD_NPCM7XX
>  	tristate "Support for Nuvoton NPCM7XX on-chip EHCI USB controller"
> -	depends on (USB_EHCI_HCD && ARCH_NPCM7XX) || COMPILE_TEST
> +	depends on (USB_EHCI_HCD && ARCH_NPCM7XX && RESET_NPCM) || COMPILE_TEST
>  	default y if (USB_EHCI_HCD && ARCH_NPCM7XX)
>  	help
>  	  Enables support for the on-chip EHCI controller on
> diff --git a/drivers/usb/host/ehci-npcm7xx.c b/drivers/usb/host/ehci-npcm7xx.c
> index 6b5a7a873e01..955e7c8f3db8 100644
> --- a/drivers/usb/host/ehci-npcm7xx.c
> +++ b/drivers/usb/host/ehci-npcm7xx.c
> @@ -28,13 +28,6 @@
>  #define DRIVER_DESC "EHCI npcm7xx driver"
>  
>  static const char hcd_name[] = "npcm7xx-ehci";
> -
> -#define  USB2PHYCTL_OFFSET 0x144
> -
> -#define  IPSRST2_OFFSET 0x24
> -#define  IPSRST3_OFFSET 0x34
> -
> -
>  static struct hc_driver __read_mostly ehci_npcm7xx_hc_driver;
>  
>  static int __maybe_unused ehci_npcm7xx_drv_suspend(struct device *dev)
> @@ -60,52 +53,12 @@ static int npcm7xx_ehci_hcd_drv_probe(struct platform_device *pdev)
>  {
>  	struct usb_hcd *hcd;
>  	struct resource *res;
> -	struct regmap *gcr_regmap;
> -	struct regmap *rst_regmap;
>  	const struct hc_driver *driver = &ehci_npcm7xx_hc_driver;
>  	int irq;
>  	int retval;
>  
>  	dev_dbg(&pdev->dev,	"initializing npcm7xx ehci USB Controller\n");
>  
> -	gcr_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-gcr");
> -	if (IS_ERR(gcr_regmap)) {
> -		dev_err(&pdev->dev, "%s: failed to find nuvoton,npcm750-gcr\n",
> -			__func__);
> -		return PTR_ERR(gcr_regmap);
> -	}
> -
> -	rst_regmap = syscon_regmap_lookup_by_compatible("nuvoton,npcm750-rst");
> -	if (IS_ERR(rst_regmap)) {
> -		dev_err(&pdev->dev, "%s: failed to find nuvoton,npcm750-rst\n",
> -			__func__);
> -		return PTR_ERR(rst_regmap);
> -	}
> -
> -	/********* phy init  ******/
> -	// reset usb host
> -	regmap_update_bits(rst_regmap, IPSRST2_OFFSET,
> -			(0x1 << 26), (0x1 << 26));
> -	regmap_update_bits(rst_regmap, IPSRST3_OFFSET,
> -			(0x1 << 25), (0x1 << 25));
> -	regmap_update_bits(gcr_regmap, USB2PHYCTL_OFFSET,
> -			(0x1 << 28), 0);
> -
> -	udelay(1);
> -
> -	// enable phy
> -	regmap_update_bits(rst_regmap, IPSRST3_OFFSET,
> -			(0x1 << 25), 0);
> -
> -	udelay(50); // enable phy
> -
> -	regmap_update_bits(gcr_regmap, USB2PHYCTL_OFFSET,
> -			(0x1 << 28), (0x1 << 28));
> -
> -	// enable host
> -	regmap_update_bits(rst_regmap, IPSRST2_OFFSET,
> -			(0x1 << 26), 0);
> -
>  	if (usb_disabled())
>  		return -ENODEV;
>  
> -- 
> 2.33.0
> 

  parent reply	other threads:[~2022-07-18 14:30 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 12:29 [PATCH v1 0/3] usb: host: npcm7xx-ehci: add Arbel NPCM8XX support and remove reset sequence Tomer Maimon
2022-07-18 12:29 ` Tomer Maimon
2022-07-18 12:29 ` [PATCH v1 1/3] usb: host: npcm7xx: remove USB EHCI host " Tomer Maimon
2022-07-18 12:29   ` Tomer Maimon
2022-07-18 12:38   ` Arnd Bergmann
2022-07-18 12:38     ` Arnd Bergmann
2022-07-18 14:29     ` Tomer Maimon
2022-07-18 14:29       ` Tomer Maimon
2022-07-18 14:30   ` Alan Stern [this message]
2022-07-18 14:30     ` Alan Stern
2022-07-18 12:29 ` [PATCH v1 2/3] dt-bindings: usb: npcm7xx: Add npcm845 compatible Tomer Maimon
2022-07-18 12:29   ` Tomer Maimon
2022-07-18 13:55   ` Krzysztof Kozlowski
2022-07-18 12:29 ` [PATCH v1 3/3] USB: host: npcm: Add NPCM8XX support Tomer Maimon
2022-07-18 12:29   ` Tomer Maimon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YtVuildpxcI5By4x@rowland.harvard.edu \
    --to=stern@rowland.harvard.edu \
    --cc=arnd@arndb.de \
    --cc=avifishman70@gmail.com \
    --cc=benjaminfair@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jgross@suse.com \
    --cc=joel@jms.id.au \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukas.bulwahn@gmail.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=robh+dt@kernel.org \
    --cc=tali.perry1@gmail.com \
    --cc=tmaimon77@gmail.com \
    --cc=tony@atomide.com \
    --cc=venture@google.com \
    --cc=yuenn@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.