All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org,
	gregkh@linuxfoundation.org, jackp@codeaurora.org,
	balbi@kernel.org, robh@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 00/18] Enable Qualcomm QCS 404 HS/SS USB
Date: Sat, 7 Mar 2020 21:23:02 -0800	[thread overview]
Message-ID: <20200308052302.GJ1094083@builder> (raw)
In-Reply-To: <20200303171159.246992-1-bryan.odonoghue@linaro.org>

On Tue 03 Mar 09:11 PST 2020, Bryan O'Donoghue wrote:

> V1:
> This series enables the Primary and Secondary USB controllers on the
> QCS404, associated PHYs, role-switching and DTS descriptions.
> 

Finally took the time to give this a spin on my QCS404 dev board.

Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>


As this touches three different subsystems, and doesn't have have
compile time dependencies between the parts, I would suggest that as you
fix up the build error I reported yesterday you send v8 as three
different series - one per maintainer/subsystem. That way we avoid any
questions about whom should merge what parts and in what order.

Thanks,
Bjorn

> The series takes in a number of patches worked on by a number of people
> over the past few years from downstream, through to previous upstream
> submissions for both of these interfaces. Additional work has been done to
> enable USB role-switching.
> 
> 1. USB SS
>    - extcon has been dropped in favour of gpio-usb-conn as discussed and
>      agreed previously by Jorge, Bjorn, Stephen Boyd and Jack Pham [1].
> 
>    - Regulator API has been updated following suggestions from Bjorn.
>    
>    - Sanitzation of the DT compatible name - dropped "snps" entirely
>      from the name - it made almost no sense to me and doesn't appear
>      consistent with similar naming conventions for Snopsys based IP.
> 
> 2. USB HS
>    - Regulator API changes here.
>    - Dropped "snps" from the namespace for similar reasons as above.
>    - Dropped "28nm" from the namespace, looked superfluous.
>    - Changed "High-Speed" to "Hi-Speed".
>    - [2]
> 
> 3. DWC3 Role switching
>    - At the time usb-gpio-conn was discussed it was mentioned that
>      role-switching was absent from the DWC3 driver.
>    - John Stultz has some patches in-flight for that, that I've included in
>      this series for completeness.
>    - Adds my SoB to relevant patches.
>    - Drops gerrit ChangeId.
> 
> 4. DWC3 usb-gpio-conn
>    Needs to be a child node of the DWC3 driver so some code and DT binding
>    is required for that.
> 
> 5. QCOM-DWC3
>    Since we are role-switching with an external PMIC supplying VBUS we want
>    to skip past toggling VBUS from QCOM-DWC3 controlled registers, so a
>    patch is added to the qcom-dwc3 driver to do that.
> 
> References:
> 
> 1: USB SS PHY for Qualcomm's QCS404
> https://lwn.net/ml/devicetree/20190207111734.24171-1-jorge.ramirez-ortiz@linaro.org/
> 
> 2: Add Synopsys High-Speed USB PHY driver for Qualcomm SoCs
> https://lore.kernel.org/linux-arm-msm/20181127100722.9993-3-shawn.guo@linaro.org/
> 
> https://www.spinics.net/lists/linux-usb/msg190003.html
> 
> V2:
> - Fixes yaml error - Rob's YAML robot
> - Exclusive control of reset in PHY drivers - Philipp Zabel
> 
> V3:
> - Fixes typo generating YAML warning - Rob's YAML robot
> 
> V4:
> 
> https://lore.kernel.org/linux-arm-msm/20200122185610.131930-1-bryan.odonoghue@linaro.org/
> 
> - Churn names of PHYs - Rob Herring
>   Rob questioned the name of the SuperSpeed PHY in V3.
>   Looking at available data 
> 
>   usb-hs-28nm - There are two possible PHYs on 28nm litho node
> 		so it makes sense to name the PHY relating to its relevant
> 		litho node.
> 
>   usb-ss - This is not litho node dependent and is used on  multiple SoCs
> 	   and litho nodes.
> 
> - Drop default mode for role switching - Felipe Balbi
>   Felipe asked if the default mode for role switching was
>   required and the answer is no. It makes no difference
>   becuase the USB ID pin ultimately dictates the mode of operation.
> 
> - Change "gpio_usb_connector" to "connector" - Rob
>   This was a minor change in terms of DTS but, means I need to look for the
>   DTS compatible string as opposed to a label given in the DTS.
>   No matter what the name of the label, this is he right thing to do.
> 
> - Used IS_ENABLED() - Felipe
>   The logic is the same but IS_ENABLED() is used now.
> 
> - Retained example of USB connector in dwc.txt - Rob, Felipe
>   Rob pointed out adding the connector was redundant as the documentation
>   already implies it.
>   Felipe seemed in favour of I think adding the example.
>   I've dropped the documentation of the connector and kept the example.
>   https://lore.kernel.org/linux-arm-msm/20200122185610.131930-7-bryan.odonoghue@linaro.org/
> 
> - Added example of usb-role-switch in dwc3.txt - BOD
>   
> - Incorporated various inputs from Rob on DTS/YAML
>   - Added required:
>   - Added additionalProperties:
>   - Renamed "phy" clock to "ahb"
>   - maxItems dropped as indicated
> 
> V5:
> - https://lkml.org/lkml/2020/2/6/913
> 
> - Adds a notifier to DWC3 - BOD
>   This is done in order to allow propagation of role-switch events from the
>   DWC3 core to an associated binding layer.
> 
> - Re-use the existent EXTCON VBUS power lane toggle logic - Jack Pham
>   Jack flagged this for inclusion and as a result we need to make a
>   small change to the qcom binding layer.
> 
> - Squash DTS changes - BOD
>   I've squashed down some of the DTS changes to stop the patch count in
>   this series going  up any further.
> 
> V6:
> - https://lkml.org/lkml/2020/2/7/632
> 
> - Add RB Jack Pham patch # 11
> 
> - Fix a stale description in git log patch # 10
> 
> V7:
> - https://lkml.org/lkml/2020/2/10/258
> 
> - Adds RB Rob Herring as indicated
> 
> - Updates the naming of the USB SS PHY for the particular SoC.
>   The name of the driver is maintained, as previously mentioned, this
>   IP appears to be in use on the 20nm and 28nm nodes. However taking
>   Rob's feedback on the naming of the SoC specific bit the code being added
>   is specified @ 28nm.
>   If/when we come to add in 20nm for this IP we can add a new compatible
>   for 20nm.
>   Rob Herring
> 
> Bjorn Andersson (1):
>   arm64: dts: qcom: qcs404: Add USB devices and PHYs
> 
> Bryan O'Donoghue (11):
>   dt-bindings: usb: dwc3: Add a gpio-usb-connector example
>   dt-bindings: usb: dwc3: Add a usb-role-switch to the example
>   usb: dwc3: qcom: Add support for usb-conn-gpio connectors
>   usb: dwc3: Add support for usb-conn-gpio connectors
>   usb: dwc3: Add support for a role-switch notifier
>   usb: dwc3: qcom: Enable gpio-usb-conn based role-switching
>   arm64: dts: qcom: qcs404-evb: Define VBUS pins
>   arm64: dts: qcom: qcs404-evb: Define USB ID pin
>   arm64: dts: qcom: qcs404-evb: Describe external VBUS regulator
>   arm64: dts: qcom: qcs404-evb: Raise vreg_l12_3p3 minimum voltage
>   arm64: dts: qcom: qcs404-evb: Enable USB controllers
> 
> Jorge Ramirez-Ortiz (3):
>   dt-bindings: phy: remove qcom-dwc3-usb-phy
>   dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings
>   phy: qualcomm: usb: Add SuperSpeed PHY driver
> 
> Shawn Guo (1):
>   phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver
> 
> Sriharsha Allenki (1):
>   dt-bindings: phy: Add Qualcomm Synopsys Hi-Speed USB PHY binding
> 
> Yu Chen (1):
>   usb: dwc3: Registering a role switch in the DRD code.
> 
>  .../bindings/phy/qcom,usb-hs-28nm.yaml        |  90 ++++
>  .../devicetree/bindings/phy/qcom,usb-ss.yaml  |  83 ++++
>  .../bindings/phy/qcom-dwc3-usb-phy.txt        |  37 --
>  .../devicetree/bindings/usb/dwc3.txt          |   9 +
>  arch/arm64/boot/dts/qcom/qcs404-evb.dtsi      |  90 +++-
>  arch/arm64/boot/dts/qcom/qcs404.dtsi          | 100 +++++
>  drivers/phy/qualcomm/Kconfig                  |  20 +
>  drivers/phy/qualcomm/Makefile                 |   2 +
>  drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c   | 415 ++++++++++++++++++
>  drivers/phy/qualcomm/phy-qcom-usb-ss.c        | 246 +++++++++++
>  drivers/usb/dwc3/core.h                       |  22 +
>  drivers/usb/dwc3/drd.c                        | 119 ++++-
>  drivers/usb/dwc3/dwc3-qcom.c                  |  31 +-
>  13 files changed, 1223 insertions(+), 41 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/phy/qcom,usb-hs-28nm.yaml
>  create mode 100644 Documentation/devicetree/bindings/phy/qcom,usb-ss.yaml
>  delete mode 100644 Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
>  create mode 100644 drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
>  create mode 100644 drivers/phy/qualcomm/phy-qcom-usb-ss.c
> 
> -- 
> 2.25.1
> 

  parent reply	other threads:[~2020-03-08  5:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-03 17:11 [PATCH v7 00/18] Enable Qualcomm QCS 404 HS/SS USB Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 01/18] dt-bindings: phy: remove qcom-dwc3-usb-phy Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 02/18] dt-bindings: phy: Add Qualcomm Synopsys Hi-Speed USB PHY binding Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 03/18] phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 04/18] dt-bindings: Add Qualcomm USB SuperSpeed PHY bindings Bryan O'Donoghue
2020-03-04 16:17   ` Rob Herring
2020-03-03 17:11 ` [PATCH v7 05/18] phy: qualcomm: usb: Add SuperSpeed PHY driver Bryan O'Donoghue
2020-03-09 10:49   ` Kishon Vijay Abraham I
2020-03-03 17:11 ` [PATCH v7 06/18] usb: dwc3: Registering a role switch in the DRD code Bryan O'Donoghue
2020-03-07  7:20   ` Bjorn Andersson
2020-03-03 17:11 ` [PATCH v7 07/18] dt-bindings: usb: dwc3: Add a gpio-usb-connector example Bryan O'Donoghue
2020-03-04 14:57   ` Rob Herring
2020-03-04 16:24     ` Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 08/18] dt-bindings: usb: dwc3: Add a usb-role-switch to the example Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 09/18] usb: dwc3: qcom: Add support for usb-conn-gpio connectors Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 10/18] usb: dwc3: " Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 11/18] usb: dwc3: Add support for a role-switch notifier Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 12/18] usb: dwc3: qcom: Enable gpio-usb-conn based role-switching Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 13/18] arm64: dts: qcom: qcs404: Add USB devices and PHYs Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 14/18] arm64: dts: qcom: qcs404-evb: Define VBUS pins Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 15/18] arm64: dts: qcom: qcs404-evb: Define USB ID pin Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 16/18] arm64: dts: qcom: qcs404-evb: Describe external VBUS regulator Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 17/18] arm64: dts: qcom: qcs404-evb: Raise vreg_l12_3p3 minimum voltage Bryan O'Donoghue
2020-03-03 17:11 ` [PATCH v7 18/18] arm64: dts: qcom: qcs404-evb: Enable USB controllers Bryan O'Donoghue
2020-03-08  5:23 ` Bjorn Andersson [this message]
2020-03-09  0:02   ` [PATCH v7 00/18] Enable Qualcomm QCS 404 HS/SS USB Bryan O'Donoghue

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=20200308052302.GJ1094083@builder \
    --to=bjorn.andersson@linaro.org \
    --cc=balbi@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jackp@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --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 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.