linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@kernel.org>
To: Manish Narani <MNARANI@xilinx.com>, Rob Herring <robh@kernel.org>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	Michal Simek <michals@xilinx.com>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	git <git@xilinx.com>
Subject: RE: [PATCH v2 1/2] dt-bindings: usb: dwc3-xilinx: Add documentation for Versal DWC3 Controller
Date: Fri, 25 Sep 2020 10:11:59 +0300	[thread overview]
Message-ID: <87h7rmcou8.fsf@kernel.org> (raw)
In-Reply-To: <BYAPR02MB5896E374297AF46A63CDAD30C1360@BYAPR02MB5896.namprd02.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 4468 bytes --]


Hi,

Manish Narani <MNARANI@xilinx.com> writes:
> Hi Rob/Felipe,
>
> Thanks for the review.
>
>> -----Original Message-----
>> From: Felipe Balbi <balbi@kernel.org>
>> Sent: Thursday, September 24, 2020 12:47 PM
>> To: Rob Herring <robh@kernel.org>; Manish Narani <MNARANI@xilinx.com>
>> Cc: gregkh@linuxfoundation.org; Michal Simek <michals@xilinx.com>;
>> p.zabel@pengutronix.de; linux-usb@vger.kernel.org;
>> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
>> kernel@vger.kernel.org; git <git@xilinx.com>
>> Subject: Re: [PATCH v2 1/2] dt-bindings: usb: dwc3-xilinx: Add
>> documentation for Versal DWC3 Controller
>> 
>> Rob Herring <robh@kernel.org> writes:
>> 
>> > On Thu, Sep 10, 2020 at 12:33:04AM +0530, Manish Narani wrote:
>> >> Add documentation for Versal DWC3 controller. Add required property
>> >> 'reg' for the same. Also add optional properties for snps,dwc3.
>> >>
>> >> Signed-off-by: Manish Narani <manish.narani@xilinx.com>
>> >> ---
>> >>  .../devicetree/bindings/usb/dwc3-xilinx.txt   | 20 +++++++++++++++++--
>> >>  1 file changed, 18 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
>> b/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
>> >> index 4aae5b2cef56..219b5780dbee 100644
>> >> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
>> >> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.txt
>> >> @@ -1,7 +1,8 @@
>> >>  Xilinx SuperSpeed DWC3 USB SoC controller
>> >>
>> >>  Required properties:
>> >> -- compatible:	Should contain "xlnx,zynqmp-dwc3"
>> >> +- compatible:	May contain "xlnx,zynqmp-dwc3" or "xlnx,versal-
>> dwc3"
>> >> +- reg:		Base address and length of the register control block
>> >>  - clocks:	A list of phandles for the clocks listed in clock-names
>> >>  - clock-names:	Should contain the following:
>> >>    "bus_clk"	 Master/Core clock, have to be >= 125 MHz for SS
>> >> @@ -13,12 +14,24 @@ Required child node:
>> >>  A child node must exist to represent the core DWC3 IP block. The name of
>> >>  the node is not important. The content of the node is defined in dwc3.txt.
>> >>
>> >> +Optional properties for snps,dwc3:
>> >> +- dma-coherent:	Enable this flag if CCI is enabled in design. Adding this
>> >> +		flag configures Global SoC bus Configuration Register and
>> >> +		Xilinx USB 3.0 IP - USB coherency register to enable CCI.
>> >> +- snps,enable-hibernation: Add this flag to enable hibernation support
>> for
>> >> +		peripheral mode.
>> >
>> > This belongs in the DWC3 binding. It also implies that hibernation is
>> > not supported by any other DWC3 based platform. Can't this be implied by
>> > the compatible string (in the parent)?
>
> Rob, We can move this to dwc3 bindings. If Felipe is okay with below response.
>
>> 
>> hibernation support is detectable in runtime, and we've been using that.
>
> Felipe, Yes, this flag is to control the enable/disable hibernation.
> I did not see has_hibernation flag being set anywhere in the driver.
> Can we control the hibernation enable/disable through DT entry? See below:
> -----
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 2eb34c8b4065..1baf44d8d566 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -769,8 +769,15 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
>                         reg &= ~DWC3_GCTL_DSBLCLKGTNG;
>                 break;
>         case DWC3_GHWPARAMS1_EN_PWROPT_HIB:
> -               /* enable hibernation here */
> -               dwc->nr_scratch = DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4);
> +               if (!device_property_read_bool(dwc->dev,
> +                                              "snps,enable-hibernation")) {
> +                       dev_dbg(dwc->dev, "Hibernation not enabled\n");
> +               } else {
> +                       /* enable hibernation here */
> +                       dwc->nr_scratch =
> +                               DWC3_GHWPARAMS4_HIBER_SCRATCHBUFS(hwparams4);
> +                       dwc->has_hibernation = 1;
> +               }

I left it off because I didn't have HW to validate. Don't add a new
binding for this. Set has_hibernation to true and make sure it
works. Then send me a patch that sets has_hibernation to true whenever
DWC3_GHWPARAMS1_EN_PWROPT_HIB is valid.

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 857 bytes --]

  reply	other threads:[~2020-09-25  7:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-09 19:03 [PATCH v2 0/2] Add a separate DWC3 OF driver for Xilinx platforms Manish Narani
2020-09-09 19:03 ` [PATCH v2 1/2] dt-bindings: usb: dwc3-xilinx: Add documentation for Versal DWC3 Controller Manish Narani
2020-09-22 19:54   ` Rob Herring
2020-09-24  7:16     ` Felipe Balbi
2020-09-25  6:07       ` Manish Narani
2020-09-25  7:11         ` Felipe Balbi [this message]
2020-09-25  7:37           ` Manish Narani
2020-09-09 19:03 ` [PATCH v2 2/2] usb: dwc3: Add driver for Xilinx platforms Manish Narani
2020-10-06 13:03   ` Manish Narani

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=87h7rmcou8.fsf@kernel.org \
    --to=balbi@kernel.org \
    --cc=MNARANI@xilinx.com \
    --cc=devicetree@vger.kernel.org \
    --cc=git@xilinx.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=michals@xilinx.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).