LinuxPPC-Dev Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema
@ 2020-10-14 10:13 Serge Semin
  2020-10-14 10:13 ` [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to " Serge Semin
                   ` (20 more replies)
  0 siblings, 21 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

We've performed some work on the Generic USB HCD, xHCI and DWC USB3 DT
bindings in the framework of the Baikal-T1 SoC support integration into
the kernel. This patchset is a result of that work.

First of all we moved the generic USB properties from the legacy text
bindings into the USB HCD DT schema. So now the generic USB HCD-compatible
DT nodes are validated taking into account the optional properties like:
maximum-speed, dr_mode, otg-rev, usb-role-switch, etc. We've fixed these
properties a bit so they would correspond to what functionality kernel
currently supports.

Secondly we converted generic USB xHCI text bindings file into the DT
schema. It had to be split up into two bindings: DT schema with generic
xHCI properties and a generic xHCI device DT schema. The later will be
used to validate the pure xHCI-based nodes, while the former can be
utilized by some vendor-specific versions of xHCI.

Thirdly, what was primarily intended to be done for Baikal-T1 SoC USB we
converted the legacy text-based DWC USB3 bindings to DT schema and altered
the result a bit so it would be more coherent with what actually
controller and its driver support. Since we've now got the DWC USB3 DT
schema, we made it used to validate the sub-nodes of the Qualcom, TI and
Amlogic DWC3 DT nodes.

Finally we've also fixed all the OHCI/EHCI, xHCI and DW USB3 compatible DT
nodes so they would comply with the nodes naming scema declared in the USB
HCD DT bindings file.

Link: https://lore.kernel.org/linux-usb/20201010224121.12672-1-Sergey.Semin@baikalelectronics.ru/
Changelog v2:
- Thanks to Sergei Shtylyov for suggesting the commit logs grammar fixes:
  [PATCH 04/18] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
  [PATCH 05/18] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  [PATCH 11/18] dt-bindings: usb: dwc3: Add interrupt-names property support
  [PATCH 13/18] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
  [PATCH 17/18] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
- Set FL-adj of the amlogiv,meson-g12a-usb controller with value 0x20 instead
  of completely removing the property.
- Drop the patch:
  [PATCH 02/18] dt-bindings: usb: usb-hcd: Add "wireless" maximum-speed
                property value
  since "wireless" speed type is depracated due to lack of the device
  supporting it.
- Drop quotes from around the compat string constant.
- Discard '|' from the property descriptions, since we don't need to preserve
  the text formatting.
- Convert abbreviated form of the "maximum-speed" enum constraint into
  the multi-lined version of the list.
- Fix the DW USB3 "clock-names" prop description to be refererring to the
  enumerated clock-names instead of the ones from the Databook.
- Add explicit "additionalProperties: true" to the usb-xhci.yaml schema,
  since additionalProperties/unevaluatedProperties are going to be mandary
  for each binding.
- Use "oneOf: [dwc2.yaml#, snps,dwc3.yaml#]" instead of the bulky "if:
  properties: compatibe: ..." statement.
- Discard the "^dwc3@[0-9a-f]+$" nodes from being acceptable as sub-nodes
  of the Qualcomm DWC3 DT nodes.
- Add new patches:
  [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  [PATCH 19/20] arch: dts: Fix xHCI DT nodes name
  [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Manu Gautam <mgautam@codeaurora.org>
Cc: Roger Quadros <rogerq@ti.com>
Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-mips@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (20):
  dt-bindings: usb: usb-hcd: Convert generic USB properties to DT schema
  dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction
  dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
  dt-bindings: usb: usb-hcd: Add "tpl-support" property
  dt-bindings: usb: usb-hcd: Add generic "usb-phy" property
  dt-bindings: usb: Convert xHCI bindings to DT schema
  dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
  dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
  dt-bindings: usb: Convert DWC USB3 bindings to DT schema
  dt-bindings: usb: dwc3: Add interrupt-names property support
  dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
  dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
  dt-bindings: usb: dwc3: Add Frame Length Adj restrictions
  dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
  dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
  dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
  dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node
  arch: dts: Fix EHCI/OHCI DT nodes name
  arch: dts: Fix xHCI DT nodes name
  arch: dts: Fix DWC USB3 DT nodes name

 .../usb/amlogic,meson-g12a-usb-ctrl.yaml      |   6 +-
 .../devicetree/bindings/usb/dwc3.txt          | 125 -------
 .../devicetree/bindings/usb/generic-xhci.yaml |  65 ++++
 .../devicetree/bindings/usb/generic.txt       |  57 ----
 .../devicetree/bindings/usb/qcom,dwc3.yaml    |   9 +-
 .../bindings/usb/renesas,usb-xhci.yaml        |   4 +-
 .../devicetree/bindings/usb/snps,dwc3.yaml    | 315 ++++++++++++++++++
 .../bindings/usb/ti,keystone-dwc3.yaml        |   4 +-
 .../devicetree/bindings/usb/usb-hcd.yaml      | 104 ++++++
 .../devicetree/bindings/usb/usb-xhci.txt      |  41 ---
 .../devicetree/bindings/usb/usb-xhci.yaml     |  42 +++
 arch/arc/boot/dts/axs10x_mb.dtsi              |   4 +-
 arch/arc/boot/dts/hsdk.dts                    |   4 +-
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi          |   2 +-
 arch/arm/boot/dts/armada-375.dtsi             |   2 +-
 arch/arm/boot/dts/bcm5301x.dtsi               |   6 +-
 arch/arm/boot/dts/bcm53573.dtsi               |   4 +-
 arch/arm/boot/dts/exynos5250.dtsi             |   2 +-
 arch/arm/boot/dts/exynos54xx.dtsi             |   4 +-
 arch/arm/boot/dts/hisi-x5hd2.dtsi             |   4 +-
 arch/arm/boot/dts/keystone-k2e.dtsi           |   4 +-
 arch/arm/boot/dts/keystone.dtsi               |   2 +-
 arch/arm/boot/dts/lpc18xx.dtsi                |   4 +-
 arch/arm/boot/dts/ls1021a.dtsi                |   2 +-
 arch/arm/boot/dts/omap5-l4.dtsi               |   2 +-
 arch/arm/boot/dts/stih407-family.dtsi         |   2 +-
 arch/arm/boot/dts/stm32mp151.dtsi             |   4 +-
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   2 +-
 arch/arm64/boot/dts/exynos/exynos5433.dtsi    |   4 +-
 arch/arm64/boot/dts/exynos/exynos7.dtsi       |   2 +-
 .../arm64/boot/dts/freescale/fsl-ls1012a.dtsi |   4 +-
 .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi |   6 +-
 .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi |   4 +-
 .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi |   4 +-
 arch/arm64/boot/dts/hisilicon/hi3660.dtsi     |   2 +-
 .../arm64/boot/dts/hisilicon/hi3798cv200.dtsi |   4 +-
 arch/arm64/boot/dts/hisilicon/hip06.dtsi      |   4 +-
 arch/arm64/boot/dts/hisilicon/hip07.dtsi      |   4 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   4 +-
 arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi  |   4 +-
 arch/arm64/boot/dts/qcom/ipq8074.dtsi         |   4 +-
 arch/arm64/boot/dts/qcom/msm8996.dtsi         |   4 +-
 arch/arm64/boot/dts/qcom/msm8998.dtsi         |   2 +-
 arch/arm64/boot/dts/qcom/qcs404-evb.dtsi      |   2 +-
 arch/arm64/boot/dts/qcom/qcs404.dtsi          |   4 +-
 arch/arm64/boot/dts/qcom/sc7180.dtsi          |   2 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi          |   4 +-
 arch/arm64/boot/dts/qcom/sm8150.dtsi          |   2 +-
 arch/mips/boot/dts/ingenic/jz4740.dtsi        |   2 +-
 arch/mips/boot/dts/ingenic/jz4770.dtsi        |   2 +-
 arch/mips/boot/dts/mti/sead3.dts              |   2 +-
 arch/mips/boot/dts/ralink/mt7628a.dtsi        |   2 +-
 arch/powerpc/boot/dts/akebono.dts             |   6 +-
 53 files changed, 605 insertions(+), 305 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
 create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/generic.txt
 create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt
 create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml

-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to DT schema
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:33   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction Serge Semin
                   ` (19 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

The generic USB HCD properties have been described in the legacy bindings
text file: Documentation/devicetree/bindings/usb/generic.txt . Let's
convert it' content into the USB HCD DT schema properties so all USB DT
nodes would be validated to have them properly utilized.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Discard '|' in all the new properties, since we don't need to preserve
  the text formatting.
- Convert abbreviated form of the "maximum-speed" enum restriction into
  the multi-lined version of the list.
- Drop quotes from around the string constants.
---
 .../devicetree/bindings/usb/generic.txt       | 57 ------------
 .../devicetree/bindings/usb/usb-hcd.yaml      | 88 +++++++++++++++++++
 2 files changed, 88 insertions(+), 57 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/generic.txt

diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
deleted file mode 100644
index ba472e7aefc9..000000000000
--- a/Documentation/devicetree/bindings/usb/generic.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-Generic USB Properties
-
-Optional properties:
- - maximum-speed: tells USB controllers we want to work up to a certain
-			speed. Valid arguments are "super-speed-plus",
-			"super-speed", "high-speed", "full-speed" and
-			"low-speed". In case this isn't passed via DT, USB
-			controllers should default to their maximum HW
-			capability.
- - dr_mode: tells Dual-Role USB controllers that we want to work on a
-			particular mode. Valid arguments are "host",
-			"peripheral" and "otg". In case this attribute isn't
-			passed via DT, USB DRD controllers should default to
-			OTG.
- - phy_type: tells USB controllers that we want to configure the core to support
-			a UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is
-			selected. Valid arguments are "utmi" and "utmi_wide".
-			In case this isn't passed via DT, USB controllers should
-			default to HW capability.
- - otg-rev: tells usb driver the release number of the OTG and EH supplement
-			with which the device and its descriptors are compliant,
-			in binary-coded decimal (i.e. 2.0 is 0200H). This
-			property is used if any real OTG features(HNP/SRP/ADP)
-			is enabled, if ADP is required, otg-rev should be
-			0x0200 or above.
- - companion: phandle of a companion
- - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP
-			is the basic function of real OTG except you want it
-			to be a srp-capable only B device.
- - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is
-			optional for OTG device.
- - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
-			optional for OTG device.
- - usb-role-switch: boolean, indicates that the device is capable of assigning
-			the USB data role (USB host or USB device) for a given
-			USB connector, such as Type-C, Type-B(micro).
-			see connector/usb-connector.yaml.
- - role-switch-default-mode: indicating if usb-role-switch is enabled, the
-			device default operation mode of controller while usb
-			role is USB_ROLE_NONE. Valid arguments are "host" and
-			"peripheral". Defaults to "peripheral" if not
-			specified.
-
-
-This is an attribute to a USB controller such as:
-
-dwc3@4a030000 {
-	compatible = "synopsys,dwc3";
-	reg = <0x4a030000 0xcfff>;
-	interrupts = <0 92 4>
-	usb-phy = <&usb2_phy>, <&usb3,phy>;
-	maximum-speed = "super-speed";
-	dr_mode = "otg";
-	phy_type = "utmi_wide";
-	otg-rev = <0x0200>;
-	adp-disable;
-};
diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index 7263b7f2b510..ee7ea205c71d 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -22,9 +22,97 @@ properties:
     description:
       Name specifier for the USB PHY
 
+  maximum-speed:
+   description:
+     Tells USB controllers we want to work up to a certain speed. In case this
+     isn't passed via DT, USB controllers should default to their maximum HW
+     capability.
+   $ref: /schemas/types.yaml#/definitions/string
+   enum:
+     - low-speed
+     - full-speed
+     - high-speed
+     - super-speed
+     - super-speed-plus
+
+  dr_mode:
+    description:
+      Tells Dual-Role USB controllers that we want to work on a particular
+      mode. In case this attribute isn't passed via DT, USB DRD controllers
+      should default to OTG.
+    $ref: /schemas/types.yaml#/definitions/string
+    enum: [host, peripheral, otg]
+
+  phy_type:
+    description:
+      Tells USB controllers that we want to configure the core to support a
+      UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected. In case
+      this isn't passed via DT, USB controllers should default to HW
+      capability.
+    $ref: /schemas/types.yaml#/definitions/string
+    enum: [utmi, utmi_wide]
+
+  otg-rev:
+    description:
+      Tells usb driver the release number of the OTG and EH supplement with
+      which the device and its descriptors are compliant, in binary-coded
+      decimal (i.e. 2.0 is 0200H). This property is used if any real OTG
+      features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be
+      0x0200 or above.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  companion:
+    description: Phandle of a companion device
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  hnp-disable:
+    description:
+      Tells OTG controllers we want to disable OTG HNP. Normally HNP is the
+      basic function of real OTG except you want it to be a srp-capable only B
+      device.
+    type: boolean
+
+  srp-disable:
+    description:
+      Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG
+      device.
+    type: boolean
+
+  adp-disable:
+    description:
+      Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG
+      device.
+    type: boolean
+
+  usb-role-switch:
+    description:
+      Indicates that the device is capable of assigning the USB data role
+      (USB host or USB device) for a given USB connector, such as Type-C,
+      Type-B(micro). See connector/usb-connector.yaml.
+
+  role-switch-default-mode:
+    description:
+      Indicates if usb-role-switch is enabled, the device default operation
+      mode of controller while usb role is USB_ROLE_NONE.
+    $ref: /schemas/types.yaml#/definitions/string
+    enum: [host, peripheral]
+    default: peripheral
+
 examples:
   - |
     usb {
         phys = <&usb2_phy1>, <&usb3_phy1>;
         phy-names = "usb";
     };
+  - |
+    usb@4a030000 {
+        compatible = "snps,dwc3";
+        reg = <0x4a030000 0xcfff>;
+        interrupts = <0 92 4>;
+        usb-phy = <&usb2_phy>, <&usb3_phy>;
+        maximum-speed = "super-speed";
+        dr_mode = "otg";
+        phy_type = "utmi_wide";
+        otg-rev = <0x0200>;
+        adp-disable;
+    };
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
  2020-10-14 10:13 ` [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to " Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:33   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types Serge Semin
                   ` (18 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

There are only four OTG revisions are currently supported by the kernel:
0x0100, 0x0120, 0x0130, 0x0200. Any another value is considered as
invalid.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
 Documentation/devicetree/bindings/usb/usb-hcd.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index ee7ea205c71d..e01d8a54971e 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -60,6 +60,7 @@ properties:
       features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be
       0x0200 or above.
     $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [0x0100, 0x0120, 0x0130, 0x0200]
 
   companion:
     description: Phandle of a companion device
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
  2020-10-14 10:13 ` [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to " Serge Semin
  2020-10-14 10:13 ` [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:34   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property Serge Semin
                   ` (17 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

Aside from the UTMI+ there are also ULPI, Serial and HSIC PHY types
that can be specified in the phy_type HCD property. Add them to the
enumeration of the acceptable values.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Grammar fix: "s/PHY types can be/PHY types that can be"
- Drop quotes from around the string constants.
---
 Documentation/devicetree/bindings/usb/usb-hcd.yaml | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index e01d8a54971e..a1a6cde7327d 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -46,11 +46,13 @@ properties:
   phy_type:
     description:
       Tells USB controllers that we want to configure the core to support a
-      UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected. In case
-      this isn't passed via DT, USB controllers should default to HW
-      capability.
+      UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected, UTMI+ low
+      pin interface if ULPI is specified, Serial core/PHY interconnect if
+      serial is specified and High-Speed Inter-Chip feature if HSIC is
+      selected. In case this isn't passed via DT, USB controllers should
+      default to HW capability.
     $ref: /schemas/types.yaml#/definitions/string
-    enum: [utmi, utmi_wide]
+    enum: [utmi, utmi_wide, ulpi, serial, hsic]
 
   otg-rev:
     description:
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (2 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-14 13:27   ` Rob Herring
  2020-10-16 18:47   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property Serge Semin
                   ` (16 subsequent siblings)
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

The host controller device might be designed to work for the particular
products or applications. In that case its DT node is supposed to be
equipped with the tpl-support property.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Grammar fix: "s/it'/its"
- Discard '|' from the property description, since we don't need to preserve
  the text formatting.
---
 Documentation/devicetree/bindings/usb/usb-hcd.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index a1a6cde7327d..1f9b40fdea70 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -101,6 +101,12 @@ properties:
     enum: [host, peripheral]
     default: peripheral
 
+  tpl-support:
+    description:
+      Indicates if the Targeted Peripheral List is supported for given
+      targeted hosts (non-PC hosts).
+    type: boolean
+
 examples:
   - |
     usb {
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (3 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:47   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema Serge Semin
                   ` (15 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

Even though the Generic PHY framework is the more preferable way of
setting the USB PHY up, there are still many dts-files and DT bindings
which rely on having the legacy "usb-phy" specified to attach particular
USB PHYs to USB cores. Let's have the "usb-phy" property described in
the generic USB HCD binding file so it would be validated against the
nodes in which it's specified. Mark the property as deprecated to
discourage the developers from using it.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Discard '|' from the property description, since we don't need to preserve
  the text formatting.
---
 Documentation/devicetree/bindings/usb/usb-hcd.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index 1f9b40fdea70..264a660dc6ea 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -22,6 +22,13 @@ properties:
     description:
       Name specifier for the USB PHY
 
+  usb-phy:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description:
+      List of all the USB PHYs on this HCD to be accepted by the legacy USB
+      Physical Layer subsystem.
+    deprecated: true
+
   maximum-speed:
    description:
      Tells USB controllers we want to work up to a certain speed. In case this
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (4 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:49   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device Serge Semin
                   ` (14 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

Currently the DT bindings of Generic xHCI Controllers are described by means
of the legacy text file. Since such format is deprecated in favor of the
DT schema, let's convert the Generic xHCI Controllers bindings file to the
corresponding yaml files. There will be two of them: a DT schema for the
xHCI controllers on a generic platform and a DT schema validating a generic
xHCI controllers properties. The later will be used to validate the xHCI
controllers, which aside from some vendor-specific features support the
basic xHCI functionality.

An xHCI-compatible DT node shall support the standard USB HCD properties
and custom ones like: usb2-lpm-disable, usb3-lpm-capable,
quirk-broken-port-ped and imod-interval-ns. In addition if a generic xHCI
controller is being validated against the DT schema it is also supposed to
be equipped with mandatory compatible string, single registers range,
single interrupts source, and is supposed to optionally contain up to two
reference clocks for the controller core and CSRs.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Add explicit "additionalProperties: true" to the usb-xhci.yaml schema,
  since additionalProperties/unevaluatedProperties are going to be mandary
  for each binding.
---
 .../devicetree/bindings/usb/generic-xhci.yaml | 63 +++++++++++++++++++
 .../devicetree/bindings/usb/usb-xhci.txt      | 41 ------------
 .../devicetree/bindings/usb/usb-xhci.yaml     | 42 +++++++++++++
 3 files changed, 105 insertions(+), 41 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt
 create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml

diff --git a/Documentation/devicetree/bindings/usb/generic-xhci.yaml b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
new file mode 100644
index 000000000000..1ea1d49a8175
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/generic-xhci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: USB xHCI Controller Device Tree Bindings
+
+maintainers:
+  - Mathias Nyman <mathias.nyman@intel.com>
+
+allOf:
+  - $ref: "usb-xhci.yaml#"
+
+properties:
+  compatible:
+    oneOf:
+      - description: Generic xHCI device
+        const: generic-xhci
+      - description: Armada 37xx/375/38x/8k SoCs
+        items:
+          - enum:
+              - marvell,armada3700-xhci
+              - marvell,armada-375-xhci
+              - marvell,armada-380-xhci
+              - marvell,armada-8k-xhci
+          - const: generic-xhci
+      - description: Broadcom STB SoCs with xHCI
+        const: brcm,bcm7445-xhci
+      - description: Generic xHCI device
+        const: xhci-platform
+        deprecated: true
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: core
+      - const: reg
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+examples:
+  - |
+    usb@f0931000 {
+      compatible = "generic-xhci";
+      reg = <0xf0931000 0x8c8>;
+      interrupts = <0x0 0x4e 0x0>;
+    };
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
deleted file mode 100644
index 0c5cff84a969..000000000000
--- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-USB xHCI controllers
-
-Required properties:
-  - compatible: should be one or more of
-
-    - "generic-xhci" for generic XHCI device
-    - "marvell,armada3700-xhci" for Armada 37xx SoCs
-    - "marvell,armada-375-xhci" for Armada 375 SoCs
-    - "marvell,armada-380-xhci" for Armada 38x SoCs
-    - "brcm,bcm7445-xhci" for Broadcom STB SoCs with XHCI
-    - "xhci-platform" (deprecated)
-
-    When compatible with the generic version, nodes must list the
-    SoC-specific version corresponding to the platform first
-    followed by the generic version.
-
-  - reg: should contain address and length of the standard XHCI
-    register set for the device.
-  - interrupts: one XHCI interrupt should be described here.
-
-Optional properties:
-  - clocks: reference to the clocks
-  - clock-names: mandatory if there is a second clock, in this case
-    the name must be "core" for the first clock and "reg" for the
-    second one
-  - usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
-  - usb3-lpm-capable: determines if platform is USB3 LPM capable
-  - quirk-broken-port-ped: set if the controller has broken port disable mechanism
-  - imod-interval-ns: default interrupt moderation interval is 5000ns
-  - phys : see usb-hcd.yaml in the current directory
-
-additionally the properties from usb-hcd.yaml (in the current directory) are
-supported.
-
-
-Example:
-	usb@f0931000 {
-		compatible = "generic-xhci";
-		reg = <0xf0931000 0x8c8>;
-		interrupts = <0x0 0x4e 0x0>;
-	};
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.yaml b/Documentation/devicetree/bindings/usb/usb-xhci.yaml
new file mode 100644
index 000000000000..965f87fef702
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/usb-xhci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic USB xHCI Controller Device Tree Bindings
+
+maintainers:
+  - Mathias Nyman <mathias.nyman@intel.com>
+
+allOf:
+  - $ref: "usb-hcd.yaml#"
+
+properties:
+  usb2-lpm-disable:
+    description: Indicates if we don't want to enable USB2 HW LPM
+    type: boolean
+
+  usb3-lpm-capable:
+    description: Determines if platform is USB3 LPM capable
+    type: boolean
+
+  quirk-broken-port-ped:
+    description: Set if the controller has broken port disable mechanism
+    type: boolean
+
+  imod-interval-ns:
+    description: Interrupt moderation interval
+    default: 5000
+
+additionalProperties: true
+
+examples:
+  - |
+    usb@f0930000 {
+      compatible = "generic-xhci";
+      reg = <0xf0930000 0x8c8>;
+      interrupts = <0x0 0x4e 0x0>;
+      usb2-lpm-disable;
+      usb3-lpm-capable;
+    };
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (5 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-15 16:39   ` Florian Fainelli
  2020-10-16 18:49   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file Serge Semin
                   ` (13 subsequent siblings)
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

For some reason the "brcm,xhci-brcm-v2" compatible string has been missing
in the original bindings file. Add it to the Generic xHCI Controllers DT
schema since the controller driver expects it to be supported.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
 Documentation/devicetree/bindings/usb/generic-xhci.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/usb/generic-xhci.yaml b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
index 1ea1d49a8175..23d73df96ea3 100644
--- a/Documentation/devicetree/bindings/usb/generic-xhci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-xhci.yaml
@@ -26,7 +26,9 @@ properties:
               - marvell,armada-8k-xhci
           - const: generic-xhci
       - description: Broadcom STB SoCs with xHCI
-        const: brcm,bcm7445-xhci
+        enum:
+          - brcm,xhci-brcm-v2
+          - brcm,bcm7445-xhci
       - description: Generic xHCI device
         const: xhci-platform
         deprecated: true
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (6 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:50   ` Rob Herring
  2020-10-20  4:42   ` Yoshihiro Shimoda
  2020-10-14 10:13 ` [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema Serge Semin
                   ` (12 subsequent siblings)
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Lad Prabhakar, Yoshihiro Shimoda
  Cc: devicetree, linux-snps-arc, linux-kernel, Neil Armstrong,
	Kevin Hilman, linux-usb, linux-mips, Serge Semin,
	Bjorn Andersson, Serge Semin, Manu Gautam, Andy Gross,
	Pavel Parkhomenko, Alexey Malahov, linuxppc-dev,
	linux-arm-kernel, Roger Quadros

With minor peculiarities (like uploading some vendor-specific firmware)
these are just Generic xHCI controllers fully compatible with its
properties. Make sure the Renesas USB xHCI DT nodes are also validated
against the Generic xHCI DT schema.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
 Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml b/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml
index add9f7b66da0..4491567152a1 100644
--- a/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml
+++ b/Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml
@@ -11,7 +11,7 @@ maintainers:
   - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
 
 allOf:
-  - $ref: "usb-hcd.yaml"
+  - $ref: "usb-xhci.yaml"
 
 properties:
   compatible:
@@ -68,7 +68,7 @@ required:
   - power-domains
   - resets
 
-additionalProperties: false
+unevaluatedProperties: false
 
 examples:
   - |
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (7 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-14 13:32   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support Serge Semin
                   ` (11 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

DWC USB3 DT node is supposed to be compliant with the Generic xHCI
Controller schema, but with additional vendor-specific properties, the
controller-specific reference clocks and PHYs. So let's convert the
currently available legacy text-based DWC USB3 bindings to the DT schema
and make sure the DWC USB3 nodes are also validated against the
usb-xhci.yaml schema.

Note we have to discard the nodename restriction of being prefixed with
"dwc3@" string, since in accordance with the usb-hcd.yaml schema USB nodes
are supposed to be named as "^usb(@.*)".

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Discard '|' from the descriptions, since we don't need to preserve
  the text formatting in any of them.
- Drop quotes from around the string constants.
- Fix the "clock-names" prop description to be referring the enumerated
  clock-names instead of the ones from the Databook.
---
 .../devicetree/bindings/usb/dwc3.txt          | 125 --------
 .../devicetree/bindings/usb/snps,dwc3.yaml    | 295 ++++++++++++++++++
 2 files changed, 295 insertions(+), 125 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
 create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
deleted file mode 100644
index d03edf9d3935..000000000000
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ /dev/null
@@ -1,125 +0,0 @@
-synopsys DWC3 CORE
-
-DWC3- USB3 CONTROLLER. Complies to the generic USB binding properties
-      as described in 'usb/generic.txt'
-
-Required properties:
- - compatible: must be "snps,dwc3"
- - reg : Address and length of the register set for the device
- - interrupts: Interrupts used by the dwc3 controller.
- - clock-names: list of clock names. Ideally should be "ref",
-                "bus_early", "suspend" but may be less or more.
- - clocks: list of phandle and clock specifier pairs corresponding to
-           entries in the clock-names property.
-
-Exception for clocks:
-  clocks are optional if the parent node (i.e. glue-layer) is compatible to
-  one of the following:
-    "cavium,octeon-7130-usb-uctl"
-    "qcom,dwc3"
-    "samsung,exynos5250-dwusb3"
-    "samsung,exynos5433-dwusb3"
-    "samsung,exynos7-dwusb3"
-    "sprd,sc9860-dwc3"
-    "st,stih407-dwc3"
-    "ti,am437x-dwc3"
-    "ti,dwc3"
-    "ti,keystone-dwc3"
-    "rockchip,rk3399-dwc3"
-    "xlnx,zynqmp-dwc3"
-
-Optional properties:
- - usb-phy : array of phandle for the PHY device.  The first element
-   in the array is expected to be a handle to the USB2/HS PHY and
-   the second element is expected to be a handle to the USB3/SS PHY
- - phys: from the *Generic PHY* bindings
- - phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
-	or "usb3-phy".
- - resets: set of phandle and reset specifier pairs
- - snps,usb2-lpm-disable: indicate if we don't want to enable USB2 HW LPM
- - snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
- - snps,dis-start-transfer-quirk: when set, disable isoc START TRANSFER command
-			failure SW work-around for DWC_usb31 version 1.70a-ea06
-			and prior.
- - snps,disable_scramble_quirk: true when SW should disable data scrambling.
-	Only really useful for FPGA builds.
- - snps,has-lpm-erratum: true when DWC3 was configured with LPM Erratum enabled
- - snps,lpm-nyet-threshold: LPM NYET threshold
- - snps,u2exit_lfps_quirk: set if we want to enable u2exit lfps quirk
- - snps,u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk
- - snps,req_p1p2p3_quirk: when set, the core will always request for
-			P1/P2/P3 transition sequence.
- - snps,del_p1p2p3_quirk: when set core will delay P1/P2/P3 until a certain
-			amount of 8B10B errors occur.
- - snps,del_phy_power_chg_quirk: when set core will delay PHY power change
-			from P0 to P1/P2/P3.
- - snps,lfps_filter_quirk: when set core will filter LFPS reception.
- - snps,rx_detect_poll_quirk: when set core will disable a 400us delay to start
-			Polling LFPS after RX.Detect.
- - snps,tx_de_emphasis_quirk: when set core will set Tx de-emphasis value.
- - snps,tx_de_emphasis: the value driven to the PHY is controlled by the
-			LTSSM during USB3 Compliance mode.
- - snps,dis_u3_susphy_quirk: when set core will disable USB3 suspend phy.
- - snps,dis_u2_susphy_quirk: when set core will disable USB2 suspend phy.
- - snps,dis_enblslpm_quirk: when set clears the enblslpm in GUSB2PHYCFG,
-			disabling the suspend signal to the PHY.
- - snps,dis-u1-entry-quirk: set if link entering into U1 needs to be disabled.
- - snps,dis-u2-entry-quirk: set if link entering into U2 needs to be disabled.
- - snps,dis_rxdet_inp3_quirk: when set core will disable receiver detection
-			in PHY P3 power state.
- - snps,dis-u2-freeclk-exists-quirk: when set, clear the u2_freeclk_exists
-			in GUSB2PHYCFG, specify that USB2 PHY doesn't provide
-			a free-running PHY clock.
- - snps,dis-del-phy-power-chg-quirk: when set core will change PHY power
-			from P0 to P1/P2/P3 without delay.
- - snps,dis-tx-ipgap-linecheck-quirk: when set, disable u2mac linestate check
-			during HS transmit.
- - snps,parkmode-disable-ss-quirk: when set, all SuperSpeed bus instances in
-			park mode are disabled.
- - snps,dis_metastability_quirk: when set, disable metastability workaround.
-			CAUTION: use only if you are absolutely sure of it.
- - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
-			utmi_l1_suspend_n, false when asserts utmi_sleep_n
- - snps,hird-threshold: HIRD threshold
- - snps,hsphy_interface: High-Speed PHY interface selection between "utmi" for
-   UTMI+ and "ulpi" for ULPI when the DWC_USB3_HSPHY_INTERFACE has value 3.
- - snps,quirk-frame-length-adjustment: Value for GFLADJ_30MHZ field of GFLADJ
-	register for post-silicon frame length adjustment when the
-	fladj_30mhz_sdbnd signal is invalid or incorrect.
- - snps,rx-thr-num-pkt-prd: periodic ESS RX packet threshold count - host mode
-			only. Set this and rx-max-burst-prd to a valid,
-			non-zero value 1-16 (DWC_usb31 programming guide
-			section 1.2.4) to enable periodic ESS RX threshold.
- - snps,rx-max-burst-prd: max periodic ESS RX burst size - host mode only. Set
-			this and rx-thr-num-pkt-prd to a valid, non-zero value
-			1-16 (DWC_usb31 programming guide section 1.2.4) to
-			enable periodic ESS RX threshold.
- - snps,tx-thr-num-pkt-prd: periodic ESS TX packet threshold count - host mode
-			only. Set this and tx-max-burst-prd to a valid,
-			non-zero value 1-16 (DWC_usb31 programming guide
-			section 1.2.3) to enable periodic ESS TX threshold.
- - snps,tx-max-burst-prd: max periodic ESS TX burst size - host mode only. Set
-			this and tx-thr-num-pkt-prd to a valid, non-zero value
-			1-16 (DWC_usb31 programming guide section 1.2.3) to
-			enable periodic ESS TX threshold.
-
- - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
- - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
-			register, undefined length INCR burst type enable and INCRx type.
-			When just one value, which means INCRX burst mode enabled. When
-			more than one value, which means undefined length INCR burst type
-			enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
-
- - in addition all properties from usb-xhci.txt from the current directory are
-   supported as well
-
-
-This is usually a subnode to DWC3 glue to which it is connected.
-
-dwc3@4a030000 {
-	compatible = "snps,dwc3";
-	reg = <0x4a030000 0xcfff>;
-	interrupts = <0 92 4>
-	usb-phy = <&usb2_phy>, <&usb3,phy>;
-	snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
-};
diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
new file mode 100644
index 000000000000..994813f2e25f
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -0,0 +1,295 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/snps,dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Synopsys DesignWare USB3 Controller
+
+maintainers:
+  - Felipe Balbi <balbi@kernel.org>
+
+description:
+  This is usually a subnode to DWC3 glue to which it is connected, but can also
+  be presented as a standalone DT node with an optional vendor-specific
+  compatible string.
+
+allOf:
+  - $ref: "usb-xhci.yaml#"
+
+properties:
+  compatible:
+    contains:
+      const: snps,dwc3
+
+  interrupts:
+    minItems: 1
+    maxItems: 3
+
+  clocks:
+    description:
+      In general the core supports three types of clocks. bus_early is a
+      SoC Bus Clock (AHB/AXI/Native). ref generates ITP when the UTMI/ULPI
+      PHY is suspended. suspend clocks a small part of the USB3 core when
+      SS PHY in P3. But particular cases may differ from that having less
+      or more clock sources with another names.
+
+  clock-names:
+    contains:
+      anyOf:
+        - enum: [bus_early, ref, suspend]
+        - true
+
+  usb-phy:
+   minItems: 1
+   items:
+     - description: USB2/HS PHY
+     - description: USB3/SS PHY
+
+  phys:
+    minItems: 1
+    items:
+      - description: USB2/HS PHY
+      - description: USB3/SS PHY
+
+  phy-names:
+    minItems: 1
+    items:
+      - const: usb2-phy
+      - const: usb3-phy
+
+  resets:
+    minItems: 1
+
+  snps,usb2-lpm-disable:
+    description: Indicate if we don't want to enable USB2 HW LPM
+    type: boolean
+
+  snps,usb3_lpm_capable:
+    description: Determines if platform is USB3 LPM capable
+    type: boolean
+
+  snps,dis-start-transfer-quirk:
+    description:
+      When set, disable isoc START TRANSFER command failure SW work-around
+      for DWC_usb31 version 1.70a-ea06 and prior.
+    type: boolean
+
+  snps,disable_scramble_quirk:
+    description:
+      True when SW should disable data scrambling. Only really useful for FPGA
+      builds.
+    type: boolean
+
+  snps,has-lpm-erratum:
+    description: True when DWC3 was configured with LPM Erratum enabled
+    type: boolean
+
+  snps,lpm-nyet-threshold:
+    description: LPM NYET threshold
+    $ref: /schemas/types.yaml#/definitions/uint8
+
+  snps,u2exit_lfps_quirk:
+    description: Set if we want to enable u2exit lfps quirk
+    type: boolean
+
+  snps,u2ss_inp3_quirk:
+    description: Set if we enable P3 OK for U2/SS Inactive quirk
+    type: boolean
+
+  snps,req_p1p2p3_quirk:
+    description:
+      When set, the core will always request for P1/P2/P3 transition sequence.
+    type: boolean
+
+  snps,del_p1p2p3_quirk:
+    description:
+      When set core will delay P1/P2/P3 until a certain amount of 8B10B errors
+      occur.
+    type: boolean
+
+  snps,del_phy_power_chg_quirk:
+    description: When set core will delay PHY power change from P0 to P1/P2/P3.
+    type: boolean
+
+  snps,lfps_filter_quirk:
+    description: When set core will filter LFPS reception.
+    type: boolean
+
+  snps,rx_detect_poll_quirk:
+    description:
+      when set core will disable a 400us delay to start Polling LFPS after
+      RX.Detect.
+    type: boolean
+
+  snps,tx_de_emphasis_quirk:
+    description: When set core will set Tx de-emphasis value
+    type: boolean
+
+  snps,tx_de_emphasis:
+    description:
+      The value driven to the PHY is controlled by the LTSSM during USB3
+      Compliance mode.
+    $ref: /schemas/types.yaml#/definitions/uint8
+
+  snps,dis_u3_susphy_quirk:
+    description: When set core will disable USB3 suspend phy
+    type: boolean
+
+  snps,dis_u2_susphy_quirk:
+    description: When set core will disable USB2 suspend phy
+    type: boolean
+
+  snps,dis_enblslpm_quirk:
+    description:
+      When set clears the enblslpm in GUSB2PHYCFG, disabling the suspend signal
+      to the PHY.
+    type: boolean
+
+  snps,dis-u1-entry-quirk:
+    description: Set if link entering into U1 needs to be disabled
+    type: boolean
+
+  snps,dis-u2-entry-quirk:
+    description: Set if link entering into U2 needs to be disabled
+    type: boolean
+
+  snps,dis_rxdet_inp3_quirk:
+    description:
+      When set core will disable receiver detection in PHY P3 power state.
+    type: boolean
+
+  snps,dis-u2-freeclk-exists-quirk:
+    description:
+      When set, clear the u2_freeclk_exists in GUSB2PHYCFG, specify that USB2
+      PHY doesn't provide a free-running PHY clock.
+    type: boolean
+
+  snps,dis-del-phy-power-chg-quirk:
+    description:
+      When set core will change PHY power from P0 to P1/P2/P3 without delay.
+    type: boolean
+
+  snps,dis-tx-ipgap-linecheck-quirk:
+    description: When set, disable u2mac linestate check during HS transmit
+    type: boolean
+
+  snps,parkmode-disable-ss-quirk:
+    description:
+      When set, all SuperSpeed bus instances in park mode are disabled.
+    type: boolean
+
+  snps,dis_metastability_quirk:
+    description:
+      When set, disable metastability workaround. CAUTION! Use only if you are
+      absolutely sure of it.
+    type: boolean
+
+  snps,is-utmi-l1-suspend:
+    description:
+      True when DWC3 asserts output signal utmi_l1_suspend_n, false when
+      asserts utmi_sleep_n.
+    type: boolean
+
+  snps,hird-threshold:
+    description: HIRD threshold
+    $ref: /schemas/types.yaml#/definitions/uint8
+
+  snps,hsphy_interface:
+    description:
+      High-Speed PHY interface selection between UTMI+ and ULPI when the
+      DWC_USB3_HSPHY_INTERFACE has value 3.
+    $ref: /schemas/types.yaml#/definitions/uint8
+    enum: [utmi, ulpi]
+
+  snps,quirk-frame-length-adjustment:
+    description:
+      Value for GFLADJ_30MHZ field of GFLADJ register for post-silicon frame
+      length adjustment when the fladj_30mhz_sdbnd signal is invalid or
+      incorrect.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+  snps,rx-thr-num-pkt-prd:
+    description:
+      Periodic ESS RX packet threshold count (host mode only). Set this and
+      snps,rx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
+      programming guide section 1.2.4) to enable periodic ESS RX threshold.
+    $ref: /schemas/types.yaml#/definitions/uint8
+    minimum: 1
+    maximum: 16
+
+  snps,rx-max-burst-prd:
+    description:
+      Max periodic ESS RX burst size (host mode only). Set this and
+      snps,rx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
+      programming guide section 1.2.4) to enable periodic ESS RX threshold.
+    $ref: /schemas/types.yaml#/definitions/uint8
+    minimum: 1
+    maximum: 16
+
+  snps,tx-thr-num-pkt-prd:
+    description:
+      Periodic ESS TX packet threshold count (host mode only). Set this and
+      snps,tx-max-burst-prd to a valid, non-zero value 1-16 (DWC_usb31
+      programming guide section 1.2.3) to enable periodic ESS TX threshold.
+    $ref: /schemas/types.yaml#/definitions/uint8
+    minimum: 1
+    maximum: 16
+
+  snps,tx-max-burst-prd:
+    description:
+      Max periodic ESS TX burst size (host mode only). Set this and
+      snps,tx-thr-num-pkt-prd to a valid, non-zero value 1-16 (DWC_usb31
+      programming guide section 1.2.3) to enable periodic ESS TX threshold.
+    $ref: /schemas/types.yaml#/definitions/uint8
+    minimum: 1
+    maximum: 16
+
+  tx-fifo-resize:
+    description: Determines if the FIFO *has* to be reallocated
+    deprecated: true
+    type: boolean
+
+  snps,incr-burst-type-adjustment:
+    description:
+      Value for INCR burst type of GSBUSCFG0 register, undefined length INCR
+      burst type enable and INCRx type. A single value means INCRX burst mode
+      enabled. If more than one value specified, undefined length INCR burst
+      type will be enabled with burst lengths utilized up to the maximum
+      of the values passed in this property.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 8
+    uniqueItems: true
+    items:
+      enum: [1, 4, 8, 16, 32, 64, 128, 256]
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+examples:
+  - |
+    usb@4a030000 {
+      compatible = "snps,dwc3";
+      reg = <0x4a030000 0xcfff>;
+      interrupts = <0 92 4>;
+      usb-phy = <&usb2_phy>, <&usb3_phy>;
+      snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
+    };
+  - |
+    usb@4a000000 {
+      compatible = "snps,dwc3";
+      reg = <0x4a000000 0xcfff>;
+      interrupts = <0 92 4>;
+      clocks = <&clk 1>, <&clk 2>, <&clk 3>;
+      clock-names = "bus_early", "ref", "suspend";
+      phys = <&usb2_phy>, <&usb3_phy>;
+      phy-names = "usb2-phy", "usb3-phy";
+      snps,dis_u2_susphy_quirk;
+      snps,dis_enblslpm_quirk;
+    };
+...
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (8 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:50   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys, dwc3 compatible string Serge Semin
                   ` (10 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

The controller driver supports two types of DWC USB3 devices: with a
common interrupt lane and with individual interrupts for each mode. Add
support for both these cases to the DWC USB3 DT schema.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Grammar fix: "s/both of these cases support/support for both these cases"
- Drop quotes from around the string constants.
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 994813f2e25f..12102a84faf6 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -23,9 +23,20 @@ properties:
       const: snps,dwc3
 
   interrupts:
+    description: |
+      It's either a single common DWC3 interrupt (dwc_usb3) or individual
+      interrupts for the host, gadget and DRD modes.
     minItems: 1
     maxItems: 3
 
+  interrupt-names:
+    minItems: 1
+    maxItems: 3
+    oneOf:
+      - const: dwc_usb3
+      - items:
+          enum: [host, peripheral, otg]
+
   clocks:
     description:
       In general the core supports three types of clocks. bus_early is a
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys, dwc3 compatible string
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (9 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-14 20:18   ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 " Krzysztof Kozlowski
  2020-10-14 10:13 ` [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions Serge Semin
                   ` (9 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

The DWC USB3 driver and some DTS files like Exynos 5250, Keystone k2e, etc
expects the DWC USB3 DT node to have the compatible string with the
"synopsys" vendor prefix. Let's add the corresponding compatible string to
the controller DT schema, but mark it as deprecated seeing the Synopsys,
Inc. is presented with just "snps" vendor prefix.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Drop quotes from around the compat string constant.
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 12102a84faf6..2f746ac64e71 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -20,7 +20,10 @@ allOf:
 properties:
   compatible:
     contains:
-      const: snps,dwc3
+      oneOf:
+        - const: snps,dwc3
+        - const: synopsys,dwc3
+          deprecated: true
 
   interrupts:
     description: |
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (10 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys, dwc3 compatible string Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:54   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions Serge Semin
                   ` (8 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

In accordance with the driver comments the PIPE3 de-emphasis can be tuned
to be either -6dB, -2.5dB or disabled. Let's add the de-emphasis
property restriction so the DT schema would make sure the controller DT
node is equipped with correct value.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Grammar fix: "s/tunned/tuned"
- Grammar fix: remove redundant "or" conjunction.
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 2f746ac64e71..307affb669aa 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -145,6 +145,10 @@ properties:
       The value driven to the PHY is controlled by the LTSSM during USB3
       Compliance mode.
     $ref: /schemas/types.yaml#/definitions/uint8
+    enum:
+      - 0 # -6dB de-emphasis
+      - 1 # -3.5dB de-emphasis
+      - 2 # No de-emphasis
 
   snps,dis_u3_susphy_quirk:
     description: When set core will disable USB3 suspend phy
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (11 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:54   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value Serge Semin
                   ` (7 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

In accordance with the IP core databook the
snps,quirk-frame-length-adjustment property can be set within [0, 0x3F].
Let's make sure the DT schema applies a correct restriction on the
property.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 307affb669aa..eafd4be03058 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -226,6 +226,8 @@ properties:
       length adjustment when the fladj_30mhz_sdbnd signal is invalid or
       incorrect.
     $ref: /schemas/types.yaml#/definitions/uint32
+    minimum: 0
+    maximum: 0x3f
 
   snps,rx-thr-num-pkt-prd:
     description:
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (12 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:54   ` Rob Herring
  2020-10-16 20:46   ` Martin Blumenstingl
  2020-10-14 10:13 ` [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes Serge Semin
                   ` (6 subsequent siblings)
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Kevin Hilman, Neil Armstrong, Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-snps-arc, linux-kernel, linux-mips,
	Yoshihiro Shimoda, linux-usb, Lad Prabhakar, Serge Semin,
	Bjorn Andersson, Serge Semin, Manu Gautam, Andy Gross,
	Pavel Parkhomenko, linux-amlogic, Alexey Malahov, linuxppc-dev,
	linux-arm-kernel, Roger Quadros

An empty snps,quirk-frame-length-adjustment won't cause any change
performed by the driver. Moreover the DT schema validation will fail,
since it expects the property being assigned with some value. So set
fix the example by setting a valid FL-adj value in accordance with
Neil Armstrong comment.

Link: https://lore.kernel.org/linux-usb/20201010224121.12672-16-Sergey.Semin@baikalelectronics.ru/
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>

---

Note the same problem is in the DT source file
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi .
---
 .../devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
index 5b04a7dfa018..a4b44a16aaef 100644
--- a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
+++ b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
@@ -209,6 +209,6 @@ examples:
               interrupts = <30>;
               dr_mode = "host";
               snps,dis_u2_susphy_quirk;
-              snps,quirk-frame-length-adjustment;
+              snps,quirk-frame-length-adjustment = <0x20>;
           };
     };
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (13 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:54   ` Rob Herring
  2020-10-16 20:47   ` Martin Blumenstingl
  2020-10-14 10:13 ` [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node Serge Semin
                   ` (5 subsequent siblings)
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Kevin Hilman, Neil Armstrong, Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-snps-arc, linux-kernel, linux-mips,
	Yoshihiro Shimoda, linux-usb, Lad Prabhakar, Serge Semin,
	Bjorn Andersson, Serge Semin, Manu Gautam, Andy Gross,
	Pavel Parkhomenko, linux-amlogic, Alexey Malahov, linuxppc-dev,
	linux-arm-kernel, Roger Quadros

Amlogic G12A USB DT sub-nodes are supposed to be compatible with the
generic DWC USB2 and USB3 devices. Since now we've got DT schemas for
both of the later IP cores let's make sure that the Amlogic G12A USB
DT nodes are fully evaluated including the DWC sub-nodes.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>

---

Changelog v2:
- Use "oneOf: [dwc2.yaml#, snps,dwc3.yaml#]" instead of the bulky "if:
  properties: compatibe: ..." statement.
---
 .../devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
index a4b44a16aaef..7b2dc905c8ce 100644
--- a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
+++ b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml
@@ -78,7 +78,9 @@ properties:
 
 patternProperties:
   "^usb@[0-9a-f]+$":
-    type: object
+    oneOf:
+      - $ref: dwc2.yaml#
+      - $ref: snps,dwc3.yaml#
 
 additionalProperties: false
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (14 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:55   ` Rob Herring
  2020-10-14 10:13 ` [PATCH 17/20] dt-bindings: usb: qcom,dwc3: " Serge Semin
                   ` (4 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Roger Quadros
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel

TI Keystone DWC3 compatible DT node is supposed to have a DWC USB3
compatible sub-node to describe a fully functioning USB interface.
Since DWC USB3 has now got a DT schema describing its DT node, let's make
sure the TI Keystone DWC3 sub-node passes validation against it.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Grammar fix: "s/it'/its"
---
 Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml b/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml
index c1b19fc5d0a2..ca7fbe3ed22e 100644
--- a/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml
@@ -64,9 +64,7 @@ properties:
 
 patternProperties:
   "usb@[a-f0-9]+$":
-    type: object
-    description: This is the node representing the DWC3 controller instance
-      Documentation/devicetree/bindings/usb/dwc3.txt
+    $ref: snps,dwc3.yaml#
 
 required:
   - compatible
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 17/20] dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (15 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node Serge Semin
@ 2020-10-14 10:13 ` Serge Semin
  2020-10-16 18:55   ` [PATCH 17/20] dt-bindings: usb: qcom, dwc3: " Rob Herring
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
                   ` (3 subsequent siblings)
  20 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:13 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Andy Gross, Bjorn Andersson, Manu Gautam
  Cc: devicetree, linux-mips, Neil Armstrong, Kevin Hilman,
	Yoshihiro Shimoda, linux-usb, linux-kernel, Lad Prabhakar,
	Serge Semin, Alexey Malahov, Serge Semin, Pavel Parkhomenko,
	linux-arm-msm, linux-snps-arc, linuxppc-dev, linux-arm-kernel,
	Roger Quadros

Qualcomm msm8996/sc7180/sdm845 DWC3 compatible DT nodes are supposed to
have a DWC USB3 compatible sub-node to describe a fully functioning USB
interface. Let's use the available DWC USB3 DT schema to validate the
Qualcomm DWC3 sub-nodes.

Note since the generic DWC USB3 DT node is supposed to be named as generic
USB HCD ("^usb(@.*)?") one we have to accordingly fix the sub-nodes name
regexp and fix the DT node example.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Changelog v2:
- Discard the "^dwc3@[0-9a-f]+$" nodes from being acceptable as sub-nodes.
---
 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index dac10848dd7f..8f8d781e73a0 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -103,11 +103,8 @@ properties:
 # Required child node:
 
 patternProperties:
-  "^dwc3@[0-9a-f]+$":
-    type: object
-    description:
-      A child node must exist to represent the core DWC3 IP block
-      The content of the node is defined in dwc3.txt.
+  "^usb@[0-9a-f]+$":
+    $ref: snps,dwc3.yaml#
 
 required:
   - compatible
@@ -160,7 +157,7 @@ examples:
 
             resets = <&gcc GCC_USB30_PRIM_BCR>;
 
-            dwc3@a600000 {
+            usb@a600000 {
                 compatible = "snps,dwc3";
                 reg = <0 0x0a600000 0 0xcd00>;
                 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (16 preceding siblings ...)
  2020-10-14 10:13 ` [PATCH 17/20] dt-bindings: usb: qcom,dwc3: " Serge Semin
@ 2020-10-14 10:14 ` Serge Semin
  2020-10-14 18:00   ` Florian Fainelli
                     ` (4 more replies)
  2020-10-14 10:14 ` [PATCH 19/20] arch: dts: Fix xHCI " Serge Semin
                   ` (2 subsequent siblings)
  20 siblings, 5 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:14 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Alexey Brodkin, Vineet Gupta, Hauke Mehrtens,
	Rafał Miłecki, bcm-kernel-feedback-list, Wei Xu,
	Vladimir Zapolskiy, Maxime Coquelin, Alexandre Torgue,
	Paul Cercueil, Thomas Bogendoerfer, Matthias Brugger,
	Michael Ellerman, Benjamin Herrenschmidt, Paul Mackerras
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, linux-mediatek, Pavel Parkhomenko,
	Alexey Malahov, linuxppc-dev, linux-stm32, linux-arm-kernel,
	Roger Quadros

In accordance with the Generic EHCI/OHCI bindings the corresponding node
name is suppose to comply with the Generic USB HCD DT schema, which
requires the USB nodes to have the name acceptable by the regexp:
"^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
incompatible names.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Please, test the patch out to make sure it doesn't brake the dependent DTS
files. I did only a manual grepping of the possible nodes dependencies.
---
 arch/arc/boot/dts/axs10x_mb.dtsi               | 4 ++--
 arch/arc/boot/dts/hsdk.dts                     | 4 ++--
 arch/arc/boot/dts/vdk_axs10x_mb.dtsi           | 2 +-
 arch/arm/boot/dts/bcm5301x.dtsi                | 4 ++--
 arch/arm/boot/dts/bcm53573.dtsi                | 4 ++--
 arch/arm/boot/dts/hisi-x5hd2.dtsi              | 4 ++--
 arch/arm/boot/dts/lpc18xx.dtsi                 | 4 ++--
 arch/arm/boot/dts/stm32mp151.dtsi              | 4 ++--
 arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 4 ++--
 arch/arm64/boot/dts/hisilicon/hip06.dtsi       | 4 ++--
 arch/arm64/boot/dts/hisilicon/hip07.dtsi       | 4 ++--
 arch/mips/boot/dts/ingenic/jz4740.dtsi         | 2 +-
 arch/mips/boot/dts/ingenic/jz4770.dtsi         | 2 +-
 arch/mips/boot/dts/mti/sead3.dts               | 2 +-
 arch/mips/boot/dts/ralink/mt7628a.dtsi         | 2 +-
 arch/powerpc/boot/dts/akebono.dts              | 6 +++---
 16 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index 99d3e7175bf7..b64435385304 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -87,13 +87,13 @@ gmac: ethernet@18000 {
 			mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
 		};
 
-		ehci@40000 {
+		usb@40000 {
 			compatible = "generic-ehci";
 			reg = < 0x40000 0x100 >;
 			interrupts = < 8 >;
 		};
 
-		ohci@60000 {
+		usb@60000 {
 			compatible = "generic-ohci";
 			reg = < 0x60000 0x100 >;
 			interrupts = < 8 >;
diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts
index dcaa44e408ac..fdd4f7f635d3 100644
--- a/arch/arc/boot/dts/hsdk.dts
+++ b/arch/arc/boot/dts/hsdk.dts
@@ -234,7 +234,7 @@ phy0: ethernet-phy@0 { /* Micrel KSZ9031 */
 			};
 		};
 
-		ohci@60000 {
+		usb@60000 {
 			compatible = "snps,hsdk-v1.0-ohci", "generic-ohci";
 			reg = <0x60000 0x100>;
 			interrupts = <15>;
@@ -242,7 +242,7 @@ ohci@60000 {
 			dma-coherent;
 		};
 
-		ehci@40000 {
+		usb@40000 {
 			compatible = "snps,hsdk-v1.0-ehci", "generic-ehci";
 			reg = <0x40000 0x100>;
 			interrupts = <15>;
diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
index cbb179770293..90a412026e64 100644
--- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
@@ -46,7 +46,7 @@ ethernet@18000 {
 			clock-names = "stmmaceth";
 		};
 
-		ehci@40000 {
+		usb@40000 {
 			compatible = "generic-ehci";
 			reg = < 0x40000 0x100 >;
 			interrupts = < 8 >;
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 0016720ce530..bf5656d79a55 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -261,7 +261,7 @@ usb2: usb2@21000 {
 
 			interrupt-parent = <&gic>;
 
-			ehci: ehci@21000 {
+			ehci: usb@21000 {
 				#usb-cells = <0>;
 
 				compatible = "generic-ehci";
@@ -283,7 +283,7 @@ ehci_port2: port@2 {
 				};
 			};
 
-			ohci: ohci@22000 {
+			ohci: usb@22000 {
 				#usb-cells = <0>;
 
 				compatible = "generic-ohci";
diff --git a/arch/arm/boot/dts/bcm53573.dtsi b/arch/arm/boot/dts/bcm53573.dtsi
index 4af8e3293cff..51546fccc616 100644
--- a/arch/arm/boot/dts/bcm53573.dtsi
+++ b/arch/arm/boot/dts/bcm53573.dtsi
@@ -135,7 +135,7 @@ usb2: usb2@4000 {
 			#address-cells = <1>;
 			#size-cells = <1>;
 
-			ehci: ehci@4000 {
+			ehci: usb@4000 {
 				compatible = "generic-ehci";
 				reg = <0x4000 0x1000>;
 				interrupt-parent = <&gic>;
@@ -155,7 +155,7 @@ ehci_port2: port@2 {
 				};
 			};
 
-			ohci: ohci@d000 {
+			ohci: usb@d000 {
 				#usb-cells = <0>;
 
 				compatible = "generic-ohci";
diff --git a/arch/arm/boot/dts/hisi-x5hd2.dtsi b/arch/arm/boot/dts/hisi-x5hd2.dtsi
index 3ee7967c202d..693b85b2cc7d 100644
--- a/arch/arm/boot/dts/hisi-x5hd2.dtsi
+++ b/arch/arm/boot/dts/hisi-x5hd2.dtsi
@@ -452,14 +452,14 @@ gmac1: ethernet@1841000 {
 			status = "disabled";
 		};
 
-		usb0: ehci@1890000 {
+		usb0: usb@1890000 {
 			compatible = "generic-ehci";
 			reg = <0x1890000 0x1000>;
 			interrupts = <0 66 4>;
 			clocks = <&clock HIX5HD2_USB_CLK>;
 		};
 
-		usb1: ohci@1880000 {
+		usb1: usb@1880000 {
 			compatible = "generic-ohci";
 			reg = <0x1880000 0x1000>;
 			interrupts = <0 67 4>;
diff --git a/arch/arm/boot/dts/lpc18xx.dtsi b/arch/arm/boot/dts/lpc18xx.dtsi
index 10b8249b8ab6..82ffd7b0ad8a 100644
--- a/arch/arm/boot/dts/lpc18xx.dtsi
+++ b/arch/arm/boot/dts/lpc18xx.dtsi
@@ -121,7 +121,7 @@ mmcsd: mmcsd@40004000 {
 			status = "disabled";
 		};
 
-		usb0: ehci@40006100 {
+		usb0: usb@40006100 {
 			compatible = "nxp,lpc1850-ehci", "generic-ehci";
 			reg = <0x40006100 0x100>;
 			interrupts = <8>;
@@ -133,7 +133,7 @@ usb0: ehci@40006100 {
 			status = "disabled";
 		};
 
-		usb1: ehci@40007100 {
+		usb1: usb@40007100 {
 			compatible = "nxp,lpc1850-ehci", "generic-ehci";
 			reg = <0x40007100 0x100>;
 			interrupts = <9>;
diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
index bfe29023fbd5..576f7da564c5 100644
--- a/arch/arm/boot/dts/stm32mp151.dtsi
+++ b/arch/arm/boot/dts/stm32mp151.dtsi
@@ -1404,7 +1404,7 @@ ethernet0: ethernet@5800a000 {
 			status = "disabled";
 		};
 
-		usbh_ohci: usbh-ohci@5800c000 {
+		usbh_ohci: usb@5800c000 {
 			compatible = "generic-ohci";
 			reg = <0x5800c000 0x1000>;
 			clocks = <&rcc USBH>;
@@ -1413,7 +1413,7 @@ usbh_ohci: usbh-ohci@5800c000 {
 			status = "disabled";
 		};
 
-		usbh_ehci: usbh-ehci@5800d000 {
+		usbh_ehci: usb@5800d000 {
 			compatible = "generic-ehci";
 			reg = <0x5800d000 0x1000>;
 			clocks = <&rcc USBH>;
diff --git a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
index 12bc1d3ed424..a4acecb75c89 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
@@ -585,7 +585,7 @@ pcie: pcie@9860000 {
 			status = "disabled";
 		};
 
-		ohci: ohci@9880000 {
+		ohci: usb@9880000 {
 			compatible = "generic-ohci";
 			reg = <0x9880000 0x10000>;
 			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
@@ -600,7 +600,7 @@ ohci: ohci@9880000 {
 			status = "disabled";
 		};
 
-		ehci: ehci@9890000 {
+		ehci: usb@9890000 {
 			compatible = "generic-ehci";
 			reg = <0x9890000 0x10000>;
 			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/hisilicon/hip06.dtsi b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
index 50ceaa959bdc..1226440d54ad 100644
--- a/arch/arm64/boot/dts/hisilicon/hip06.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
@@ -373,7 +373,7 @@ refclk: refclk {
 			#clock-cells = <0>;
 		};
 
-		usb_ohci: ohci@a7030000 {
+		usb_ohci: usb@a7030000 {
 			compatible = "generic-ohci";
 			reg = <0x0 0xa7030000 0x0 0x10000>;
 			interrupt-parent = <&mbigen_usb>;
@@ -382,7 +382,7 @@ usb_ohci: ohci@a7030000 {
 			status = "disabled";
 		};
 
-		usb_ehci: ehci@a7020000 {
+		usb_ehci: usb@a7020000 {
 			compatible = "generic-ehci";
 			reg = <0x0 0xa7020000 0x0 0x10000>;
 			interrupt-parent = <&mbigen_usb>;
diff --git a/arch/arm64/boot/dts/hisilicon/hip07.dtsi b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
index 4773a533fce5..93f99a5255ac 100644
--- a/arch/arm64/boot/dts/hisilicon/hip07.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
@@ -1253,7 +1253,7 @@ uart0: uart@602b0000 {
 			status = "disabled";
 		};
 
-		usb_ohci: ohci@a7030000 {
+		usb_ohci: usb@a7030000 {
 			compatible = "generic-ohci";
 			reg = <0x0 0xa7030000 0x0 0x10000>;
 			interrupt-parent = <&mbigen_usb>;
@@ -1262,7 +1262,7 @@ usb_ohci: ohci@a7030000 {
 			status = "disabled";
 		};
 
-		usb_ehci: ehci@a7020000 {
+		usb_ehci: usb@a7020000 {
 			compatible = "generic-ehci";
 			reg = <0x0 0xa7020000 0x0 0x10000>;
 			interrupt-parent = <&mbigen_usb>;
diff --git a/arch/mips/boot/dts/ingenic/jz4740.dtsi b/arch/mips/boot/dts/ingenic/jz4740.dtsi
index 1520585c235c..b989ff62ffbc 100644
--- a/arch/mips/boot/dts/ingenic/jz4740.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4740.dtsi
@@ -281,7 +281,7 @@ dmac: dma-controller@13020000 {
 		clocks = <&cgu JZ4740_CLK_DMA>;
 	};
 
-	uhc: uhc@13030000 {
+	uhc: usb@13030000 {
 		compatible = "ingenic,jz4740-ohci", "generic-ohci";
 		reg = <0x13030000 0x1000>;
 
diff --git a/arch/mips/boot/dts/ingenic/jz4770.dtsi b/arch/mips/boot/dts/ingenic/jz4770.dtsi
index fa11ac950499..e45c03038826 100644
--- a/arch/mips/boot/dts/ingenic/jz4770.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4770.dtsi
@@ -417,7 +417,7 @@ dmac1: dma-controller@13420100 {
 		interrupts = <23>;
 	};
 
-	uhc: uhc@13430000 {
+	uhc: usb@13430000 {
 		compatible = "generic-ohci";
 		reg = <0x13430000 0x1000>;
 
diff --git a/arch/mips/boot/dts/mti/sead3.dts b/arch/mips/boot/dts/mti/sead3.dts
index 192c26ff1d3d..1cf6728af8fe 100644
--- a/arch/mips/boot/dts/mti/sead3.dts
+++ b/arch/mips/boot/dts/mti/sead3.dts
@@ -56,7 +56,7 @@ gic: interrupt-controller@1b1c0000 {
 		interrupt-parent = <&cpu_intc>;
 	};
 
-	ehci@1b200000 {
+	usb@1b200000 {
 		compatible = "generic-ehci";
 		reg = <0x1b200000 0x1000>;
 
diff --git a/arch/mips/boot/dts/ralink/mt7628a.dtsi b/arch/mips/boot/dts/ralink/mt7628a.dtsi
index 892e8ab863c5..45bf96a3d17a 100644
--- a/arch/mips/boot/dts/ralink/mt7628a.dtsi
+++ b/arch/mips/boot/dts/ralink/mt7628a.dtsi
@@ -275,7 +275,7 @@ usb_phy: usb-phy@10120000 {
 		reset-names = "host", "device";
 	};
 
-	ehci@101c0000 {
+	usb@101c0000 {
 		compatible = "generic-ehci";
 		reg = <0x101c0000 0x1000>;
 
diff --git a/arch/powerpc/boot/dts/akebono.dts b/arch/powerpc/boot/dts/akebono.dts
index df18f8dc4642..343326c30380 100644
--- a/arch/powerpc/boot/dts/akebono.dts
+++ b/arch/powerpc/boot/dts/akebono.dts
@@ -126,7 +126,7 @@ SATA0: sata@30000010000 {
 			interrupts = <93 2>;
 		};
 
-		EHCI0: ehci@30010000000 {
+		EHCI0: usb@30010000000 {
 			compatible = "ibm,476gtr-ehci", "generic-ehci";
 			reg = <0x300 0x10000000 0x0 0x10000>;
 			interrupt-parent = <&MPIC>;
@@ -140,14 +140,14 @@ SD0: sd@30000000000 {
 			interrupt-parent = <&MPIC>;
 		};
 
-		OHCI0: ohci@30010010000 {
+		OHCI0: usb@30010010000 {
 			compatible = "ibm,476gtr-ohci", "generic-ohci";
 			reg = <0x300 0x10010000 0x0 0x10000>;
 			interrupt-parent = <&MPIC>;
 			interrupts = <89 1>;
 			};
 
-		OHCI1: ohci@30010020000 {
+		OHCI1: usb@30010020000 {
 			compatible = "ibm,476gtr-ohci", "generic-ohci";
 			reg = <0x300 0x10020000 0x0 0x10000>;
 			interrupt-parent = <&MPIC>;
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 19/20] arch: dts: Fix xHCI DT nodes name
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (17 preceding siblings ...)
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
@ 2020-10-14 10:14 ` Serge Semin
  2020-10-14 10:14 ` [PATCH 20/20] arch: dts: Fix DWC USB3 " Serge Semin
  2020-10-14 17:39 ` [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
  20 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:14 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Hauke Mehrtens, Rafał Miłecki,
	bcm-kernel-feedback-list, Jason Cooper, Andrew Lunn,
	Gregory Clement, Sebastian Hesselbarth
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Serge Semin,
	Manu Gautam, Andy Gross, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-arm-kernel, Roger Quadros

In accordance with the Generic xHCI bindings the corresponding node name
is suppose to comply with the Generic USB HCD DT schema, which requires
the USB nodes to have the name acceptable by the regexp: "^usb(@.*)?" .
Let's fix the DTS files, which have the xHCI-nodes defined with
incompatible names.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Please, test the patch out to make sure it doesn't brake the dependent DTS
files. I did only a manual grepping of the possible nodes dependencies.
---
 arch/arm/boot/dts/bcm5301x.dtsi               | 2 +-
 arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index bf5656d79a55..cf89a44673c5 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -314,7 +314,7 @@ usb3: usb3@23000 {
 
 			interrupt-parent = <&gic>;
 
-			xhci: xhci@23000 {
+			xhci: usb@23000 {
 				#usb-cells = <0>;
 
 				compatible = "generic-xhci";
diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
index 9dcf16beabf5..1e37ae181acf 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
@@ -275,7 +275,7 @@ CP11X_LABEL(thermal): thermal-sensor@70 {
 			};
 		};
 
-		CP11X_LABEL(usb3_0): usb3@500000 {
+		CP11X_LABEL(usb3_0): usb@500000 {
 			compatible = "marvell,armada-8k-xhci",
 			"generic-xhci";
 			reg = <0x500000 0x4000>;
@@ -287,7 +287,7 @@ CP11X_LABEL(usb3_0): usb3@500000 {
 			status = "disabled";
 		};
 
-		CP11X_LABEL(usb3_1): usb3@510000 {
+		CP11X_LABEL(usb3_1): usb@510000 {
 			compatible = "marvell,armada-8k-xhci",
 			"generic-xhci";
 			reg = <0x510000 0x4000>;
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (18 preceding siblings ...)
  2020-10-14 10:14 ` [PATCH 19/20] arch: dts: Fix xHCI " Serge Semin
@ 2020-10-14 10:14 ` Serge Semin
  2020-10-14 10:33   ` Krzysztof Kozlowski
  2020-10-14 14:09   ` Felipe Balbi
  2020-10-14 17:39 ` [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
  20 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 10:14 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring,
	Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Kukjin Kim, Krzysztof Kozlowski,
	Santosh Shilimkar, Shawn Guo, Li Yang, Benoît Cousson,
	Tony Lindgren, Patrice Chotard, Maxime Ripard, Chen-Yu Tsai,
	Wei Xu, Andy Gross, Bjorn Andersson
  Cc: devicetree, linux-samsung-soc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Alexey Malahov, Serge Semin,
	Manu Gautam, linux-omap, Pavel Parkhomenko, linux-arm-msm,
	linux-snps-arc, linuxppc-dev, linux-arm-kernel, Roger Quadros

In accordance with the DWC USB3 bindings the corresponding node name is
suppose to comply with Generic USB HCD DT schema, which requires the USB
nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
the dtbs_check procedure failure. Let's fix the nodes naming to be
compatible with the DWC USB3 DT schema to make dtbs_check happy.

Note we don't change the DWC USB3-compatible nodes names of
arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
in-source comment says that the nodes name need to be preserved as
"^dwusb@.*" for some backward compatibility.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Please, test the patch out to make sure it doesn't brake the dependent DTS
files. I did only a manual grepping of the possible nodes dependencies.
---
 arch/arm/boot/dts/armada-375.dtsi              | 2 +-
 arch/arm/boot/dts/exynos5250.dtsi              | 2 +-
 arch/arm/boot/dts/exynos54xx.dtsi              | 4 ++--
 arch/arm/boot/dts/keystone-k2e.dtsi            | 4 ++--
 arch/arm/boot/dts/keystone.dtsi                | 2 +-
 arch/arm/boot/dts/ls1021a.dtsi                 | 2 +-
 arch/arm/boot/dts/omap5-l4.dtsi                | 2 +-
 arch/arm/boot/dts/stih407-family.dtsi          | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi   | 2 +-
 arch/arm64/boot/dts/exynos/exynos5433.dtsi     | 4 ++--
 arch/arm64/boot/dts/exynos/exynos7.dtsi        | 2 +-
 arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 4 ++--
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 6 +++---
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 4 ++--
 arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 4 ++--
 arch/arm64/boot/dts/hisilicon/hi3660.dtsi      | 2 +-
 arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi   | 4 ++--
 arch/arm64/boot/dts/qcom/ipq8074.dtsi          | 4 ++--
 arch/arm64/boot/dts/qcom/msm8996.dtsi          | 4 ++--
 arch/arm64/boot/dts/qcom/msm8998.dtsi          | 2 +-
 arch/arm64/boot/dts/qcom/qcs404-evb.dtsi       | 2 +-
 arch/arm64/boot/dts/qcom/qcs404.dtsi           | 4 ++--
 arch/arm64/boot/dts/qcom/sc7180.dtsi           | 2 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi           | 4 ++--
 arch/arm64/boot/dts/qcom/sm8150.dtsi           | 2 +-
 25 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 9805e507c695..7f2f24a29e6c 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -426,7 +426,7 @@ usb1: usb@54000 {
 				status = "disabled";
 			};
 
-			usb2: usb3@58000 {
+			usb2: usb@58000 {
 				compatible = "marvell,armada-375-xhci";
 				reg = <0x58000 0x20000>,<0x5b880 0x80>;
 				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index e3dbe4166836..ebcf8b40ea81 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -629,7 +629,7 @@ usb_dwc3 {
 			#size-cells = <1>;
 			ranges;
 
-			usbdrd_dwc3: dwc3@12000000 {
+			usbdrd_dwc3: usb@12000000 {
 				compatible = "synopsys,dwc3";
 				reg = <0x12000000 0x10000>;
 				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/exynos54xx.dtsi b/arch/arm/boot/dts/exynos54xx.dtsi
index 8aa5117e58ce..339243d19a80 100644
--- a/arch/arm/boot/dts/exynos54xx.dtsi
+++ b/arch/arm/boot/dts/exynos54xx.dtsi
@@ -148,7 +148,7 @@ usbdrd3_0: usb3-0 {
 			#size-cells = <1>;
 			ranges;
 
-			usbdrd_dwc3_0: dwc3@12000000 {
+			usbdrd_dwc3_0: usb@12000000 {
 				compatible = "snps,dwc3";
 				reg = <0x12000000 0x10000>;
 				interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
@@ -170,7 +170,7 @@ usbdrd3_1: usb3-1 {
 			#size-cells = <1>;
 			ranges;
 
-			usbdrd_dwc3_1: dwc3@12400000 {
+			usbdrd_dwc3_1: usb@12400000 {
 				compatible = "snps,dwc3";
 				reg = <0x12400000 0x10000>;
 				phys = <&usbdrd_phy1 0>, <&usbdrd_phy1 1>;
diff --git a/arch/arm/boot/dts/keystone-k2e.dtsi b/arch/arm/boot/dts/keystone-k2e.dtsi
index 2d94faf31fab..d625ad10cfad 100644
--- a/arch/arm/boot/dts/keystone-k2e.dtsi
+++ b/arch/arm/boot/dts/keystone-k2e.dtsi
@@ -52,7 +52,7 @@ &soc0 {
 
 		usb: usb@2680000 {
 			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
-			dwc3@2690000 {
+			usb@2690000 {
 				interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
 			};
 		};
@@ -78,7 +78,7 @@ keystone_usb1: usb@25000000 {
 			dma-ranges;
 			status = "disabled";
 
-			usb1: dwc3@25010000 {
+			usb1: usb@25010000 {
 				compatible = "synopsys,dwc3";
 				reg = <0x25010000 0x70000>;
 				interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index c298675a29a5..6f9748349f09 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -217,7 +217,7 @@ keystone_usb0: usb@2680000 {
 			dma-ranges;
 			status = "disabled";
 
-			usb0: dwc3@2690000 {
+			usb0: usb@2690000 {
 				compatible = "synopsys,dwc3";
 				reg = <0x2690000 0x70000>;
 				interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index 827373ef1a54..5c4104d301f1 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -874,7 +874,7 @@ usb2: usb@8600000 {
 			phy_type = "ulpi";
 		};
 
-		usb3: usb3@3100000 {
+		usb3: usb@3100000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3100000 0x0 0x10000>;
 			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/omap5-l4.dtsi b/arch/arm/boot/dts/omap5-l4.dtsi
index f3d3a16b7c64..887b3359dd5a 100644
--- a/arch/arm/boot/dts/omap5-l4.dtsi
+++ b/arch/arm/boot/dts/omap5-l4.dtsi
@@ -194,7 +194,7 @@ usb3: omap_dwc3@0 {
 				#size-cells = <1>;
 				utmi-mode = <2>;
 				ranges = <0 0 0x20000>;
-				dwc3: dwc3@10000 {
+				dwc3: usb@10000 {
 					compatible = "snps,dwc3";
 					reg = <0x10000 0x10000>;
 					interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
index 23a1746f3baa..2352f76b5a69 100644
--- a/arch/arm/boot/dts/stih407-family.dtsi
+++ b/arch/arm/boot/dts/stih407-family.dtsi
@@ -681,7 +681,7 @@ st_dwc3: dwc3@8f94000 {
 
 			status = "disabled";
 
-			dwc3: dwc3@9900000 {
+			dwc3: usb@9900000 {
 				compatible	= "snps,dwc3";
 				reg		= <0x09900000 0x100000>;
 				interrupts	= <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 9ce78a7b117d..7d1bbff25294 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -679,7 +679,7 @@ ohci0: usb@5101400 {
 			status = "disabled";
 		};
 
-		dwc3: dwc3@5200000 {
+		dwc3: usb@5200000 {
 			compatible = "snps,dwc3";
 			reg = <0x05200000 0x10000>;
 			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
index 74ac4ac75865..3320e596cb3f 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
@@ -1651,7 +1651,7 @@ usbdrd30: usbdrd {
 			ranges;
 			status = "disabled";
 
-			usbdrd_dwc3: dwc3@15400000 {
+			usbdrd_dwc3: usb@15400000 {
 				compatible = "snps,dwc3";
 				clocks = <&cmu_fsys CLK_SCLK_USBDRD30>,
 					<&cmu_fsys CLK_ACLK_USBDRD30>,
@@ -1704,7 +1704,7 @@ usbhost30: usbhost {
 			ranges;
 			status = "disabled";
 
-			usbhost_dwc3: dwc3@15a00000 {
+			usbhost_dwc3: usb@15a00000 {
 				compatible = "snps,dwc3";
 				clocks = <&cmu_fsys CLK_SCLK_USBHOST30>,
 					<&cmu_fsys CLK_ACLK_USBHOST30>,
diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
index b9ed6a33e290..48cd3a04fd07 100644
--- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
@@ -654,7 +654,7 @@ usbdrd3 {
 			#size-cells = <1>;
 			ranges;
 
-			dwc3@15400000 {
+			usb@15400000 {
 				compatible = "snps,dwc3";
 				reg = <0x15400000 0x10000>;
 				interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index ff19ec415b60..06dac6be67e9 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -453,7 +453,7 @@ edma0: edma@2c00000 {
 				 <&clockgen 4 3>;
 		};
 
-		usb0: usb3@2f00000 {
+		usb0: usb@2f00000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x2f00000 0x0 0x10000>;
 			interrupts = <0 60 0x4>;
@@ -474,7 +474,7 @@ sata: sata@3200000 {
 			status = "disabled";
 		};
 
-		usb1: usb2@8600000 {
+		usb1: usb@8600000 {
 			compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
 			reg = <0x0 0x8600000 0x0 0x1000>;
 			interrupts = <0 139 0x4>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 5c2e370f6316..1f45fa32e57b 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -750,7 +750,7 @@ edma0: edma@2c00000 {
 				 <&clockgen 4 0>;
 		};
 
-		usb0: usb3@2f00000 {
+		usb0: usb@2f00000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x2f00000 0x0 0x10000>;
 			interrupts = <0 60 0x4>;
@@ -761,7 +761,7 @@ usb0: usb3@2f00000 {
 			status = "disabled";
 		};
 
-		usb1: usb3@3000000 {
+		usb1: usb@3000000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3000000 0x0 0x10000>;
 			interrupts = <0 61 0x4>;
@@ -772,7 +772,7 @@ usb1: usb3@3000000 {
 			status = "disabled";
 		};
 
-		usb2: usb3@3100000 {
+		usb2: usb@3100000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3100000 0x0 0x10000>;
 			interrupts = <0 63 0x4>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 169f4742ae3b..96723b53a4e9 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -402,7 +402,7 @@ esdhc: esdhc@2140000 {
 			status = "disabled";
 		};
 
-		usb0: usb3@3100000 {
+		usb0: usb@3100000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3100000 0x0 0x10000>;
 			interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
@@ -413,7 +413,7 @@ usb0: usb3@3100000 {
 			status = "disabled";
 		};
 
-		usb1: usb3@3110000 {
+		usb1: usb@3110000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3110000 0x0 0x10000>;
 			interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index 41102dacc2e1..d356ec2beee3 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -737,7 +737,7 @@ sata1: sata@3210000 {
 			dma-coherent;
 		};
 
-		usb0: usb3@3100000 {
+		usb0: usb@3100000 {
 			status = "disabled";
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3100000 0x0 0x10000>;
@@ -748,7 +748,7 @@ usb0: usb3@3100000 {
 			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
 		};
 
-		usb1: usb3@3110000 {
+		usb1: usb@3110000 {
 			status = "disabled";
 			compatible = "snps,dwc3";
 			reg = <0x0 0x3110000 0x0 0x10000>;
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index d25aac5e0bf8..aea3800029b5 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -1166,7 +1166,7 @@ usb_phy: usb-phy {
 			};
 		};
 
-		dwc3: dwc3@ff100000 {
+		dwc3: usb@ff100000 {
 			compatible = "snps,dwc3";
 			reg = <0x0 0xff100000 0x0 0x100000>;
 
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
index defcbd15edf9..34e97da98270 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
@@ -1064,7 +1064,7 @@ &usb2 {
 	status = "okay";
 	extcon = <&usb2_id>;
 
-	dwc3@7600000 {
+	usb@7600000 {
 		extcon = <&usb2_id>;
 		dr_mode = "otg";
 		maximum-speed = "high-speed";
@@ -1075,7 +1075,7 @@ &usb3 {
 	status = "okay";
 	extcon = <&usb3_id>;
 
-	dwc3@6a00000 {
+	usb@6a00000 {
 		extcon = <&usb3_id>;
 		dr_mode = "otg";
 	};
diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index 96a5ec89b5f0..1129062a4ca1 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -427,7 +427,7 @@ usb_0: usb@8af8800 {
 			resets = <&gcc GCC_USB0_BCR>;
 			status = "disabled";
 
-			dwc_0: dwc3@8a00000 {
+			dwc_0: usb@8a00000 {
 				compatible = "snps,dwc3";
 				reg = <0x8a00000 0xcd00>;
 				interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
@@ -468,7 +468,7 @@ usb_1: usb@8cf8800 {
 			resets = <&gcc GCC_USB1_BCR>;
 			status = "disabled";
 
-			dwc_1: dwc3@8c00000 {
+			dwc_1: usb@8c00000 {
 				compatible = "snps,dwc3";
 				reg = <0x8c00000 0xcd00>;
 				interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 9951286db775..66b6d2f0a093 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -1767,7 +1767,7 @@ usb3: usb@6af8800 {
 			power-domains = <&gcc USB30_GDSC>;
 			status = "disabled";
 
-			dwc3@6a00000 {
+			usb@6a00000 {
 				compatible = "snps,dwc3";
 				reg = <0x06a00000 0xcc00>;
 				interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
@@ -1978,7 +1978,7 @@ usb2: usb@76f8800 {
 			power-domains = <&gcc USB30_GDSC>;
 			status = "disabled";
 
-			dwc3@7600000 {
+			usb@7600000 {
 				compatible = "snps,dwc3";
 				reg = <0x07600000 0xcc00>;
 				interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index c45870600909..7cc7897e7b83 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1678,7 +1678,7 @@ usb3: usb@a8f8800 {
 
 			resets = <&gcc GCC_USB_30_BCR>;
 
-			usb3_dwc3: dwc3@a800000 {
+			usb3_dwc3: usb@a800000 {
 				compatible = "snps,dwc3";
 				reg = <0x0a800000 0xcd00>;
 				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
index 6422cf9d5855..88d7b7a53743 100644
--- a/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
@@ -337,7 +337,7 @@ &usb2_phy_sec {
 &usb3 {
 	status = "okay";
 
-	dwc3@7580000 {
+	usb@7580000 {
 		dr_mode = "host";
 	};
 };
diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
index b654b802e95c..f6ef17553064 100644
--- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
@@ -544,7 +544,7 @@ usb3: usb@7678800 {
 			assigned-clock-rates = <19200000>, <200000000>;
 			status = "disabled";
 
-			dwc3@7580000 {
+			usb@7580000 {
 				compatible = "snps,dwc3";
 				reg = <0x07580000 0xcd00>;
 				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
@@ -573,7 +573,7 @@ usb2: usb@79b8800 {
 			assigned-clock-rates = <19200000>, <133333333>;
 			status = "disabled";
 
-			dwc3@78c0000 {
+			usb@78c0000 {
 				compatible = "snps,dwc3";
 				reg = <0x078c0000 0xcc00>;
 				interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index d46b3833e52f..bbc9a2b5c570 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -2673,7 +2673,7 @@ usb_1: usb@a6f8800 {
 					<&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3>;
 			interconnect-names = "usb-ddr", "apps-usb";
 
-			usb_1_dwc3: dwc3@a600000 {
+			usb_1_dwc3: usb@a600000 {
 				compatible = "snps,dwc3";
 				reg = <0 0x0a600000 0 0xe000>;
 				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 2884577dcb77..ca20e4e91f61 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -3573,7 +3573,7 @@ usb_1: usb@a6f8800 {
 					<&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_0>;
 			interconnect-names = "usb-ddr", "apps-usb";
 
-			usb_1_dwc3: dwc3@a600000 {
+			usb_1_dwc3: usb@a600000 {
 				compatible = "snps,dwc3";
 				reg = <0 0x0a600000 0 0xcd00>;
 				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
@@ -3621,7 +3621,7 @@ usb_2: usb@a8f8800 {
 					<&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_1>;
 			interconnect-names = "usb-ddr", "apps-usb";
 
-			usb_2_dwc3: dwc3@a800000 {
+			usb_2_dwc3: usb@a800000 {
 				compatible = "snps,dwc3";
 				reg = <0 0x0a800000 0 0xcd00>;
 				interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi
index b86a7ead3006..167d14dda974 100644
--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
@@ -846,7 +846,7 @@ usb_1: usb@a6f8800 {
 
 			resets = <&gcc GCC_USB30_PRIM_BCR>;
 
-			usb_1_dwc3: dwc3@a600000 {
+			usb_1_dwc3: usb@a600000 {
 				compatible = "snps,dwc3";
 				reg = <0 0x0a600000 0 0xcd00>;
 				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.27.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 10:14 ` [PATCH 20/20] arch: dts: Fix DWC USB3 " Serge Semin
@ 2020-10-14 10:33   ` Krzysztof Kozlowski
  2020-10-14 17:16     ` Serge Semin
  2020-10-14 14:09   ` Felipe Balbi
  1 sibling, 1 reply; 73+ messages in thread
From: Krzysztof Kozlowski @ 2020-10-14 10:33 UTC (permalink / raw)
  To: Serge Semin
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Wed, 14 Oct 2020 at 12:23, Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> In accordance with the DWC USB3 bindings the corresponding node name is
> suppose to comply with Generic USB HCD DT schema, which requires the USB
> nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> the dtbs_check procedure failure. Let's fix the nodes naming to be
> compatible with the DWC USB3 DT schema to make dtbs_check happy.
>
> Note we don't change the DWC USB3-compatible nodes names of
> arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> in-source comment says that the nodes name need to be preserved as
> "^dwusb@.*" for some backward compatibility.
>
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
>
> ---
>
> Please, test the patch out to make sure it doesn't brake the dependent DTS
> files. I did only a manual grepping of the possible nodes dependencies.

1. It is you who should compare the decompiled DTS, not us. For example:
$ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
scripts/dtc/dtx_diff ${i} dts-new/${i#dts-old/} ; done

$ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
fdtdump ${i} > ${i}.fdt ; crosc64 fdtdump dts-new/${i#dts-old/} >
dts-new/${i#dts-old/}.fdt ; diff -ubB ${i}.fdt
dts-new/${i#dts-old/}.fdt ; done

2. Split it per arm architectures (and proper subject prefix - not
"arch") and subarchitectures so maintainers can pick it up.

3. The subject title could be more accurate - there is no fix here
because there was no errors in the first place. Requirement of DWC
node names comes recently, so it is more alignment with dtschema.
Otherwise automatic-pickup-stable-bot might want to pick up... and it
should not go to stable.

Best regards,
Krzysztof

>  arch/arm/boot/dts/armada-375.dtsi              | 2 +-
>  arch/arm/boot/dts/exynos5250.dtsi              | 2 +-
>  arch/arm/boot/dts/exynos54xx.dtsi              | 4 ++--
>  arch/arm/boot/dts/keystone-k2e.dtsi            | 4 ++--
>  arch/arm/boot/dts/keystone.dtsi                | 2 +-
>  arch/arm/boot/dts/ls1021a.dtsi                 | 2 +-
>  arch/arm/boot/dts/omap5-l4.dtsi                | 2 +-
>  arch/arm/boot/dts/stih407-family.dtsi          | 2 +-
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi   | 2 +-
>  arch/arm64/boot/dts/exynos/exynos5433.dtsi     | 4 ++--
>  arch/arm64/boot/dts/exynos/exynos7.dtsi        | 2 +-
>  arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 4 ++--
>  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 6 +++---
>  arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 4 ++--
>  arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 4 ++--
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi      | 2 +-
>  arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi   | 4 ++--
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi          | 4 ++--
>  arch/arm64/boot/dts/qcom/msm8996.dtsi          | 4 ++--
>  arch/arm64/boot/dts/qcom/msm8998.dtsi          | 2 +-
>  arch/arm64/boot/dts/qcom/qcs404-evb.dtsi       | 2 +-
>  arch/arm64/boot/dts/qcom/qcs404.dtsi           | 4 ++--
>  arch/arm64/boot/dts/qcom/sc7180.dtsi           | 2 +-
>  arch/arm64/boot/dts/qcom/sdm845.dtsi           | 4 ++--
>  arch/arm64/boot/dts/qcom/sm8150.dtsi           | 2 +-
>  25 files changed, 38 insertions(+), 38 deletions(-)
>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  2020-10-14 10:13 ` [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property Serge Semin
@ 2020-10-14 13:27   ` Rob Herring
  2020-10-14 17:27     ` Serge Semin
  2020-10-16 18:47   ` Rob Herring
  1 sibling, 1 reply; 73+ messages in thread
From: Rob Herring @ 2020-10-14 13:27 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:46 +0300, Serge Semin wrote:
> The host controller device might be designed to work for the particular
> products or applications. In that case its DT node is supposed to be
> equipped with the tpl-support property.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/it'/its"
> - Discard '|' from the property description, since we don't need to preserve
>   the text formatting.
> ---
>  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 


My bot found errors running 'make dt_binding_check' on your patch:

Traceback (most recent call last):
  File "/usr/local/bin/dt-extract-example", line 45, in <module>
    binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 343, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 111, in get_single_data
    node = self.composer.get_single_node()
  File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
  File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 891, in _ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
  in "<unicode string>", line 27, column 14
make[1]: *** [Documentation/devicetree/bindings/Makefile:20: Documentation/devicetree/bindings/usb/usb-hcd.example.dts] Error 1
make[1]: *** Deleting file 'Documentation/devicetree/bindings/usb/usb-hcd.example.dts'
make[1]: *** Waiting for unfinished jobs....
./Documentation/devicetree/bindings/usb/usb-hcd.yaml:27:14: [error] syntax error: mapping values are not allowed here (syntax)
make[1]: *** [Documentation/devicetree/bindings/Makefile:59: Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
make: *** [Makefile:1366: dt_binding_check] Error 2


See https://patchwork.ozlabs.org/patch/1382001

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema
  2020-10-14 10:13 ` [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema Serge Semin
@ 2020-10-14 13:32   ` Rob Herring
  2020-10-14 17:37     ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Rob Herring @ 2020-10-14 13:32 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:51 +0300, Serge Semin wrote:
> DWC USB3 DT node is supposed to be compliant with the Generic xHCI
> Controller schema, but with additional vendor-specific properties, the
> controller-specific reference clocks and PHYs. So let's convert the
> currently available legacy text-based DWC USB3 bindings to the DT schema
> and make sure the DWC USB3 nodes are also validated against the
> usb-xhci.yaml schema.
> 
> Note we have to discard the nodename restriction of being prefixed with
> "dwc3@" string, since in accordance with the usb-hcd.yaml schema USB nodes
> are supposed to be named as "^usb(@.*)".
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Discard '|' from the descriptions, since we don't need to preserve
>   the text formatting in any of them.
> - Drop quotes from around the string constants.
> - Fix the "clock-names" prop description to be referring the enumerated
>   clock-names instead of the ones from the Databook.
> ---
>  .../devicetree/bindings/usb/dwc3.txt          | 125 --------
>  .../devicetree/bindings/usb/snps,dwc3.yaml    | 295 ++++++++++++++++++
>  2 files changed, 295 insertions(+), 125 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> 


My bot found errors running 'make dt_binding_check' on your patch:

./Documentation/devicetree/bindings/usb/snps,dwc3.yaml:44:4: [warning] wrong indentation: expected 4 but found 3 (indentation)
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: dwc3@a600000: $nodename:0: 'dwc3@a600000' does not match '^usb(@.*)?'
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.example.dt.yaml: usb@ff500000: snps,quirk-frame-length-adjustment: True is not of type 'array'
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml


See https://patchwork.ozlabs.org/patch/1382003

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 10:14 ` [PATCH 20/20] arch: dts: Fix DWC USB3 " Serge Semin
  2020-10-14 10:33   ` Krzysztof Kozlowski
@ 2020-10-14 14:09   ` Felipe Balbi
  2020-10-14 14:37     ` Serge Semin
  1 sibling, 1 reply; 73+ messages in thread
From: Felipe Balbi @ 2020-10-14 14:09 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Greg Kroah-Hartman, Rob Herring,
	Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth, Kukjin Kim, Krzysztof Kozlowski,
	Santosh Shilimkar, Shawn Guo, Li Yang, Benoît Cousson,
	Tony Lindgren, Patrice Chotard, Maxime Ripard, Chen-Yu Tsai,
	Wei Xu, Andy Gross, Bjorn Andersson
  Cc: devicetree, linux-samsung-soc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Alexey Malahov, Serge Semin,
	Manu Gautam, linux-omap, Pavel Parkhomenko, linux-arm-msm,
	linux-snps-arc, linuxppc-dev, linux-arm-kernel, Roger Quadros


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


Hi Serge,

Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> In accordance with the DWC USB3 bindings the corresponding node name is
> suppose to comply with Generic USB HCD DT schema, which requires the USB

DWC3 is not a simple HDC, though.

> nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> the dtbs_check procedure failure. Let's fix the nodes naming to be
> compatible with the DWC USB3 DT schema to make dtbs_check happy.
>
> Note we don't change the DWC USB3-compatible nodes names of
> arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> in-source comment says that the nodes name need to be preserved as
> "^dwusb@.*" for some backward compatibility.

interesting, compatibility with what? Some debugfs files, perhaps? :-)

In any case, I don't have any problems with this, so I'll let other
folks comment.

-- 
balbi

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

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 14:09   ` Felipe Balbi
@ 2020-10-14 14:37     ` Serge Semin
  2020-10-14 18:35       ` Rob Herring
  2020-10-15 10:15       ` Felipe Balbi
  0 siblings, 2 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 14:37 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda, linuxppc-dev,
	Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko

On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
> 
> Hi Serge,
> 
> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> > In accordance with the DWC USB3 bindings the corresponding node name is
> > suppose to comply with Generic USB HCD DT schema, which requires the USB
> 

> DWC3 is not a simple HDC, though.

Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
which are tuned by the DWC USB3 driver in the kernel. But after that the
controller is registered as xhci-hcd device so it's serviced by the xHCI driver,
which then registers the HCD device so the corresponding DT node is supposed
to be compatible with the next bindings: usb/usb-hcd.yaml, usb/usb-xhci.yaml
and usb/snps,dwc3,yaml. I've created the later one so to validate the denoted
compatibility.

> 
> > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> >
> > Note we don't change the DWC USB3-compatible nodes names of
> > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > in-source comment says that the nodes name need to be preserved as
> > "^dwusb@.*" for some backward compatibility.
> 

> interesting, compatibility with what? Some debugfs files, perhaps? :-)

Don't really know.) In my experience the worst type of such compatibility is
connected with some bootloader magic, which may add/remove/modify properties
to nodes with pre-defined names.

-Sergey

> 
> In any case, I don't have any problems with this, so I'll let other
> folks comment.
> 
> -- 
> balbi



^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 10:33   ` Krzysztof Kozlowski
@ 2020-10-14 17:16     ` Serge Semin
  2020-10-14 20:04       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 17:16 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Wed, Oct 14, 2020 at 12:33:25PM +0200, Krzysztof Kozlowski wrote:
> On Wed, 14 Oct 2020 at 12:23, Serge Semin
> <Sergey.Semin@baikalelectronics.ru> wrote:
> >
> > In accordance with the DWC USB3 bindings the corresponding node name is
> > suppose to comply with Generic USB HCD DT schema, which requires the USB
> > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> >
> > Note we don't change the DWC USB3-compatible nodes names of
> > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > in-source comment says that the nodes name need to be preserved as
> > "^dwusb@.*" for some backward compatibility.
> >
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> >
> > ---
> >
> > Please, test the patch out to make sure it doesn't brake the dependent DTS
> > files. I did only a manual grepping of the possible nodes dependencies.
> 

> 1. It is you who should compare the decompiled DTS, not us. For example:
> $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> scripts/dtc/dtx_diff ${i} dts-new/${i#dts-old/} ; done
> 
> $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> fdtdump ${i} > ${i}.fdt ; crosc64 fdtdump dts-new/${i#dts-old/} >
> dts-new/${i#dts-old/}.fdt ; diff -ubB ${i}.fdt
> dts-new/${i#dts-old/}.fdt ; done

So basically you suggest first to compile the old and new dts files, then to
de-compile them, then diff old and new fdt's, and visually compare the results.
Personally it isn't that much better than what I did, since each old and new
dtbs will for sure differ due to the node names change suggested in this patch.
So it will lead to the visual debugging too, which isn't that effective. But
your approach is still more demonstrative to make sure that I didn't loose any
nodes redefinition, since in the occasion the old and new de-compiled nodes will
differ not only by the node names but with an additional old named node.

So to speak thanks for suggesting it. I'll try it to validate the proposed
changes.

Two questions:
1) Any advise of a good inliner/command to compile all dtbs at once? Of course I
can get all the updated dtsi'es, then find out all the dts'es which include
them, then directly use dtc to compile the found dts'es... On the other hand I
can just compile all dts'es, then compare old and new ones. The diff of the
non-modified dtb'es will be just empty...
2) What crosc64 is?

> 
> 2. Split it per arm architectures (and proper subject prefix - not
> "arch") and subarchitectures so maintainers can pick it up.

Why? The changes are simple and can be formatted as a single patch. I've seen
tons of patches submitted like that, accepted and then merged. What you suggest
is just much more work, which I don't see quite required.

> 
> 3. The subject title could be more accurate - there is no fix here
> because there was no errors in the first place. Requirement of DWC
> node names comes recently, so it is more alignment with dtschema.
> Otherwise automatic-pickup-stable-bot might want to pick up... and it
> should not go to stable.

Actually it is a fix, because the USB DT nodes should have been named with "usb"
prefix in the first place. Legacy DWC USB3 bindings didn't define the nodes
naming, but implied to be "usb"-prefixed by the USB HCD schema. The Qualcomm
DWC3 schema should have defined the sub-nodes as "dwc3@"-prefixed, which was
wrong in the first place.

Regarding automatic-pickup-stable-bot if it exists I don't think it scans all the
emails, but most likely the stable@vger.kernel.org list only or the emails
having the "Fixes:" tag. If I am wrong please give me a link to the bot sources
or refer to a doc where I can read about the way it works, to take it into
account in future commits. Just to note I submitted patches which did some fixes,
had the word "fix" in the subject but weren't selected to be backported to the
stable kernel.

Anyway I don't really care that much about the subject text using the word "fix"
or some else. So if you suggest some better alternative, I'd be glad to consider
it.

-Sergey

> 
> Best regards,
> Krzysztof
> 
> >  arch/arm/boot/dts/armada-375.dtsi              | 2 +-
> >  arch/arm/boot/dts/exynos5250.dtsi              | 2 +-
> >  arch/arm/boot/dts/exynos54xx.dtsi              | 4 ++--
> >  arch/arm/boot/dts/keystone-k2e.dtsi            | 4 ++--
> >  arch/arm/boot/dts/keystone.dtsi                | 2 +-
> >  arch/arm/boot/dts/ls1021a.dtsi                 | 2 +-
> >  arch/arm/boot/dts/omap5-l4.dtsi                | 2 +-
> >  arch/arm/boot/dts/stih407-family.dtsi          | 2 +-
> >  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi   | 2 +-
> >  arch/arm64/boot/dts/exynos/exynos5433.dtsi     | 4 ++--
> >  arch/arm64/boot/dts/exynos/exynos7.dtsi        | 2 +-
> >  arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 4 ++--
> >  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 6 +++---
> >  arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 4 ++--
> >  arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 4 ++--
> >  arch/arm64/boot/dts/hisilicon/hi3660.dtsi      | 2 +-
> >  arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi   | 4 ++--
> >  arch/arm64/boot/dts/qcom/ipq8074.dtsi          | 4 ++--
> >  arch/arm64/boot/dts/qcom/msm8996.dtsi          | 4 ++--
> >  arch/arm64/boot/dts/qcom/msm8998.dtsi          | 2 +-
> >  arch/arm64/boot/dts/qcom/qcs404-evb.dtsi       | 2 +-
> >  arch/arm64/boot/dts/qcom/qcs404.dtsi           | 4 ++--
> >  arch/arm64/boot/dts/qcom/sc7180.dtsi           | 2 +-
> >  arch/arm64/boot/dts/qcom/sdm845.dtsi           | 4 ++--
> >  arch/arm64/boot/dts/qcom/sm8150.dtsi           | 2 +-
> >  25 files changed, 38 insertions(+), 38 deletions(-)
> >

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  2020-10-14 13:27   ` Rob Herring
@ 2020-10-14 17:27     ` Serge Semin
  2020-10-16 15:44       ` Rob Herring
  0 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 17:27 UTC (permalink / raw)
  To: Rob Herring
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, Oct 14, 2020 at 08:27:56AM -0500, Rob Herring wrote:
> On Wed, 14 Oct 2020 13:13:46 +0300, Serge Semin wrote:
> > The host controller device might be designed to work for the particular
> > products or applications. In that case its DT node is supposed to be
> > equipped with the tpl-support property.
> > 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > 
> > ---
> > 
> > Changelog v2:
> > - Grammar fix: "s/it'/its"
> > - Discard '|' from the property description, since we don't need to preserve
> >   the text formatting.
> > ---
> >  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> Traceback (most recent call last):
>   File "/usr/local/bin/dt-extract-example", line 45, in <module>
>     binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 343, in load
>     return constructor.get_single_data()
>   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 111, in get_single_data
>     node = self.composer.get_single_node()
>   File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
>   File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
>   File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
>   File "_ruamel_yaml.pyx", line 891, in _ruamel_yaml.CParser._compose_mapping_node
>   File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
> ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
>   in "<unicode string>", line 27, column 14
> make[1]: *** [Documentation/devicetree/bindings/Makefile:20: Documentation/devicetree/bindings/usb/usb-hcd.example.dts] Error 1
> make[1]: *** Deleting file 'Documentation/devicetree/bindings/usb/usb-hcd.example.dts'
> make[1]: *** Waiting for unfinished jobs....
> ./Documentation/devicetree/bindings/usb/usb-hcd.yaml:27:14: [error] syntax error: mapping values are not allowed here (syntax)
> make[1]: *** [Documentation/devicetree/bindings/Makefile:59: Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
> make: *** [Makefile:1366: dt_binding_check] Error 2
> 
> 
> See https://patchwork.ozlabs.org/patch/1382001
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure dt-schema is up to date:
> 
> pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
> 
> Please check and re-submit.

Hm, that's weird. Of course I did the dt_binding_check before submission, but
even after the dt-schema repo update I failed to see the error:

$ make -j8 ARCH=mips CROSS_COMPILE=mipsel-baikal-linux- dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/usb-hcd.yaml
  CHKDT   Documentation/devicetree/bindings/usb/usb-hcd.yaml
  SCHEMA  Documentation/devicetree/bindings/processed-schema-examples.yaml
  DTC     Documentation/devicetree/bindings/usb/usb-hcd.example.dt.yaml
  CHECK   Documentation/devicetree/bindings/usb/usb-hcd.example.dt.yaml

Rob, any idea why has the bot got mad at me?

-Sergey

> 

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema
  2020-10-14 13:32   ` Rob Herring
@ 2020-10-14 17:37     ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 17:37 UTC (permalink / raw)
  To: Rob Herring
  Cc: Neil Armstrong, linux-mips, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, Oct 14, 2020 at 08:32:19AM -0500, Rob Herring wrote:
> On Wed, 14 Oct 2020 13:13:51 +0300, Serge Semin wrote:
> > DWC USB3 DT node is supposed to be compliant with the Generic xHCI
> > Controller schema, but with additional vendor-specific properties, the
> > controller-specific reference clocks and PHYs. So let's convert the
> > currently available legacy text-based DWC USB3 bindings to the DT schema
> > and make sure the DWC USB3 nodes are also validated against the
> > usb-xhci.yaml schema.
> > 
> > Note we have to discard the nodename restriction of being prefixed with
> > "dwc3@" string, since in accordance with the usb-hcd.yaml schema USB nodes
> > are supposed to be named as "^usb(@.*)".
> > 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > 
> > ---
> > 
> > Changelog v2:
> > - Discard '|' from the descriptions, since we don't need to preserve
> >   the text formatting in any of them.
> > - Drop quotes from around the string constants.
> > - Fix the "clock-names" prop description to be referring the enumerated
> >   clock-names instead of the ones from the Databook.
> > ---
> >  .../devicetree/bindings/usb/dwc3.txt          | 125 --------
> >  .../devicetree/bindings/usb/snps,dwc3.yaml    | 295 ++++++++++++++++++
> >  2 files changed, 295 insertions(+), 125 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
> >  create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> > 
> 
> 

> My bot found errors running 'make dt_binding_check' on your patch:
> 
> ./Documentation/devicetree/bindings/usb/snps,dwc3.yaml:44:4: [warning] wrong indentation: expected 4 but found 3 (indentation)
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: dwc3@a600000: $nodename:0: 'dwc3@a600000' does not match '^usb(@.*)?'
> 	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.example.dt.yaml: usb@ff500000: snps,quirk-frame-length-adjustment: True is not of type 'array'
> 	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
> 
> 
> See https://patchwork.ozlabs.org/patch/1382003
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure dt-schema is up to date:
> 
> pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
> 
> Please check and re-submit.
> 

Both of these errors are fixed in the following patches of the series:
[PATCH 17/20] dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node
[PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value

This patch preserves the original legacy bindings and doesn't touch the
depended bogus DT schemas.

-Sergey


^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema
  2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
                   ` (19 preceding siblings ...)
  2020-10-14 10:14 ` [PATCH 20/20] arch: dts: Fix DWC USB3 " Serge Semin
@ 2020-10-14 17:39 ` Serge Semin
  20 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 17:39 UTC (permalink / raw)
  To: Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman, Rob Herring
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Manu Gautam,
	Andy Gross, Pavel Parkhomenko, Alexey Malahov, linuxppc-dev,
	linux-arm-kernel, Roger Quadros

Ah, forgot to mark the series as v2. Sorry about that. The next one will be v3
then...

-Sergey

On Wed, Oct 14, 2020 at 01:13:42PM +0300, Serge Semin wrote:
> We've performed some work on the Generic USB HCD, xHCI and DWC USB3 DT
> bindings in the framework of the Baikal-T1 SoC support integration into
> the kernel. This patchset is a result of that work.
> 
> First of all we moved the generic USB properties from the legacy text
> bindings into the USB HCD DT schema. So now the generic USB HCD-compatible
> DT nodes are validated taking into account the optional properties like:
> maximum-speed, dr_mode, otg-rev, usb-role-switch, etc. We've fixed these
> properties a bit so they would correspond to what functionality kernel
> currently supports.
> 
> Secondly we converted generic USB xHCI text bindings file into the DT
> schema. It had to be split up into two bindings: DT schema with generic
> xHCI properties and a generic xHCI device DT schema. The later will be
> used to validate the pure xHCI-based nodes, while the former can be
> utilized by some vendor-specific versions of xHCI.
> 
> Thirdly, what was primarily intended to be done for Baikal-T1 SoC USB we
> converted the legacy text-based DWC USB3 bindings to DT schema and altered
> the result a bit so it would be more coherent with what actually
> controller and its driver support. Since we've now got the DWC USB3 DT
> schema, we made it used to validate the sub-nodes of the Qualcom, TI and
> Amlogic DWC3 DT nodes.
> 
> Finally we've also fixed all the OHCI/EHCI, xHCI and DW USB3 compatible DT
> nodes so they would comply with the nodes naming scema declared in the USB
> HCD DT bindings file.
> 
> Link: https://lore.kernel.org/linux-usb/20201010224121.12672-1-Sergey.Semin@baikalelectronics.ru/
> Changelog v2:
> - Thanks to Sergei Shtylyov for suggesting the commit logs grammar fixes:
>   [PATCH 04/18] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
>   [PATCH 05/18] dt-bindings: usb: usb-hcd: Add "tpl-support" property
>   [PATCH 11/18] dt-bindings: usb: dwc3: Add interrupt-names property support
>   [PATCH 13/18] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
>   [PATCH 17/18] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
> - Set FL-adj of the amlogiv,meson-g12a-usb controller with value 0x20 instead
>   of completely removing the property.
> - Drop the patch:
>   [PATCH 02/18] dt-bindings: usb: usb-hcd: Add "wireless" maximum-speed
>                 property value
>   since "wireless" speed type is depracated due to lack of the device
>   supporting it.
> - Drop quotes from around the compat string constant.
> - Discard '|' from the property descriptions, since we don't need to preserve
>   the text formatting.
> - Convert abbreviated form of the "maximum-speed" enum constraint into
>   the multi-lined version of the list.
> - Fix the DW USB3 "clock-names" prop description to be refererring to the
>   enumerated clock-names instead of the ones from the Databook.
> - Add explicit "additionalProperties: true" to the usb-xhci.yaml schema,
>   since additionalProperties/unevaluatedProperties are going to be mandary
>   for each binding.
> - Use "oneOf: [dwc2.yaml#, snps,dwc3.yaml#]" instead of the bulky "if:
>   properties: compatibe: ..." statement.
> - Discard the "^dwc3@[0-9a-f]+$" nodes from being acceptable as sub-nodes
>   of the Qualcomm DWC3 DT nodes.
> - Add new patches:
>   [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
>   [PATCH 19/20] arch: dts: Fix xHCI DT nodes name
>   [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
> Cc: Andy Gross <agross@kernel.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Cc: Manu Gautam <mgautam@codeaurora.org>
> Cc: Roger Quadros <rogerq@ti.com>
> Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Cc: Neil Armstrong <narmstrong@baylibre.com>
> Cc: Kevin Hilman <khilman@baylibre.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-snps-arc@lists.infradead.org
> Cc: linux-mips@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-usb@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> 
> Serge Semin (20):
>   dt-bindings: usb: usb-hcd: Convert generic USB properties to DT schema
>   dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction
>   dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
>   dt-bindings: usb: usb-hcd: Add "tpl-support" property
>   dt-bindings: usb: usb-hcd: Add generic "usb-phy" property
>   dt-bindings: usb: Convert xHCI bindings to DT schema
>   dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
>   dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
>   dt-bindings: usb: Convert DWC USB3 bindings to DT schema
>   dt-bindings: usb: dwc3: Add interrupt-names property support
>   dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
>   dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
>   dt-bindings: usb: dwc3: Add Frame Length Adj restrictions
>   dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
>   dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
>   dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
>   dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node
>   arch: dts: Fix EHCI/OHCI DT nodes name
>   arch: dts: Fix xHCI DT nodes name
>   arch: dts: Fix DWC USB3 DT nodes name
> 
>  .../usb/amlogic,meson-g12a-usb-ctrl.yaml      |   6 +-
>  .../devicetree/bindings/usb/dwc3.txt          | 125 -------
>  .../devicetree/bindings/usb/generic-xhci.yaml |  65 ++++
>  .../devicetree/bindings/usb/generic.txt       |  57 ----
>  .../devicetree/bindings/usb/qcom,dwc3.yaml    |   9 +-
>  .../bindings/usb/renesas,usb-xhci.yaml        |   4 +-
>  .../devicetree/bindings/usb/snps,dwc3.yaml    | 315 ++++++++++++++++++
>  .../bindings/usb/ti,keystone-dwc3.yaml        |   4 +-
>  .../devicetree/bindings/usb/usb-hcd.yaml      | 104 ++++++
>  .../devicetree/bindings/usb/usb-xhci.txt      |  41 ---
>  .../devicetree/bindings/usb/usb-xhci.yaml     |  42 +++
>  arch/arc/boot/dts/axs10x_mb.dtsi              |   4 +-
>  arch/arc/boot/dts/hsdk.dts                    |   4 +-
>  arch/arc/boot/dts/vdk_axs10x_mb.dtsi          |   2 +-
>  arch/arm/boot/dts/armada-375.dtsi             |   2 +-
>  arch/arm/boot/dts/bcm5301x.dtsi               |   6 +-
>  arch/arm/boot/dts/bcm53573.dtsi               |   4 +-
>  arch/arm/boot/dts/exynos5250.dtsi             |   2 +-
>  arch/arm/boot/dts/exynos54xx.dtsi             |   4 +-
>  arch/arm/boot/dts/hisi-x5hd2.dtsi             |   4 +-
>  arch/arm/boot/dts/keystone-k2e.dtsi           |   4 +-
>  arch/arm/boot/dts/keystone.dtsi               |   2 +-
>  arch/arm/boot/dts/lpc18xx.dtsi                |   4 +-
>  arch/arm/boot/dts/ls1021a.dtsi                |   2 +-
>  arch/arm/boot/dts/omap5-l4.dtsi               |   2 +-
>  arch/arm/boot/dts/stih407-family.dtsi         |   2 +-
>  arch/arm/boot/dts/stm32mp151.dtsi             |   4 +-
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   2 +-
>  arch/arm64/boot/dts/exynos/exynos5433.dtsi    |   4 +-
>  arch/arm64/boot/dts/exynos/exynos7.dtsi       |   2 +-
>  .../arm64/boot/dts/freescale/fsl-ls1012a.dtsi |   4 +-
>  .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi |   6 +-
>  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi |   4 +-
>  .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi |   4 +-
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi     |   2 +-
>  .../arm64/boot/dts/hisilicon/hi3798cv200.dtsi |   4 +-
>  arch/arm64/boot/dts/hisilicon/hip06.dtsi      |   4 +-
>  arch/arm64/boot/dts/hisilicon/hip07.dtsi      |   4 +-
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   4 +-
>  arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi  |   4 +-
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi         |   4 +-
>  arch/arm64/boot/dts/qcom/msm8996.dtsi         |   4 +-
>  arch/arm64/boot/dts/qcom/msm8998.dtsi         |   2 +-
>  arch/arm64/boot/dts/qcom/qcs404-evb.dtsi      |   2 +-
>  arch/arm64/boot/dts/qcom/qcs404.dtsi          |   4 +-
>  arch/arm64/boot/dts/qcom/sc7180.dtsi          |   2 +-
>  arch/arm64/boot/dts/qcom/sdm845.dtsi          |   4 +-
>  arch/arm64/boot/dts/qcom/sm8150.dtsi          |   2 +-
>  arch/mips/boot/dts/ingenic/jz4740.dtsi        |   2 +-
>  arch/mips/boot/dts/ingenic/jz4770.dtsi        |   2 +-
>  arch/mips/boot/dts/mti/sead3.dts              |   2 +-
>  arch/mips/boot/dts/ralink/mt7628a.dtsi        |   2 +-
>  arch/powerpc/boot/dts/akebono.dts             |   6 +-
>  53 files changed, 605 insertions(+), 305 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/usb/generic.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>  delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml
> 
> -- 
> 2.27.0
> 

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
@ 2020-10-14 18:00   ` Florian Fainelli
  2020-10-14 18:11     ` Serge Semin
  2020-10-14 18:56   ` Paul Cercueil
                     ` (3 subsequent siblings)
  4 siblings, 1 reply; 73+ messages in thread
From: Florian Fainelli @ 2020-10-14 18:00 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Alexey Brodkin, Vineet Gupta, Hauke Mehrtens,
	Rafał Miłecki, bcm-kernel-feedback-list, Wei Xu,
	Vladimir Zapolskiy, Maxime Coquelin, Alexandre Torgue,
	Paul Cercueil, Thomas Bogendoerfer, Matthias Brugger,
	Michael Ellerman, Benjamin Herrenschmidt, Paul Mackerras
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Manu Gautam,
	Andy Gross, linux-mediatek, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-stm32, linux-arm-kernel, Roger Quadros

On 10/14/20 3:14 AM, Serge Semin wrote:
> In accordance with the Generic EHCI/OHCI bindings the corresponding node
> name is suppose to comply with the Generic USB HCD DT schema, which
> requires the USB nodes to have the name acceptable by the regexp:
> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> incompatible names.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Please, test the patch out to make sure it doesn't brake the dependent DTS
> files. I did only a manual grepping of the possible nodes dependencies.

Not sure how you envisioned these change to be picked up, but you may
need to split these changes between ARM/ARM64, MIPS and PowerPC at
least. And within ARM/ARM64 you will most likely have to split according
to the various SoC maintainers.
-- 
Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 18:00   ` Florian Fainelli
@ 2020-10-14 18:11     ` Serge Semin
  2020-10-14 18:41       ` Florian Fainelli
  0 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 18:11 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Neil Armstrong, Bjorn Andersson, Paul Cercueil, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki,
	Alexey Brodkin, Wei Xu, Andy Gross, bcm-kernel-feedback-list,
	Kevin Hilman, linux-snps-arc, devicetree, Alexandre Torgue,
	Mathias Nyman, Hauke Mehrtens, Lad Prabhakar, Vladimir Zapolskiy,
	Rob Herring, linux-mediatek, Matthias Brugger, Alexey Malahov,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Thomas Bogendoerfer, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linux-usb, linux-mips, Serge Semin, linux-kernel, Manu Gautam,
	Maxime Coquelin, Vineet Gupta, linuxppc-dev

On Wed, Oct 14, 2020 at 11:00:45AM -0700, Florian Fainelli wrote:
> On 10/14/20 3:14 AM, Serge Semin wrote:
> > In accordance with the Generic EHCI/OHCI bindings the corresponding node
> > name is suppose to comply with the Generic USB HCD DT schema, which
> > requires the USB nodes to have the name acceptable by the regexp:
> > "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> > incompatible names.
> > 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > 
> > ---
> > 
> > Please, test the patch out to make sure it doesn't brake the dependent DTS
> > files. I did only a manual grepping of the possible nodes dependencies.
> 

> Not sure how you envisioned these change to be picked up, but you may
> need to split these changes between ARM/ARM64, MIPS and PowerPC at
> least. And within ARM/ARM64 you will most likely have to split according
> to the various SoC maintainers.

Hmm, I don't really know how it's going to be done in this case, but there must
be a way to get the cross-platform patches picked up in general. For
instance, see the patches like:
714acdbd1c94 arch: rename copy_thread_tls() back to copy_thread()
140c8180eb7c arch: remove HAVE_COPY_THREAD_TLS
They touched the files from different files, but still have been merged in.
Maybe I should have copied these three patches to the "linux-arch@vger.kernel.org"
list or some other mailing list...

-Sergey

> -- 
> Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 14:37     ` Serge Semin
@ 2020-10-14 18:35       ` Rob Herring
  2020-10-14 21:22         ` Serge Semin
  2020-10-15 10:15       ` Felipe Balbi
  1 sibling, 1 reply; 73+ messages in thread
From: Rob Herring @ 2020-10-14 18:35 UTC (permalink / raw)
  To: Serge Semin
  Cc: Andrew Lunn, Linux USB List, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, arcml, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Santosh Shilimkar,
	linux-omap, linux-arm-kernel, Roger Quadros, Felipe Balbi,
	open list:MIPS, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko

On Wed, Oct 14, 2020 at 9:37 AM Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
> >
> > Hi Serge,
> >
> > Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> > > In accordance with the DWC USB3 bindings the corresponding node name is
> > > suppose to comply with Generic USB HCD DT schema, which requires the USB
> >
>
> > DWC3 is not a simple HDC, though.
>
> Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
> which are tuned by the DWC USB3 driver in the kernel. But after that the
> controller is registered as xhci-hcd device so it's serviced by the xHCI driver,
> which then registers the HCD device so the corresponding DT node is supposed
> to be compatible with the next bindings: usb/usb-hcd.yaml, usb/usb-xhci.yaml
> and usb/snps,dwc3,yaml. I've created the later one so to validate the denoted
> compatibility.
>
> >
> > > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> > >
> > > Note we don't change the DWC USB3-compatible nodes names of
> > > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > > in-source comment says that the nodes name need to be preserved as
> > > "^dwusb@.*" for some backward compatibility.
> >
>
> > interesting, compatibility with what? Some debugfs files, perhaps? :-)
>
> Don't really know.) In my experience the worst type of such compatibility is
> connected with some bootloader magic, which may add/remove/modify properties
> to nodes with pre-defined names.

I seriously doubt anyone is using the APM machines with DT (even ACPI
is somewhat doubtful). I say change them. Or remove the dts files and
see what happens. Either way it can always be reverted.

Rob

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 18:11     ` Serge Semin
@ 2020-10-14 18:41       ` Florian Fainelli
  2020-10-14 21:21         ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Florian Fainelli @ 2020-10-14 18:41 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Paul Cercueil, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki,
	Alexey Brodkin, Wei Xu, Andy Gross, bcm-kernel-feedback-list,
	Kevin Hilman, linux-snps-arc, devicetree, Alexandre Torgue,
	Mathias Nyman, Hauke Mehrtens, Lad Prabhakar, Vladimir Zapolskiy,
	Rob Herring, linux-mediatek, Matthias Brugger, Alexey Malahov,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Thomas Bogendoerfer, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linux-usb, linux-mips, Serge Semin, linux-kernel, Manu Gautam,
	Maxime Coquelin, Vineet Gupta, linuxppc-dev

On 10/14/20 11:11 AM, Serge Semin wrote:
> On Wed, Oct 14, 2020 at 11:00:45AM -0700, Florian Fainelli wrote:
>> On 10/14/20 3:14 AM, Serge Semin wrote:
>>> In accordance with the Generic EHCI/OHCI bindings the corresponding node
>>> name is suppose to comply with the Generic USB HCD DT schema, which
>>> requires the USB nodes to have the name acceptable by the regexp:
>>> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
>>> incompatible names.
>>>
>>> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
>>>
>>> ---
>>>
>>> Please, test the patch out to make sure it doesn't brake the dependent DTS
>>> files. I did only a manual grepping of the possible nodes dependencies.
>>
> 
>> Not sure how you envisioned these change to be picked up, but you may
>> need to split these changes between ARM/ARM64, MIPS and PowerPC at
>> least. And within ARM/ARM64 you will most likely have to split according
>> to the various SoC maintainers.
> 
> Hmm, I don't really know how it's going to be done in this case, but there must
> be a way to get the cross-platform patches picked up in general. For
> instance, see the patches like:
> 714acdbd1c94 arch: rename copy_thread_tls() back to copy_thread()
> 140c8180eb7c arch: remove HAVE_COPY_THREAD_TLS
> They touched the files from different files, but still have been merged in.

That situation is different, when a new facility is added and someone
has gone through the work of adding support for all architectures (or
nearly all of them), you want them to be merged in a way that limits
merge conflicts with other architecture changes.

Here you are fixing warnings, and each file you touch can clearly be
independently change from other files in the series without causing
merge conflicts. You are however creating the potential for merge
conflicts with other changes that the various SoC maintainers have
queued up.

> Maybe I should have copied these three patches to the "linux-arch@vger.kernel.org"
> list or some other mailing list...

Maybe Rob can queue them through his device tree repository, with the
ack of the various SoC maintainers...
-- 
Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
  2020-10-14 18:00   ` Florian Fainelli
@ 2020-10-14 18:56   ` Paul Cercueil
  2020-10-14 19:12     ` Alexey Brodkin
  2020-10-15  8:05   ` Amelie DELAUNAY
                     ` (2 subsequent siblings)
  4 siblings, 1 reply; 73+ messages in thread
From: Paul Cercueil @ 2020-10-14 18:56 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki,
	Alexey Brodkin, Wei Xu, Andy Gross, bcm-kernel-feedback-list,
	Kevin Hilman, linux-snps-arc, devicetree, Alexandre Torgue,
	Mathias Nyman, Hauke Mehrtens, Lad Prabhakar, Vladimir Zapolskiy,
	Rob Herring, linux-mediatek, Matthias Brugger, Alexey Malahov,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Thomas Bogendoerfer, Vineet Gupta, Yoshihiro Shimoda, linux-usb,
	linux-mips, Serge Semin, linux-kernel, Manu Gautam,
	Maxime Coquelin, Greg Kroah-Hartman, linuxppc-dev



Le mer. 14 oct. 2020 à 13:14, Serge Semin 
<Sergey.Semin@baikalelectronics.ru> a écrit :
> In accordance with the Generic EHCI/OHCI bindings the corresponding 
> node
> name is suppose to comply with the Generic USB HCD DT schema, which
> requires the USB nodes to have the name acceptable by the regexp:
> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined 
> with
> incompatible names.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Please, test the patch out to make sure it doesn't brake the 
> dependent DTS
> files. I did only a manual grepping of the possible nodes 
> dependencies.
> ---
>  arch/arc/boot/dts/axs10x_mb.dtsi               | 4 ++--
>  arch/arc/boot/dts/hsdk.dts                     | 4 ++--
>  arch/arc/boot/dts/vdk_axs10x_mb.dtsi           | 2 +-
>  arch/arm/boot/dts/bcm5301x.dtsi                | 4 ++--
>  arch/arm/boot/dts/bcm53573.dtsi                | 4 ++--
>  arch/arm/boot/dts/hisi-x5hd2.dtsi              | 4 ++--
>  arch/arm/boot/dts/lpc18xx.dtsi                 | 4 ++--
>  arch/arm/boot/dts/stm32mp151.dtsi              | 4 ++--
>  arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 4 ++--
>  arch/arm64/boot/dts/hisilicon/hip06.dtsi       | 4 ++--
>  arch/arm64/boot/dts/hisilicon/hip07.dtsi       | 4 ++--
>  arch/mips/boot/dts/ingenic/jz4740.dtsi         | 2 +-
>  arch/mips/boot/dts/ingenic/jz4770.dtsi         | 2 +-

For jz4740.dtsi and jz4770.dtsi:
Acked-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

>  arch/mips/boot/dts/mti/sead3.dts               | 2 +-
>  arch/mips/boot/dts/ralink/mt7628a.dtsi         | 2 +-
>  arch/powerpc/boot/dts/akebono.dts              | 6 +++---
>  16 files changed, 28 insertions(+), 28 deletions(-)
> 
> diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi 
> b/arch/arc/boot/dts/axs10x_mb.dtsi
> index 99d3e7175bf7..b64435385304 100644
> --- a/arch/arc/boot/dts/axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/axs10x_mb.dtsi
> @@ -87,13 +87,13 @@ gmac: ethernet@18000 {
>  			mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
>  		};
> 
> -		ehci@40000 {
> +		usb@40000 {
>  			compatible = "generic-ehci";
>  			reg = < 0x40000 0x100 >;
>  			interrupts = < 8 >;
>  		};
> 
> -		ohci@60000 {
> +		usb@60000 {
>  			compatible = "generic-ohci";
>  			reg = < 0x60000 0x100 >;
>  			interrupts = < 8 >;
> diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts
> index dcaa44e408ac..fdd4f7f635d3 100644
> --- a/arch/arc/boot/dts/hsdk.dts
> +++ b/arch/arc/boot/dts/hsdk.dts
> @@ -234,7 +234,7 @@ phy0: ethernet-phy@0 { /* Micrel KSZ9031 */
>  			};
>  		};
> 
> -		ohci@60000 {
> +		usb@60000 {
>  			compatible = "snps,hsdk-v1.0-ohci", "generic-ohci";
>  			reg = <0x60000 0x100>;
>  			interrupts = <15>;
> @@ -242,7 +242,7 @@ ohci@60000 {
>  			dma-coherent;
>  		};
> 
> -		ehci@40000 {
> +		usb@40000 {
>  			compatible = "snps,hsdk-v1.0-ehci", "generic-ehci";
>  			reg = <0x40000 0x100>;
>  			interrupts = <15>;
> diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi 
> b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> index cbb179770293..90a412026e64 100644
> --- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> @@ -46,7 +46,7 @@ ethernet@18000 {
>  			clock-names = "stmmaceth";
>  		};
> 
> -		ehci@40000 {
> +		usb@40000 {
>  			compatible = "generic-ehci";
>  			reg = < 0x40000 0x100 >;
>  			interrupts = < 8 >;
> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi 
> b/arch/arm/boot/dts/bcm5301x.dtsi
> index 0016720ce530..bf5656d79a55 100644
> --- a/arch/arm/boot/dts/bcm5301x.dtsi
> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
> @@ -261,7 +261,7 @@ usb2: usb2@21000 {
> 
>  			interrupt-parent = <&gic>;
> 
> -			ehci: ehci@21000 {
> +			ehci: usb@21000 {
>  				#usb-cells = <0>;
> 
>  				compatible = "generic-ehci";
> @@ -283,7 +283,7 @@ ehci_port2: port@2 {
>  				};
>  			};
> 
> -			ohci: ohci@22000 {
> +			ohci: usb@22000 {
>  				#usb-cells = <0>;
> 
>  				compatible = "generic-ohci";
> diff --git a/arch/arm/boot/dts/bcm53573.dtsi 
> b/arch/arm/boot/dts/bcm53573.dtsi
> index 4af8e3293cff..51546fccc616 100644
> --- a/arch/arm/boot/dts/bcm53573.dtsi
> +++ b/arch/arm/boot/dts/bcm53573.dtsi
> @@ -135,7 +135,7 @@ usb2: usb2@4000 {
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> 
> -			ehci: ehci@4000 {
> +			ehci: usb@4000 {
>  				compatible = "generic-ehci";
>  				reg = <0x4000 0x1000>;
>  				interrupt-parent = <&gic>;
> @@ -155,7 +155,7 @@ ehci_port2: port@2 {
>  				};
>  			};
> 
> -			ohci: ohci@d000 {
> +			ohci: usb@d000 {
>  				#usb-cells = <0>;
> 
>  				compatible = "generic-ohci";
> diff --git a/arch/arm/boot/dts/hisi-x5hd2.dtsi 
> b/arch/arm/boot/dts/hisi-x5hd2.dtsi
> index 3ee7967c202d..693b85b2cc7d 100644
> --- a/arch/arm/boot/dts/hisi-x5hd2.dtsi
> +++ b/arch/arm/boot/dts/hisi-x5hd2.dtsi
> @@ -452,14 +452,14 @@ gmac1: ethernet@1841000 {
>  			status = "disabled";
>  		};
> 
> -		usb0: ehci@1890000 {
> +		usb0: usb@1890000 {
>  			compatible = "generic-ehci";
>  			reg = <0x1890000 0x1000>;
>  			interrupts = <0 66 4>;
>  			clocks = <&clock HIX5HD2_USB_CLK>;
>  		};
> 
> -		usb1: ohci@1880000 {
> +		usb1: usb@1880000 {
>  			compatible = "generic-ohci";
>  			reg = <0x1880000 0x1000>;
>  			interrupts = <0 67 4>;
> diff --git a/arch/arm/boot/dts/lpc18xx.dtsi 
> b/arch/arm/boot/dts/lpc18xx.dtsi
> index 10b8249b8ab6..82ffd7b0ad8a 100644
> --- a/arch/arm/boot/dts/lpc18xx.dtsi
> +++ b/arch/arm/boot/dts/lpc18xx.dtsi
> @@ -121,7 +121,7 @@ mmcsd: mmcsd@40004000 {
>  			status = "disabled";
>  		};
> 
> -		usb0: ehci@40006100 {
> +		usb0: usb@40006100 {
>  			compatible = "nxp,lpc1850-ehci", "generic-ehci";
>  			reg = <0x40006100 0x100>;
>  			interrupts = <8>;
> @@ -133,7 +133,7 @@ usb0: ehci@40006100 {
>  			status = "disabled";
>  		};
> 
> -		usb1: ehci@40007100 {
> +		usb1: usb@40007100 {
>  			compatible = "nxp,lpc1850-ehci", "generic-ehci";
>  			reg = <0x40007100 0x100>;
>  			interrupts = <9>;
> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi 
> b/arch/arm/boot/dts/stm32mp151.dtsi
> index bfe29023fbd5..576f7da564c5 100644
> --- a/arch/arm/boot/dts/stm32mp151.dtsi
> +++ b/arch/arm/boot/dts/stm32mp151.dtsi
> @@ -1404,7 +1404,7 @@ ethernet0: ethernet@5800a000 {
>  			status = "disabled";
>  		};
> 
> -		usbh_ohci: usbh-ohci@5800c000 {
> +		usbh_ohci: usb@5800c000 {
>  			compatible = "generic-ohci";
>  			reg = <0x5800c000 0x1000>;
>  			clocks = <&rcc USBH>;
> @@ -1413,7 +1413,7 @@ usbh_ohci: usbh-ohci@5800c000 {
>  			status = "disabled";
>  		};
> 
> -		usbh_ehci: usbh-ehci@5800d000 {
> +		usbh_ehci: usb@5800d000 {
>  			compatible = "generic-ehci";
>  			reg = <0x5800d000 0x1000>;
>  			clocks = <&rcc USBH>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi 
> b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> index 12bc1d3ed424..a4acecb75c89 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> @@ -585,7 +585,7 @@ pcie: pcie@9860000 {
>  			status = "disabled";
>  		};
> 
> -		ohci: ohci@9880000 {
> +		ohci: usb@9880000 {
>  			compatible = "generic-ohci";
>  			reg = <0x9880000 0x10000>;
>  			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
> @@ -600,7 +600,7 @@ ohci: ohci@9880000 {
>  			status = "disabled";
>  		};
> 
> -		ehci: ehci@9890000 {
> +		ehci: usb@9890000 {
>  			compatible = "generic-ehci";
>  			reg = <0x9890000 0x10000>;
>  			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hip06.dtsi 
> b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> index 50ceaa959bdc..1226440d54ad 100644
> --- a/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> @@ -373,7 +373,7 @@ refclk: refclk {
>  			#clock-cells = <0>;
>  		};
> 
> -		usb_ohci: ohci@a7030000 {
> +		usb_ohci: usb@a7030000 {
>  			compatible = "generic-ohci";
>  			reg = <0x0 0xa7030000 0x0 0x10000>;
>  			interrupt-parent = <&mbigen_usb>;
> @@ -382,7 +382,7 @@ usb_ohci: ohci@a7030000 {
>  			status = "disabled";
>  		};
> 
> -		usb_ehci: ehci@a7020000 {
> +		usb_ehci: usb@a7020000 {
>  			compatible = "generic-ehci";
>  			reg = <0x0 0xa7020000 0x0 0x10000>;
>  			interrupt-parent = <&mbigen_usb>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hip07.dtsi 
> b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> index 4773a533fce5..93f99a5255ac 100644
> --- a/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> @@ -1253,7 +1253,7 @@ uart0: uart@602b0000 {
>  			status = "disabled";
>  		};
> 
> -		usb_ohci: ohci@a7030000 {
> +		usb_ohci: usb@a7030000 {
>  			compatible = "generic-ohci";
>  			reg = <0x0 0xa7030000 0x0 0x10000>;
>  			interrupt-parent = <&mbigen_usb>;
> @@ -1262,7 +1262,7 @@ usb_ohci: ohci@a7030000 {
>  			status = "disabled";
>  		};
> 
> -		usb_ehci: ehci@a7020000 {
> +		usb_ehci: usb@a7020000 {
>  			compatible = "generic-ehci";
>  			reg = <0x0 0xa7020000 0x0 0x10000>;
>  			interrupt-parent = <&mbigen_usb>;
> diff --git a/arch/mips/boot/dts/ingenic/jz4740.dtsi 
> b/arch/mips/boot/dts/ingenic/jz4740.dtsi
> index 1520585c235c..b989ff62ffbc 100644
> --- a/arch/mips/boot/dts/ingenic/jz4740.dtsi
> +++ b/arch/mips/boot/dts/ingenic/jz4740.dtsi
> @@ -281,7 +281,7 @@ dmac: dma-controller@13020000 {
>  		clocks = <&cgu JZ4740_CLK_DMA>;
>  	};
> 
> -	uhc: uhc@13030000 {
> +	uhc: usb@13030000 {
>  		compatible = "ingenic,jz4740-ohci", "generic-ohci";
>  		reg = <0x13030000 0x1000>;
> 
> diff --git a/arch/mips/boot/dts/ingenic/jz4770.dtsi 
> b/arch/mips/boot/dts/ingenic/jz4770.dtsi
> index fa11ac950499..e45c03038826 100644
> --- a/arch/mips/boot/dts/ingenic/jz4770.dtsi
> +++ b/arch/mips/boot/dts/ingenic/jz4770.dtsi
> @@ -417,7 +417,7 @@ dmac1: dma-controller@13420100 {
>  		interrupts = <23>;
>  	};
> 
> -	uhc: uhc@13430000 {
> +	uhc: usb@13430000 {
>  		compatible = "generic-ohci";
>  		reg = <0x13430000 0x1000>;
> 
> diff --git a/arch/mips/boot/dts/mti/sead3.dts 
> b/arch/mips/boot/dts/mti/sead3.dts
> index 192c26ff1d3d..1cf6728af8fe 100644
> --- a/arch/mips/boot/dts/mti/sead3.dts
> +++ b/arch/mips/boot/dts/mti/sead3.dts
> @@ -56,7 +56,7 @@ gic: interrupt-controller@1b1c0000 {
>  		interrupt-parent = <&cpu_intc>;
>  	};
> 
> -	ehci@1b200000 {
> +	usb@1b200000 {
>  		compatible = "generic-ehci";
>  		reg = <0x1b200000 0x1000>;
> 
> diff --git a/arch/mips/boot/dts/ralink/mt7628a.dtsi 
> b/arch/mips/boot/dts/ralink/mt7628a.dtsi
> index 892e8ab863c5..45bf96a3d17a 100644
> --- a/arch/mips/boot/dts/ralink/mt7628a.dtsi
> +++ b/arch/mips/boot/dts/ralink/mt7628a.dtsi
> @@ -275,7 +275,7 @@ usb_phy: usb-phy@10120000 {
>  		reset-names = "host", "device";
>  	};
> 
> -	ehci@101c0000 {
> +	usb@101c0000 {
>  		compatible = "generic-ehci";
>  		reg = <0x101c0000 0x1000>;
> 
> diff --git a/arch/powerpc/boot/dts/akebono.dts 
> b/arch/powerpc/boot/dts/akebono.dts
> index df18f8dc4642..343326c30380 100644
> --- a/arch/powerpc/boot/dts/akebono.dts
> +++ b/arch/powerpc/boot/dts/akebono.dts
> @@ -126,7 +126,7 @@ SATA0: sata@30000010000 {
>  			interrupts = <93 2>;
>  		};
> 
> -		EHCI0: ehci@30010000000 {
> +		EHCI0: usb@30010000000 {
>  			compatible = "ibm,476gtr-ehci", "generic-ehci";
>  			reg = <0x300 0x10000000 0x0 0x10000>;
>  			interrupt-parent = <&MPIC>;
> @@ -140,14 +140,14 @@ SD0: sd@30000000000 {
>  			interrupt-parent = <&MPIC>;
>  		};
> 
> -		OHCI0: ohci@30010010000 {
> +		OHCI0: usb@30010010000 {
>  			compatible = "ibm,476gtr-ohci", "generic-ohci";
>  			reg = <0x300 0x10010000 0x0 0x10000>;
>  			interrupt-parent = <&MPIC>;
>  			interrupts = <89 1>;
>  			};
> 
> -		OHCI1: ohci@30010020000 {
> +		OHCI1: usb@30010020000 {
>  			compatible = "ibm,476gtr-ohci", "generic-ohci";
>  			reg = <0x300 0x10020000 0x0 0x10000>;
>  			interrupt-parent = <&MPIC>;
> --
> 2.27.0
> 



^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 18:56   ` Paul Cercueil
@ 2020-10-14 19:12     ` Alexey Brodkin
  0 siblings, 0 replies; 73+ messages in thread
From: Alexey Brodkin @ 2020-10-14 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki, Wei Xu,
	Andy Gross, bcm-kernel-feedback-list, linux-snps-arc, devicetree,
	Alexandre Torgue, Mathias Nyman, Hauke Mehrtens, Vineet Gupta,
	Lad Prabhakar, Vladimir Zapolskiy, Rob Herring, linux-mediatek,
	Matthias Brugger, Alexey Malahov, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Thomas Bogendoerfer,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, linux-kernel, Manu Gautam, Maxime Coquelin,
	Kevin Hilman, linuxppc-dev

Hi Sergey,

>  arch/arc/boot/dts/axs10x_mb.dtsi               | 4 ++--
>  arch/arc/boot/dts/hsdk.dts                     | 4 ++--
>  arch/arc/boot/dts/vdk_axs10x_mb.dtsi           | 2 +-

For ARC boards

Acked-by: Alexey Brodkin <abrodkin@synopsys.com>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 17:16     ` Serge Semin
@ 2020-10-14 20:04       ` Krzysztof Kozlowski
  2020-10-14 23:51         ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Krzysztof Kozlowski @ 2020-10-14 20:04 UTC (permalink / raw)
  To: Serge Semin
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Wed, 14 Oct 2020 at 19:16, Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> On Wed, Oct 14, 2020 at 12:33:25PM +0200, Krzysztof Kozlowski wrote:
> > On Wed, 14 Oct 2020 at 12:23, Serge Semin
> > <Sergey.Semin@baikalelectronics.ru> wrote:
> > >
> > > In accordance with the DWC USB3 bindings the corresponding node name is
> > > suppose to comply with Generic USB HCD DT schema, which requires the USB
> > > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> > >
> > > Note we don't change the DWC USB3-compatible nodes names of
> > > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > > in-source comment says that the nodes name need to be preserved as
> > > "^dwusb@.*" for some backward compatibility.
> > >
> > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > >
> > > ---
> > >
> > > Please, test the patch out to make sure it doesn't brake the dependent DTS
> > > files. I did only a manual grepping of the possible nodes dependencies.
> >
>
> > 1. It is you who should compare the decompiled DTS, not us. For example:
> > $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> > scripts/dtc/dtx_diff ${i} dts-new/${i#dts-old/} ; done
> >
> > $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> > fdtdump ${i} > ${i}.fdt ; crosc64 fdtdump dts-new/${i#dts-old/} >
> > dts-new/${i#dts-old/}.fdt ; diff -ubB ${i}.fdt
> > dts-new/${i#dts-old/}.fdt ; done
>
> So basically you suggest first to compile the old and new dts files, then to
> de-compile them, then diff old and new fdt's, and visually compare the results.
> Personally it isn't that much better than what I did, since each old and new
> dtbs will for sure differ due to the node names change suggested in this patch.
> So it will lead to the visual debugging too, which isn't that effective. But
> your approach is still more demonstrative to make sure that I didn't loose any
> nodes redefinition, since in the occasion the old and new de-compiled nodes will
> differ not only by the node names but with an additional old named node.

My suggestion is to compare the entire, effective DTS after all
inclusions. Maybe you did it already, I don't know. The point is that
when you change node names in DTSI but you miss one in DTS, you end up
with two nodes. This is much easier to spot with dtxdiff or with
fdtdump (which behaves better for node moves).

Indeed it is still a visual comparison - if you have any ideas how to
automate it (e.g. ignore phandle changes), please share. It would
solve my testings as well. But asking others to test because you do
not want to check it is not the best way to handle such changes.

>
> So to speak thanks for suggesting it. I'll try it to validate the proposed
> changes.
>
> Two questions:
> 1) Any advise of a good inliner/command to compile all dtbs at once? Of course I
> can get all the updated dtsi'es, then find out all the dts'es which include
> them, then directly use dtc to compile the found dts'es... On the other hand I
> can just compile all dts'es, then compare old and new ones. The diff of the
> non-modified dtb'es will be just empty...

make dtbs
touch your dts or git stash pop
make dtbs
compare
diff for all unchanged will be simply empty, so easy to spot

> 2) What crosc64 is?

Ah, just an alias for cross compiling + ccache + kbuild out. I just
copied you my helpers, so you need to tweak them.

>
> >
> > 2. Split it per arm architectures (and proper subject prefix - not
> > "arch") and subarchitectures so maintainers can pick it up.
>
> Why? The changes are simple and can be formatted as a single patch. I've seen
> tons of patches submitted like that, accepted and then merged. What you suggest
> is just much more work, which I don't see quite required.

DTS changes go separate between arm64 and arm. There is nothing
unusual here - all changes are submitted like this.
Second topic is to split by subarchitectures which is necessary if you
want it to be picked up by maintainers. It also makes it easier to
review. Sure, without split ber subarchitectures this could be picked
up by SoC folks but you did not even CC them. So if you do not want to
split it per subarchitectures for maintainers and you do not CC SoC,
then how do you believe this should be picked up? Out of the regular
patch submission way? That's not how the changes are handled.

>
> >
> > 3. The subject title could be more accurate - there is no fix here
> > because there was no errors in the first place. Requirement of DWC
> > node names comes recently, so it is more alignment with dtschema.
> > Otherwise automatic-pickup-stable-bot might want to pick up... and it
> > should not go to stable.
>
> Actually it is a fix, because the USB DT nodes should have been named with "usb"
> prefix in the first place. Legacy DWC USB3 bindings didn't define the nodes
> naming, but implied to be "usb"-prefixed by the USB HCD schema. The Qualcomm
> DWC3 schema should have defined the sub-nodes as "dwc3@"-prefixed, which was
> wrong in the first place.

Not following the naming convention of DT spec which was loosely
enforced is not an error which should be "fixed". Simply wrong title.
This is an alignment with dtschema or correcting naming convention.
Not fixing errors.

>
> Regarding automatic-pickup-stable-bot if it exists I don't think it scans all the
> emails, but most likely the stable@vger.kernel.org list only or the emails
> having the "Fixes:" tag. If I am wrong please give me a link to the bot sources
> or refer to a doc where I can read about the way it works, to take it into
> account in future commits. Just to note I submitted patches which did some fixes,
> had the word "fix" in the subject but weren't selected to be backported to the
> stable kernel.

You mixed up bots. The regular stable bot picks commits with cc-stable
or with "Fixes". The auto-pickup bot picks all commits (not emails...
why would it look at emails?) looking like a fix. Wording could be one
of the hints used in the heuristic. Anyway, this is not a fix,
regardless of autosel, so the wording is not correct.

Just Google for AUTOSEL. You can then ask Sasha for sources...

> Anyway I don't really care that much about the subject text using the word "fix"
> or some else. So if you suggest some better alternative, I'd be glad to consider
> it.

I already did. One example is: alignment with dtschema.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
  2020-10-14 10:13 ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys, dwc3 compatible string Serge Semin
@ 2020-10-14 20:18   ` Krzysztof Kozlowski
  2020-10-14 21:35     ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Krzysztof Kozlowski @ 2020-10-14 20:18 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, Oct 14, 2020 at 01:13:53PM +0300, Serge Semin wrote:
> The DWC USB3 driver and some DTS files like Exynos 5250, Keystone k2e, etc
> expects the DWC USB3 DT node to have the compatible string with the
> "synopsys" vendor prefix. Let's add the corresponding compatible string to
> the controller DT schema, but mark it as deprecated seeing the Synopsys,
> Inc. is presented with just "snps" vendor prefix.

Instead of adding deprecated schema just correct the DTSes to use snps.
The "synopsys" is not even in vendor prefixes.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 18:41       ` Florian Fainelli
@ 2020-10-14 21:21         ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 21:21 UTC (permalink / raw)
  To: Florian Fainelli, Rob Herring
  Cc: Neil Armstrong, Bjorn Andersson, Paul Cercueil, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki,
	Alexey Brodkin, Wei Xu, Andy Gross, bcm-kernel-feedback-list,
	Kevin Hilman, linux-snps-arc, devicetree, Alexandre Torgue,
	Mathias Nyman, Hauke Mehrtens, Lad Prabhakar, Vladimir Zapolskiy,
	linux-mediatek, Matthias Brugger, Alexey Malahov,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Thomas Bogendoerfer, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linux-usb, linux-mips, linux-kernel, Manu Gautam,
	Maxime Coquelin, Vineet Gupta, linuxppc-dev

On Wed, Oct 14, 2020 at 11:41:17AM -0700, Florian Fainelli wrote:
> On 10/14/20 11:11 AM, Serge Semin wrote:
> > On Wed, Oct 14, 2020 at 11:00:45AM -0700, Florian Fainelli wrote:
> >> On 10/14/20 3:14 AM, Serge Semin wrote:
> >>> In accordance with the Generic EHCI/OHCI bindings the corresponding node
> >>> name is suppose to comply with the Generic USB HCD DT schema, which
> >>> requires the USB nodes to have the name acceptable by the regexp:
> >>> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> >>> incompatible names.
> >>>
> >>> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> >>>
> >>> ---
> >>>
> >>> Please, test the patch out to make sure it doesn't brake the dependent DTS
> >>> files. I did only a manual grepping of the possible nodes dependencies.
> >>
> > 
> >> Not sure how you envisioned these change to be picked up, but you may
> >> need to split these changes between ARM/ARM64, MIPS and PowerPC at
> >> least. And within ARM/ARM64 you will most likely have to split according
> >> to the various SoC maintainers.
> > 
> > Hmm, I don't really know how it's going to be done in this case, but there must
> > be a way to get the cross-platform patches picked up in general. For
> > instance, see the patches like:
> > 714acdbd1c94 arch: rename copy_thread_tls() back to copy_thread()
> > 140c8180eb7c arch: remove HAVE_COPY_THREAD_TLS
> > They touched the files from different files, but still have been merged in.
> 

> That situation is different, when a new facility is added and someone
> has gone through the work of adding support for all architectures (or
> nearly all of them), you want them to be merged in a way that limits
> merge conflicts with other architecture changes.
> 
> Here you are fixing warnings, and each file you touch can clearly be
> independently change from other files in the series without causing
> merge conflicts. You are however creating the potential for merge
> conflicts with other changes that the various SoC maintainers have
> queued up.
> 
> > Maybe I should have copied these three patches to the "linux-arch@vger.kernel.org"
> > list or some other mailing list...
> 
> Maybe Rob can queue them through his device tree repository, with the
> ack of the various SoC maintainers...

That's what I hoped for in the first place. But AFAICS now Rob does the splitting
of his patches himself, while the repo is used either for the
Documentation/devicetree/ patches or for the Rob'es own work. So it seems to me
I'll have to split the series up and resubmit... (

Hope I am wrong. So, @Rob, will you be able to merge this and the next two patches
in via your repo or you'd rather suggest for me to split it up and resubmit?

-Sergey

> -- 
> Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 18:35       ` Rob Herring
@ 2020-10-14 21:22         ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-14 21:22 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andrew Lunn, Linux USB List, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, arcml, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Santosh Shilimkar,
	linux-omap, linux-arm-kernel, Roger Quadros, Felipe Balbi,
	open list:MIPS, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko

On Wed, Oct 14, 2020 at 01:35:16PM -0500, Rob Herring wrote:
> On Wed, Oct 14, 2020 at 9:37 AM Serge Semin
> <Sergey.Semin@baikalelectronics.ru> wrote:
> >
> > On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
> > >
> > > Hi Serge,
> > >
> > > Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> > > > In accordance with the DWC USB3 bindings the corresponding node name is
> > > > suppose to comply with Generic USB HCD DT schema, which requires the USB
> > >
> >
> > > DWC3 is not a simple HDC, though.
> >
> > Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
> > which are tuned by the DWC USB3 driver in the kernel. But after that the
> > controller is registered as xhci-hcd device so it's serviced by the xHCI driver,
> > which then registers the HCD device so the corresponding DT node is supposed
> > to be compatible with the next bindings: usb/usb-hcd.yaml, usb/usb-xhci.yaml
> > and usb/snps,dwc3,yaml. I've created the later one so to validate the denoted
> > compatibility.
> >
> > >
> > > > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > > > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > > > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > > > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > > > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> > > >
> > > > Note we don't change the DWC USB3-compatible nodes names of
> > > > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > > > in-source comment says that the nodes name need to be preserved as
> > > > "^dwusb@.*" for some backward compatibility.
> > >
> >
> > > interesting, compatibility with what? Some debugfs files, perhaps? :-)
> >
> > Don't really know.) In my experience the worst type of such compatibility is
> > connected with some bootloader magic, which may add/remove/modify properties
> > to nodes with pre-defined names.
> 

> I seriously doubt anyone is using the APM machines with DT (even ACPI
> is somewhat doubtful). I say change them. Or remove the dts files and
> see what happens. Either way it can always be reverted.

Ok. I'll change them in v3.

-Sergey

> 
> Rob

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
  2020-10-14 20:18   ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 " Krzysztof Kozlowski
@ 2020-10-14 21:35     ` Serge Semin
  2020-10-16 18:53       ` Rob Herring
  0 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 21:35 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rob Herring
  Cc: Felipe Balbi, linux-snps-arc, linux-mips, Mathias Nyman,
	Neil Armstrong, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb,
	linux-kernel, Lad Prabhakar, Serge Semin, Alexey Malahov,
	Manu Gautam, devicetree, Andy Gross, Pavel Parkhomenko,
	Kevin Hilman, Bjorn Andersson, linuxppc-dev, linux-arm-kernel,
	Roger Quadros

On Wed, Oct 14, 2020 at 10:18:18PM +0200, Krzysztof Kozlowski wrote:
> On Wed, Oct 14, 2020 at 01:13:53PM +0300, Serge Semin wrote:
> > The DWC USB3 driver and some DTS files like Exynos 5250, Keystone k2e, etc
> > expects the DWC USB3 DT node to have the compatible string with the
> > "synopsys" vendor prefix. Let's add the corresponding compatible string to
> > the controller DT schema, but mark it as deprecated seeing the Synopsys,
> > Inc. is presented with just "snps" vendor prefix.
> 

> Instead of adding deprecated schema just correct the DTSes to use snps.
> The "synopsys" is not even in vendor prefixes.

Yeah, it's not, but the driver and some dts'es use it this way. I am not sure
that the solution suggested by you is much better than mine. So let's hear the
Rob'es opinion out in this matter. @Rob, what do you think?

-Sergey

> 
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 20:04       ` Krzysztof Kozlowski
@ 2020-10-14 23:51         ` Serge Semin
  2020-10-15  6:14           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 73+ messages in thread
From: Serge Semin @ 2020-10-14 23:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Wed, Oct 14, 2020 at 10:04:32PM +0200, Krzysztof Kozlowski wrote:
> On Wed, 14 Oct 2020 at 19:16, Serge Semin
> <Sergey.Semin@baikalelectronics.ru> wrote:
> >
> > On Wed, Oct 14, 2020 at 12:33:25PM +0200, Krzysztof Kozlowski wrote:
> > > On Wed, 14 Oct 2020 at 12:23, Serge Semin
> > > <Sergey.Semin@baikalelectronics.ru> wrote:
> > > >
> > > > In accordance with the DWC USB3 bindings the corresponding node name is
> > > > suppose to comply with Generic USB HCD DT schema, which requires the USB
> > > > nodes to have the name acceptable by the regexp: "^usb(@.*)?" . But a lot
> > > > of the DWC USB3-compatible nodes defined in the ARM/ARM64 DTS files have
> > > > name as "^dwc3@.*" or "^usb[1-3]@.*" or even "^dwusb@.*", which will cause
> > > > the dtbs_check procedure failure. Let's fix the nodes naming to be
> > > > compatible with the DWC USB3 DT schema to make dtbs_check happy.
> > > >
> > > > Note we don't change the DWC USB3-compatible nodes names of
> > > > arch/arm64/boot/dts/apm/{apm-storm.dtsi,apm-shadowcat.dtsi} since the
> > > > in-source comment says that the nodes name need to be preserved as
> > > > "^dwusb@.*" for some backward compatibility.
> > > >
> > > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > > >
> > > > ---
> > > >
> > > > Please, test the patch out to make sure it doesn't brake the dependent DTS
> > > > files. I did only a manual grepping of the possible nodes dependencies.
> > >
> >
> > > 1. It is you who should compare the decompiled DTS, not us. For example:
> > > $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> > > scripts/dtc/dtx_diff ${i} dts-new/${i#dts-old/} ; done
> > >
> > > $ for i in dts-old/*/*dtb dts-old/*/*/*dtb; do echo $i; crosc64
> > > fdtdump ${i} > ${i}.fdt ; crosc64 fdtdump dts-new/${i#dts-old/} >
> > > dts-new/${i#dts-old/}.fdt ; diff -ubB ${i}.fdt
> > > dts-new/${i#dts-old/}.fdt ; done
> >
> > So basically you suggest first to compile the old and new dts files, then to
> > de-compile them, then diff old and new fdt's, and visually compare the results.
> > Personally it isn't that much better than what I did, since each old and new
> > dtbs will for sure differ due to the node names change suggested in this patch.
> > So it will lead to the visual debugging too, which isn't that effective. But
> > your approach is still more demonstrative to make sure that I didn't loose any
> > nodes redefinition, since in the occasion the old and new de-compiled nodes will
> > differ not only by the node names but with an additional old named node.
> 

> My suggestion is to compare the entire, effective DTS after all
> inclusions. Maybe you did it already, I don't know.

Only by grepping the dts'es, which include the dtsi'es modified in this patch.
So your suggestion of compiling and de-compiling has been indeed relevant.

> The point is that
> when you change node names in DTSI but you miss one in DTS, you end up
> with two nodes.

Yep, that's exactly what I meant when I said that your approach was more
demonstrative, etc.

> This is much easier to spot with dtxdiff or with
> fdtdump (which behaves better for node moves).
> 

> Indeed it is still a visual comparison - if you have any ideas how to
> automate it (e.g. ignore phandle changes), please share. It would
> solve my testings as well.

Alas I don't. That's why to save my time of coming up with an automated solution
I did a very thorough modification making sure that each affected node isn't
updated in the corresponding dts'es and asked to test the patches out.

Anyway the approach suggested by you will indeed give us a better understanding
of my patches correctness. So I'll use it before sending v3. Thanks.

> But asking others to test because you do
> not want to check it is not the best way to handle such changes.
> 
> >
> > So to speak thanks for suggesting it. I'll try it to validate the proposed
> > changes.
> >
> > Two questions:
> > 1) Any advise of a good inliner/command to compile all dtbs at once? Of course I
> > can get all the updated dtsi'es, then find out all the dts'es which include
> > them, then directly use dtc to compile the found dts'es... On the other hand I
> > can just compile all dts'es, then compare old and new ones. The diff of the
> > non-modified dtb'es will be just empty...
> 

> make dtbs

It's not that easy.) "make dtbs" will build dtbs only for enabled boards, which
first need to be enabled in the kernel config. So I'll need to have a config
with all the affected dts. The later is the same as if I just found all the
affected dts and built them one-by-one by directly calling dtc.

> touch your dts or git stash pop
> make dtbs
> compare
> diff for all unchanged will be simply empty, so easy to spot
> 
> > 2) What crosc64 is?
> 
> Ah, just an alias for cross compiling + ccache + kbuild out. I just
> copied you my helpers, so you need to tweak them.
> 
> >
> > >
> > > 2. Split it per arm architectures (and proper subject prefix - not
> > > "arch") and subarchitectures so maintainers can pick it up.
> >
> > Why? The changes are simple and can be formatted as a single patch. I've seen
> > tons of patches submitted like that, accepted and then merged. What you suggest
> > is just much more work, which I don't see quite required.
> 

> DTS changes go separate between arm64 and arm. There is nothing
> unusual here - all changes are submitted like this.
> Second topic is to split by subarchitectures which is necessary if you
> want it to be picked up by maintainers. It also makes it easier to
> review.

The current patches are easy enough for review. The last three patches of the
series is a collection of the one-type changes concerning the same type of
nodes. So reviewing them won't cause any difficulty. But I assume that's not
the main point in this discussion.

> Sure, without split ber subarchitectures this could be picked
> up by SoC folks but you did not even CC them. So if you do not want to
> split it per subarchitectures for maintainers and you do not CC SoC,
> then how do you believe this should be picked up? Out of the regular
> patch submission way? That's not how the changes are handled.

AFAIU there are another ways of merging comprehensive patches. If they get to collect
all the Acked-by tags, they could be merged in, for instance, through Greg' or Rob'
(for dts) repos, if of course they get to agree with doing that. Am I wrong?

My hope was to ask Rob or Greg to get the patches merged in when they get
to collect all the ackes, since I thought it was an option in such cases. So if
they refuse to do so I'll have no choice but to split the series up into a
smaller patches as you say.

> 
> >
> > >
> > > 3. The subject title could be more accurate - there is no fix here
> > > because there was no errors in the first place. Requirement of DWC
> > > node names comes recently, so it is more alignment with dtschema.
> > > Otherwise automatic-pickup-stable-bot might want to pick up... and it
> > > should not go to stable.
> >
> > Actually it is a fix, because the USB DT nodes should have been named with "usb"
> > prefix in the first place. Legacy DWC USB3 bindings didn't define the nodes
> > naming, but implied to be "usb"-prefixed by the USB HCD schema. The Qualcomm
> > DWC3 schema should have defined the sub-nodes as "dwc3@"-prefixed, which was
> > wrong in the first place.
> 

> Not following the naming convention of DT spec which was loosely
> enforced is not an error which should be "fixed". Simply wrong title.
> This is an alignment with dtschema or correcting naming convention.
> Not fixing errors.

From your perspective it wasn't an error, from mine and most likely Rob' it
was.) Anyway as I said I don't care that much about preserving the subject
wording, so what about the next one:
<arch>: <subarch>: Harmonize DWC USB3 nodes name with DT schema
?

-Sergey

> 
> >
> > Regarding automatic-pickup-stable-bot if it exists I don't think it scans all the
> > emails, but most likely the stable@vger.kernel.org list only or the emails
> > having the "Fixes:" tag. If I am wrong please give me a link to the bot sources
> > or refer to a doc where I can read about the way it works, to take it into
> > account in future commits. Just to note I submitted patches which did some fixes,
> > had the word "fix" in the subject but weren't selected to be backported to the
> > stable kernel.
> 
> You mixed up bots. The regular stable bot picks commits with cc-stable
> or with "Fixes". The auto-pickup bot picks all commits (not emails...
> why would it look at emails?) looking like a fix. Wording could be one
> of the hints used in the heuristic. Anyway, this is not a fix,
> regardless of autosel, so the wording is not correct.
> 
> Just Google for AUTOSEL. You can then ask Sasha for sources...
> 
> > Anyway I don't really care that much about the subject text using the word "fix"
> > or some else. So if you suggest some better alternative, I'd be glad to consider
> > it.
> 
> I already did. One example is: alignment with dtschema.
> 
> Best regards,
> Krzysztof

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 23:51         ` Serge Semin
@ 2020-10-15  6:14           ` Krzysztof Kozlowski
  2020-10-15 14:15             ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Krzysztof Kozlowski @ 2020-10-15  6:14 UTC (permalink / raw)
  To: Serge Semin
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Thu, Oct 15, 2020 at 02:51:05AM +0300, Serge Semin wrote:
 > >
> > > So to speak thanks for suggesting it. I'll try it to validate the proposed
> > > changes.
> > >
> > > Two questions:
> > > 1) Any advise of a good inliner/command to compile all dtbs at once? Of course I
> > > can get all the updated dtsi'es, then find out all the dts'es which include
> > > them, then directly use dtc to compile the found dts'es... On the other hand I
> > > can just compile all dts'es, then compare old and new ones. The diff of the
> > > non-modified dtb'es will be just empty...
> > 
> 
> > make dtbs
> 
> It's not that easy.) "make dtbs" will build dtbs only for enabled boards, which
> first need to be enabled in the kernel config. So I'll need to have a config
> with all the affected dts. The later is the same as if I just found all the
> affected dts and built them one-by-one by directly calling dtc.

True. Sometimes allyesconfig for given arch might be helpful but not
always (e.g. for ARM it does not select all of ARMv4 and ARMv5 boards).
Most likely your approach is actually faster/more reliable.

> 
> > touch your dts or git stash pop
> > make dtbs
> > compare
> > diff for all unchanged will be simply empty, so easy to spot
> > 
> > > 2) What crosc64 is?
> > 
> > Ah, just an alias for cross compiling + ccache + kbuild out. I just
> > copied you my helpers, so you need to tweak them.
> > 
> > >
> > > >
> > > > 2. Split it per arm architectures (and proper subject prefix - not
> > > > "arch") and subarchitectures so maintainers can pick it up.
> > >
> > > Why? The changes are simple and can be formatted as a single patch. I've seen
> > > tons of patches submitted like that, accepted and then merged. What you suggest
> > > is just much more work, which I don't see quite required.
> > 
> 
> > DTS changes go separate between arm64 and arm. There is nothing
> > unusual here - all changes are submitted like this.
> > Second topic is to split by subarchitectures which is necessary if you
> > want it to be picked up by maintainers. It also makes it easier to
> > review.
> 
> The current patches are easy enough for review. The last three patches of the
> series is a collection of the one-type changes concerning the same type of
> nodes. So reviewing them won't cause any difficulty. But I assume that's not
> the main point in this discussion.
> 
> > Sure, without split ber subarchitectures this could be picked
> > up by SoC folks but you did not even CC them. So if you do not want to
> > split it per subarchitectures for maintainers and you do not CC SoC,
> > then how do you believe this should be picked up? Out of the regular
> > patch submission way? That's not how the changes are handled.
> 
> AFAIU there are another ways of merging comprehensive patches. If they get to collect
> all the Acked-by tags, they could be merged in, for instance, through Greg' or Rob'
> (for dts) repos, if of course they get to agree with doing that. Am I wrong?
> 
> My hope was to ask Rob or Greg to get the patches merged in when they get
> to collect all the ackes, since I thought it was an option in such cases. So if
> they refuse to do so I'll have no choice but to split the series up into a
> smaller patches as you say.

This is neither Rob's nor Greg's patch to pick up, but ARM SoC (which was
not CCed here). And most likely they won't pick it up because judging by
contents it is obvious it should go via ARM SoC.

Sure, if there are dependencies between some patches they can go with
acks through unrelated trees, but this not the usual way. This is an
exception in the process to solve particular dependency problem.  It has
drawbacks - increases the chances of annoying conflicts.

The case here does not fall into this criteria - there is no dependency
of this patch on the others  Therefore there is no reason to use the
unusual/exceptional way of handling patches.  There is no reason why
this shouldn't go via either specific ARM subarchitecture maintainers or
via ARM SoC.

> > > > 3. The subject title could be more accurate - there is no fix here
> > > > because there was no errors in the first place. Requirement of DWC
> > > > node names comes recently, so it is more alignment with dtschema.
> > > > Otherwise automatic-pickup-stable-bot might want to pick up... and it
> > > > should not go to stable.
> > >
> > > Actually it is a fix, because the USB DT nodes should have been named with "usb"
> > > prefix in the first place. Legacy DWC USB3 bindings didn't define the nodes
> > > naming, but implied to be "usb"-prefixed by the USB HCD schema. The Qualcomm
> > > DWC3 schema should have defined the sub-nodes as "dwc3@"-prefixed, which was
> > > wrong in the first place.
> > 
> 
> > Not following the naming convention of DT spec which was loosely
> > enforced is not an error which should be "fixed". Simply wrong title.
> > This is an alignment with dtschema or correcting naming convention.
> > Not fixing errors.
> 
> From your perspective it wasn't an error, from mine and most likely Rob' it
> was.) Anyway as I said I don't care that much about preserving the subject
> wording, so what about the next one:
> <arch>: <subarch>: Harmonize DWC USB3 nodes name with DT schema
> ?

Looks good.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
  2020-10-14 18:00   ` Florian Fainelli
  2020-10-14 18:56   ` Paul Cercueil
@ 2020-10-15  8:05   ` Amelie DELAUNAY
  2020-10-15 16:37   ` Florian Fainelli
  2020-10-16  7:08   ` Alexandre Torgue
  4 siblings, 0 replies; 73+ messages in thread
From: Amelie DELAUNAY @ 2020-10-15  8:05 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Alexey Brodkin, Vineet Gupta, Hauke Mehrtens,
	Rafał Miłecki, bcm-kernel-feedback-list, Wei Xu,
	Vladimir Zapolskiy, Maxime Coquelin, Alexandre Torgue,
	Paul Cercueil, Thomas Bogendoerfer, Matthias Brugger,
	Michael Ellerman, Benjamin Herrenschmidt, Paul Mackerras
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Manu Gautam,
	Andy Gross, linux-mediatek, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-stm32, linux-arm-kernel, Roger Quadros

Hi Serge,

On 10/14/20 12:14 PM, Serge Semin wrote:
> In accordance with the Generic EHCI/OHCI bindings the corresponding node
> name is suppose to comply with the Generic USB HCD DT schema, which
> requires the USB nodes to have the name acceptable by the regexp:
> "^usb(@.*)?"  . Let's fix the DTS files, which have the nodes defined with
> incompatible names.
> 
> Signed-off-by: Serge Semin<Sergey.Semin@baikalelectronics.ru>
> 
> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
> index bfe29023fbd5..576f7da564c5 100644
> --- a/arch/arm/boot/dts/stm32mp151.dtsi
> +++ b/arch/arm/boot/dts/stm32mp151.dtsi
> @@ -1404,7 +1404,7 @@ ethernet0: ethernet@5800a000 {
>   			status = "disabled";
>   		};
>   
> -		usbh_ohci: usbh-ohci@5800c000 {
> +		usbh_ohci: usb@5800c000 {
>   			compatible = "generic-ohci";
>   			reg = <0x5800c000 0x1000>;
>   			clocks = <&rcc USBH>;
> @@ -1413,7 +1413,7 @@ usbh_ohci: usbh-ohci@5800c000 {
>   			status = "disabled";
>   		};
>   
> -		usbh_ehci: usbh-ehci@5800d000 {
> +		usbh_ehci: usb@5800d000 {
>   			compatible = "generic-ehci";
>   			reg = <0x5800d000 0x1000>;
>   			clocks = <&rcc USBH>;

For STM32MP151:

Acked-by: Amelie Delaunay <amelie.delaunay@st.com>

Thanks,
Amelie

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-14 14:37     ` Serge Semin
  2020-10-14 18:35       ` Rob Herring
@ 2020-10-15 10:15       ` Felipe Balbi
  2020-10-15 13:53         ` Serge Semin
  2020-10-15 14:04         ` Maxime Ripard
  1 sibling, 2 replies; 73+ messages in thread
From: Felipe Balbi @ 2020-10-15 10:15 UTC (permalink / raw)
  To: Serge Semin
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda, linuxppc-dev,
	Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko


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

Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:

> On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
>> 
>> Hi Serge,
>> 
>> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
>> > In accordance with the DWC USB3 bindings the corresponding node name is
>> > suppose to comply with Generic USB HCD DT schema, which requires the USB
>> 
>
>> DWC3 is not a simple HDC, though.
>
> Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
> which are tuned by the DWC USB3 driver in the kernel. But after that the
> controller is registered as xhci-hcd device so it's serviced by the xHCI driver,

in Dual-role or host-only builds, that's correct. We can also have
peripheral-only builds (both SW or HW versions) which means xhci isn't
even in the picture.

-- 
balbi

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

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-15 10:15       ` Felipe Balbi
@ 2020-10-15 13:53         ` Serge Semin
  2020-10-15 14:04         ` Maxime Ripard
  1 sibling, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-15 13:53 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda, linuxppc-dev,
	Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko

On Thu, Oct 15, 2020 at 01:15:37PM +0300, Felipe Balbi wrote:
> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> 
> > On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
> >> 
> >> Hi Serge,
> >> 
> >> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> >> > In accordance with the DWC USB3 bindings the corresponding node name is
> >> > suppose to comply with Generic USB HCD DT schema, which requires the USB
> >> 
> >
> >> DWC3 is not a simple HDC, though.
> >
> > Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
> > which are tuned by the DWC USB3 driver in the kernel. But after that the
> > controller is registered as xhci-hcd device so it's serviced by the xHCI driver,
> 

> in Dual-role or host-only builds, that's correct. We can also have
> peripheral-only builds (both SW or HW versions) which means xhci isn't
> even in the picture.

Hm, good point. In that case perhaps we'll need to apply the xHCI DT schema
conditionally. Like this:

- allOf:
-   - $ref: usb-xhci.yaml#
+ allOf:
+   - if:
+       properties:
+         dr_mode:
+           const: peripheral
+     then:
+       $ref: usb-hcd.yaml#
+     else:
+       $ref: usb-xhci.yaml#

Note, we need to have the peripheral device being compatible with the
usb-hcd.yaml schema to support the maximum-speed, dr_mode properties and to
comply with the USB node naming constraint.

-Sergey

> 
> -- 
> balbi



^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-15 10:15       ` Felipe Balbi
  2020-10-15 13:53         ` Serge Semin
@ 2020-10-15 14:04         ` Maxime Ripard
  1 sibling, 0 replies; 73+ messages in thread
From: Maxime Ripard @ 2020-10-15 14:04 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Wei Xu, linux-samsung-soc, Kevin Hilman,
	Gregory Clement, Krzysztof Kozlowski, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Santosh Shilimkar,
	linux-omap, linux-arm-kernel, Roger Quadros, linux-mips,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linuxppc-dev,
	Patrice Chotard, Serge Semin, Li Yang, Serge Semin, Manu Gautam,
	Benoît Cousson, Shawn Guo, Pavel Parkhomenko


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

On Thu, Oct 15, 2020 at 01:15:37PM +0300, Felipe Balbi wrote:
> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> 
> > On Wed, Oct 14, 2020 at 05:09:37PM +0300, Felipe Balbi wrote:
> >> 
> >> Hi Serge,
> >> 
> >> Serge Semin <Sergey.Semin@baikalelectronics.ru> writes:
> >> > In accordance with the DWC USB3 bindings the corresponding node name is
> >> > suppose to comply with Generic USB HCD DT schema, which requires the USB
> >> 
> >
> >> DWC3 is not a simple HDC, though.
> >
> > Yeah, strictly speaking it is equipped with a lot of vendor-specific stuff,
> > which are tuned by the DWC USB3 driver in the kernel. But after that the
> > controller is registered as xhci-hcd device so it's serviced by the xHCI driver,
> 
> in Dual-role or host-only builds, that's correct. We can also have
> peripheral-only builds (both SW or HW versions) which means xhci isn't
> even in the picture.

It doesn't really matter though, or at least it does for what the new
name might be, but the old one currently used is still pretty bad.

The DT spec says that the node name is the class of the device. "usb" as
the HCD binding mandates is one, but the current nodes currently have
completely different names from one DT to another - which is already an
issue - and most of them have dwc3 or some variant of it, which doesn't
really qualify for a class name.

Maxime

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

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
  2020-10-15  6:14           ` Krzysztof Kozlowski
@ 2020-10-15 14:15             ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-15 14:15 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Andrew Lunn, linux-usb, Neil Armstrong, Tony Lindgren,
	Bjorn Andersson, Pavel Parkhomenko, linux-samsung-soc,
	Kevin Hilman, Gregory Clement, Wei Xu, Chen-Yu Tsai, Kukjin Kim,
	Andy Gross, linux-arm-msm, linux-snps-arc, Sebastian Hesselbarth,
	devicetree, Jason Cooper, Mathias Nyman, linux-kernel,
	Lad Prabhakar, Maxime Ripard, Alexey Malahov, Rob Herring,
	Santosh Shilimkar, linux-omap, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, linux-mips, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linuxppc-dev, Patrice Chotard, Serge Semin, Li Yang, Manu Gautam,
	Benoît Cousson, Shawn Guo

On Thu, Oct 15, 2020 at 08:14:39AM +0200, Krzysztof Kozlowski wrote:
> On Thu, Oct 15, 2020 at 02:51:05AM +0300, Serge Semin wrote:
>  > >
> > > > So to speak thanks for suggesting it. I'll try it to validate the proposed
> > > > changes.
> > > >
> > > > Two questions:
> > > > 1) Any advise of a good inliner/command to compile all dtbs at once? Of course I
> > > > can get all the updated dtsi'es, then find out all the dts'es which include
> > > > them, then directly use dtc to compile the found dts'es... On the other hand I
> > > > can just compile all dts'es, then compare old and new ones. The diff of the
> > > > non-modified dtb'es will be just empty...
> > > 
> > 
> > > make dtbs
> > 
> > It's not that easy.) "make dtbs" will build dtbs only for enabled boards, which
> > first need to be enabled in the kernel config. So I'll need to have a config
> > with all the affected dts. The later is the same as if I just found all the
> > affected dts and built them one-by-one by directly calling dtc.
> 
> True. Sometimes allyesconfig for given arch might be helpful but not
> always (e.g. for ARM it does not select all of ARMv4 and ARMv5 boards).
> Most likely your approach is actually faster/more reliable.
> 
> > 
> > > touch your dts or git stash pop
> > > make dtbs
> > > compare
> > > diff for all unchanged will be simply empty, so easy to spot
> > > 
> > > > 2) What crosc64 is?
> > > 
> > > Ah, just an alias for cross compiling + ccache + kbuild out. I just
> > > copied you my helpers, so you need to tweak them.
> > > 
> > > >
> > > > >
> > > > > 2. Split it per arm architectures (and proper subject prefix - not
> > > > > "arch") and subarchitectures so maintainers can pick it up.
> > > >
> > > > Why? The changes are simple and can be formatted as a single patch. I've seen
> > > > tons of patches submitted like that, accepted and then merged. What you suggest
> > > > is just much more work, which I don't see quite required.
> > > 
> > 
> > > DTS changes go separate between arm64 and arm. There is nothing
> > > unusual here - all changes are submitted like this.
> > > Second topic is to split by subarchitectures which is necessary if you
> > > want it to be picked up by maintainers. It also makes it easier to
> > > review.
> > 
> > The current patches are easy enough for review. The last three patches of the
> > series is a collection of the one-type changes concerning the same type of
> > nodes. So reviewing them won't cause any difficulty. But I assume that's not
> > the main point in this discussion.
> > 
> > > Sure, without split ber subarchitectures this could be picked
> > > up by SoC folks but you did not even CC them. So if you do not want to
> > > split it per subarchitectures for maintainers and you do not CC SoC,
> > > then how do you believe this should be picked up? Out of the regular
> > > patch submission way? That's not how the changes are handled.
> > 
> > AFAIU there are another ways of merging comprehensive patches. If they get to collect
> > all the Acked-by tags, they could be merged in, for instance, through Greg' or Rob'
> > (for dts) repos, if of course they get to agree with doing that. Am I wrong?
> > 
> > My hope was to ask Rob or Greg to get the patches merged in when they get
> > to collect all the ackes, since I thought it was an option in such cases. So if
> > they refuse to do so I'll have no choice but to split the series up into a
> > smaller patches as you say.
> 

> This is neither Rob's nor Greg's patch to pick up, but ARM SoC (which was
> not CCed here). And most likely they won't pick it up because judging by
> contents it is obvious it should go via ARM SoC.
> 
> Sure, if there are dependencies between some patches they can go with
> acks through unrelated trees, but this not the usual way. This is an
> exception in the process to solve particular dependency problem.  It has
> drawbacks - increases the chances of annoying conflicts.
> 
> The case here does not fall into this criteria - there is no dependency
> of this patch on the others  Therefore there is no reason to use the
> unusual/exceptional way of handling patches.  There is no reason why
> this shouldn't go via either specific ARM subarchitecture maintainers or
> via ARM SoC.

Ok. I see your point. To sum it up I've studied the git log arch/ commit
messages and it turns out even Rob has to split the cleanup changes like this
ones. So thanks for your patience with stating your point. I'll split the last
three patches up to be merged in via the corresponding archs/subarch'es repos.

-Sergey

> 
> > > > > 3. The subject title could be more accurate - there is no fix here
> > > > > because there was no errors in the first place. Requirement of DWC
> > > > > node names comes recently, so it is more alignment with dtschema.
> > > > > Otherwise automatic-pickup-stable-bot might want to pick up... and it
> > > > > should not go to stable.
> > > >
> > > > Actually it is a fix, because the USB DT nodes should have been named with "usb"
> > > > prefix in the first place. Legacy DWC USB3 bindings didn't define the nodes
> > > > naming, but implied to be "usb"-prefixed by the USB HCD schema. The Qualcomm
> > > > DWC3 schema should have defined the sub-nodes as "dwc3@"-prefixed, which was
> > > > wrong in the first place.
> > > 
> > 
> > > Not following the naming convention of DT spec which was loosely
> > > enforced is not an error which should be "fixed". Simply wrong title.
> > > This is an alignment with dtschema or correcting naming convention.
> > > Not fixing errors.
> > 
> > From your perspective it wasn't an error, from mine and most likely Rob' it
> > was.) Anyway as I said I don't care that much about preserving the subject
> > wording, so what about the next one:
> > <arch>: <subarch>: Harmonize DWC USB3 nodes name with DT schema
> > ?
> 
> Looks good.
> 
> Best regards,
> Krzysztof
> 

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
                     ` (2 preceding siblings ...)
  2020-10-15  8:05   ` Amelie DELAUNAY
@ 2020-10-15 16:37   ` Florian Fainelli
  2020-10-16  7:08   ` Alexandre Torgue
  4 siblings, 0 replies; 73+ messages in thread
From: Florian Fainelli @ 2020-10-15 16:37 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Alexey Brodkin, Vineet Gupta, Hauke Mehrtens,
	Rafał Miłecki, bcm-kernel-feedback-list, Wei Xu,
	Vladimir Zapolskiy, Maxime Coquelin, Alexandre Torgue,
	Paul Cercueil, Thomas Bogendoerfer, Matthias Brugger,
	Michael Ellerman, Benjamin Herrenschmidt, Paul Mackerras
  Cc: linux-arm-kernel, devicetree, linuxppc-dev, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, linux-kernel, Manu Gautam, Andy Gross,
	Bjorn Andersson, Pavel Parkhomenko, linux-mediatek,
	linux-snps-arc, Lad Prabhakar, linux-stm32, Alexey Malahov,
	Roger Quadros

On 10/14/20 3:14 AM, Serge Semin wrote:
> In accordance with the Generic EHCI/OHCI bindings the corresponding node
> name is suppose to comply with the Generic USB HCD DT schema, which
> requires the USB nodes to have the name acceptable by the regexp:
> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> incompatible names.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Please, test the patch out to make sure it doesn't brake the dependent DTS
> files. I did only a manual grepping of the possible nodes dependencies.
> ---

>  arch/arm/boot/dts/bcm5301x.dtsi                | 4 ++--
>  arch/arm/boot/dts/bcm53573.dtsi                | 4 ++--
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-- 
Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
  2020-10-14 10:13 ` [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device Serge Semin
@ 2020-10-15 16:39   ` Florian Fainelli
  2020-10-16 18:49   ` Rob Herring
  1 sibling, 0 replies; 73+ messages in thread
From: Florian Fainelli @ 2020-10-15 16:39 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring
  Cc: linux-arm-kernel, devicetree, linuxppc-dev, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, linux-kernel, Manu Gautam, Andy Gross,
	Bjorn Andersson, Pavel Parkhomenko, linux-snps-arc,
	Lad Prabhakar, Alexey Malahov, Roger Quadros

On 10/14/20 3:13 AM, Serge Semin wrote:
> For some reason the "brcm,xhci-brcm-v2" compatible string has been missing
> in the original bindings file. Add it to the Generic xHCI Controllers DT
> schema since the controller driver expects it to be supported.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-- 
Florian

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
                     ` (3 preceding siblings ...)
  2020-10-15 16:37   ` Florian Fainelli
@ 2020-10-16  7:08   ` Alexandre Torgue
  2020-10-16  8:52     ` Serge Semin
  4 siblings, 1 reply; 73+ messages in thread
From: Alexandre Torgue @ 2020-10-16  7:08 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Alexey Brodkin, Vineet Gupta, Hauke Mehrtens,
	Rafał Miłecki, bcm-kernel-feedback-list, Wei Xu,
	Vladimir Zapolskiy, Maxime Coquelin, Paul Cercueil,
	Thomas Bogendoerfer, Matthias Brugger, Michael Ellerman,
	Benjamin Herrenschmidt, Paul Mackerras
  Cc: devicetree, linux-snps-arc, linux-mips, Neil Armstrong,
	Kevin Hilman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Lad Prabhakar, Serge Semin, Bjorn Andersson, Manu Gautam,
	Andy Gross, linux-mediatek, Pavel Parkhomenko, Alexey Malahov,
	linuxppc-dev, linux-stm32, linux-arm-kernel, Roger Quadros

Hi Serge,

On 10/14/20 12:14 PM, Serge Semin wrote:
> In accordance with the Generic EHCI/OHCI bindings the corresponding node
> name is suppose to comply with the Generic USB HCD DT schema, which
> requires the USB nodes to have the name acceptable by the regexp:
> "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> incompatible names.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Please, test the patch out to make sure it doesn't brake the dependent DTS
> files. I did only a manual grepping of the possible nodes dependencies.
> ---
>   arch/arc/boot/dts/axs10x_mb.dtsi               | 4 ++--
>   arch/arc/boot/dts/hsdk.dts                     | 4 ++--
>   arch/arc/boot/dts/vdk_axs10x_mb.dtsi           | 2 +-
>   arch/arm/boot/dts/bcm5301x.dtsi                | 4 ++--
>   arch/arm/boot/dts/bcm53573.dtsi                | 4 ++--
>   arch/arm/boot/dts/hisi-x5hd2.dtsi              | 4 ++--
>   arch/arm/boot/dts/lpc18xx.dtsi                 | 4 ++--
>   arch/arm/boot/dts/stm32mp151.dtsi              | 4 ++--
>   arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 4 ++--
>   arch/arm64/boot/dts/hisilicon/hip06.dtsi       | 4 ++--
>   arch/arm64/boot/dts/hisilicon/hip07.dtsi       | 4 ++--
>   arch/mips/boot/dts/ingenic/jz4740.dtsi         | 2 +-
>   arch/mips/boot/dts/ingenic/jz4770.dtsi         | 2 +-
>   arch/mips/boot/dts/mti/sead3.dts               | 2 +-
>   arch/mips/boot/dts/ralink/mt7628a.dtsi         | 2 +-
>   arch/powerpc/boot/dts/akebono.dts              | 6 +++---
>   16 files changed, 28 insertions(+), 28 deletions(-)
> 

I surely missed something, but we have here in the same patch 
modifications for different architectures and different vendors.

Do you plan to split this patch after getting some Acked-by / Tested-by ?

regards
Alex


> diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
> index 99d3e7175bf7..b64435385304 100644
> --- a/arch/arc/boot/dts/axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/axs10x_mb.dtsi
> @@ -87,13 +87,13 @@ gmac: ethernet@18000 {
>   			mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
>   		};
>   
> -		ehci@40000 {
> +		usb@40000 {
>   			compatible = "generic-ehci";
>   			reg = < 0x40000 0x100 >;
>   			interrupts = < 8 >;
>   		};
>   
> -		ohci@60000 {
> +		usb@60000 {
>   			compatible = "generic-ohci";
>   			reg = < 0x60000 0x100 >;
>   			interrupts = < 8 >;
> diff --git a/arch/arc/boot/dts/hsdk.dts b/arch/arc/boot/dts/hsdk.dts
> index dcaa44e408ac..fdd4f7f635d3 100644
> --- a/arch/arc/boot/dts/hsdk.dts
> +++ b/arch/arc/boot/dts/hsdk.dts
> @@ -234,7 +234,7 @@ phy0: ethernet-phy@0 { /* Micrel KSZ9031 */
>   			};
>   		};
>   
> -		ohci@60000 {
> +		usb@60000 {
>   			compatible = "snps,hsdk-v1.0-ohci", "generic-ohci";
>   			reg = <0x60000 0x100>;
>   			interrupts = <15>;
> @@ -242,7 +242,7 @@ ohci@60000 {
>   			dma-coherent;
>   		};
>   
> -		ehci@40000 {
> +		usb@40000 {
>   			compatible = "snps,hsdk-v1.0-ehci", "generic-ehci";
>   			reg = <0x40000 0x100>;
>   			interrupts = <15>;
> diff --git a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> index cbb179770293..90a412026e64 100644
> --- a/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> +++ b/arch/arc/boot/dts/vdk_axs10x_mb.dtsi
> @@ -46,7 +46,7 @@ ethernet@18000 {
>   			clock-names = "stmmaceth";
>   		};
>   
> -		ehci@40000 {
> +		usb@40000 {
>   			compatible = "generic-ehci";
>   			reg = < 0x40000 0x100 >;
>   			interrupts = < 8 >;
> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
> index 0016720ce530..bf5656d79a55 100644
> --- a/arch/arm/boot/dts/bcm5301x.dtsi
> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
> @@ -261,7 +261,7 @@ usb2: usb2@21000 {
>   
>   			interrupt-parent = <&gic>;
>   
> -			ehci: ehci@21000 {
> +			ehci: usb@21000 {
>   				#usb-cells = <0>;
>   
>   				compatible = "generic-ehci";
> @@ -283,7 +283,7 @@ ehci_port2: port@2 {
>   				};
>   			};
>   
> -			ohci: ohci@22000 {
> +			ohci: usb@22000 {
>   				#usb-cells = <0>;
>   
>   				compatible = "generic-ohci";
> diff --git a/arch/arm/boot/dts/bcm53573.dtsi b/arch/arm/boot/dts/bcm53573.dtsi
> index 4af8e3293cff..51546fccc616 100644
> --- a/arch/arm/boot/dts/bcm53573.dtsi
> +++ b/arch/arm/boot/dts/bcm53573.dtsi
> @@ -135,7 +135,7 @@ usb2: usb2@4000 {
>   			#address-cells = <1>;
>   			#size-cells = <1>;
>   
> -			ehci: ehci@4000 {
> +			ehci: usb@4000 {
>   				compatible = "generic-ehci";
>   				reg = <0x4000 0x1000>;
>   				interrupt-parent = <&gic>;
> @@ -155,7 +155,7 @@ ehci_port2: port@2 {
>   				};
>   			};
>   
> -			ohci: ohci@d000 {
> +			ohci: usb@d000 {
>   				#usb-cells = <0>;
>   
>   				compatible = "generic-ohci";
> diff --git a/arch/arm/boot/dts/hisi-x5hd2.dtsi b/arch/arm/boot/dts/hisi-x5hd2.dtsi
> index 3ee7967c202d..693b85b2cc7d 100644
> --- a/arch/arm/boot/dts/hisi-x5hd2.dtsi
> +++ b/arch/arm/boot/dts/hisi-x5hd2.dtsi
> @@ -452,14 +452,14 @@ gmac1: ethernet@1841000 {
>   			status = "disabled";
>   		};
>   
> -		usb0: ehci@1890000 {
> +		usb0: usb@1890000 {
>   			compatible = "generic-ehci";
>   			reg = <0x1890000 0x1000>;
>   			interrupts = <0 66 4>;
>   			clocks = <&clock HIX5HD2_USB_CLK>;
>   		};
>   
> -		usb1: ohci@1880000 {
> +		usb1: usb@1880000 {
>   			compatible = "generic-ohci";
>   			reg = <0x1880000 0x1000>;
>   			interrupts = <0 67 4>;
> diff --git a/arch/arm/boot/dts/lpc18xx.dtsi b/arch/arm/boot/dts/lpc18xx.dtsi
> index 10b8249b8ab6..82ffd7b0ad8a 100644
> --- a/arch/arm/boot/dts/lpc18xx.dtsi
> +++ b/arch/arm/boot/dts/lpc18xx.dtsi
> @@ -121,7 +121,7 @@ mmcsd: mmcsd@40004000 {
>   			status = "disabled";
>   		};
>   
> -		usb0: ehci@40006100 {
> +		usb0: usb@40006100 {
>   			compatible = "nxp,lpc1850-ehci", "generic-ehci";
>   			reg = <0x40006100 0x100>;
>   			interrupts = <8>;
> @@ -133,7 +133,7 @@ usb0: ehci@40006100 {
>   			status = "disabled";
>   		};
>   
> -		usb1: ehci@40007100 {
> +		usb1: usb@40007100 {
>   			compatible = "nxp,lpc1850-ehci", "generic-ehci";
>   			reg = <0x40007100 0x100>;
>   			interrupts = <9>;
> diff --git a/arch/arm/boot/dts/stm32mp151.dtsi b/arch/arm/boot/dts/stm32mp151.dtsi
> index bfe29023fbd5..576f7da564c5 100644
> --- a/arch/arm/boot/dts/stm32mp151.dtsi
> +++ b/arch/arm/boot/dts/stm32mp151.dtsi
> @@ -1404,7 +1404,7 @@ ethernet0: ethernet@5800a000 {
>   			status = "disabled";
>   		};
>   
> -		usbh_ohci: usbh-ohci@5800c000 {
> +		usbh_ohci: usb@5800c000 {
>   			compatible = "generic-ohci";
>   			reg = <0x5800c000 0x1000>;
>   			clocks = <&rcc USBH>;
> @@ -1413,7 +1413,7 @@ usbh_ohci: usbh-ohci@5800c000 {
>   			status = "disabled";
>   		};
>   
> -		usbh_ehci: usbh-ehci@5800d000 {
> +		usbh_ehci: usb@5800d000 {
>   			compatible = "generic-ehci";
>   			reg = <0x5800d000 0x1000>;
>   			clocks = <&rcc USBH>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> index 12bc1d3ed424..a4acecb75c89 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi
> @@ -585,7 +585,7 @@ pcie: pcie@9860000 {
>   			status = "disabled";
>   		};
>   
> -		ohci: ohci@9880000 {
> +		ohci: usb@9880000 {
>   			compatible = "generic-ohci";
>   			reg = <0x9880000 0x10000>;
>   			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
> @@ -600,7 +600,7 @@ ohci: ohci@9880000 {
>   			status = "disabled";
>   		};
>   
> -		ehci: ehci@9890000 {
> +		ehci: usb@9890000 {
>   			compatible = "generic-ehci";
>   			reg = <0x9890000 0x10000>;
>   			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hip06.dtsi b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> index 50ceaa959bdc..1226440d54ad 100644
> --- a/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
> @@ -373,7 +373,7 @@ refclk: refclk {
>   			#clock-cells = <0>;
>   		};
>   
> -		usb_ohci: ohci@a7030000 {
> +		usb_ohci: usb@a7030000 {
>   			compatible = "generic-ohci";
>   			reg = <0x0 0xa7030000 0x0 0x10000>;
>   			interrupt-parent = <&mbigen_usb>;
> @@ -382,7 +382,7 @@ usb_ohci: ohci@a7030000 {
>   			status = "disabled";
>   		};
>   
> -		usb_ehci: ehci@a7020000 {
> +		usb_ehci: usb@a7020000 {
>   			compatible = "generic-ehci";
>   			reg = <0x0 0xa7020000 0x0 0x10000>;
>   			interrupt-parent = <&mbigen_usb>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hip07.dtsi b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> index 4773a533fce5..93f99a5255ac 100644
> --- a/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
> @@ -1253,7 +1253,7 @@ uart0: uart@602b0000 {
>   			status = "disabled";
>   		};
>   
> -		usb_ohci: ohci@a7030000 {
> +		usb_ohci: usb@a7030000 {
>   			compatible = "generic-ohci";
>   			reg = <0x0 0xa7030000 0x0 0x10000>;
>   			interrupt-parent = <&mbigen_usb>;
> @@ -1262,7 +1262,7 @@ usb_ohci: ohci@a7030000 {
>   			status = "disabled";
>   		};
>   
> -		usb_ehci: ehci@a7020000 {
> +		usb_ehci: usb@a7020000 {
>   			compatible = "generic-ehci";
>   			reg = <0x0 0xa7020000 0x0 0x10000>;
>   			interrupt-parent = <&mbigen_usb>;
> diff --git a/arch/mips/boot/dts/ingenic/jz4740.dtsi b/arch/mips/boot/dts/ingenic/jz4740.dtsi
> index 1520585c235c..b989ff62ffbc 100644
> --- a/arch/mips/boot/dts/ingenic/jz4740.dtsi
> +++ b/arch/mips/boot/dts/ingenic/jz4740.dtsi
> @@ -281,7 +281,7 @@ dmac: dma-controller@13020000 {
>   		clocks = <&cgu JZ4740_CLK_DMA>;
>   	};
>   
> -	uhc: uhc@13030000 {
> +	uhc: usb@13030000 {
>   		compatible = "ingenic,jz4740-ohci", "generic-ohci";
>   		reg = <0x13030000 0x1000>;
>   
> diff --git a/arch/mips/boot/dts/ingenic/jz4770.dtsi b/arch/mips/boot/dts/ingenic/jz4770.dtsi
> index fa11ac950499..e45c03038826 100644
> --- a/arch/mips/boot/dts/ingenic/jz4770.dtsi
> +++ b/arch/mips/boot/dts/ingenic/jz4770.dtsi
> @@ -417,7 +417,7 @@ dmac1: dma-controller@13420100 {
>   		interrupts = <23>;
>   	};
>   
> -	uhc: uhc@13430000 {
> +	uhc: usb@13430000 {
>   		compatible = "generic-ohci";
>   		reg = <0x13430000 0x1000>;
>   
> diff --git a/arch/mips/boot/dts/mti/sead3.dts b/arch/mips/boot/dts/mti/sead3.dts
> index 192c26ff1d3d..1cf6728af8fe 100644
> --- a/arch/mips/boot/dts/mti/sead3.dts
> +++ b/arch/mips/boot/dts/mti/sead3.dts
> @@ -56,7 +56,7 @@ gic: interrupt-controller@1b1c0000 {
>   		interrupt-parent = <&cpu_intc>;
>   	};
>   
> -	ehci@1b200000 {
> +	usb@1b200000 {
>   		compatible = "generic-ehci";
>   		reg = <0x1b200000 0x1000>;
>   
> diff --git a/arch/mips/boot/dts/ralink/mt7628a.dtsi b/arch/mips/boot/dts/ralink/mt7628a.dtsi
> index 892e8ab863c5..45bf96a3d17a 100644
> --- a/arch/mips/boot/dts/ralink/mt7628a.dtsi
> +++ b/arch/mips/boot/dts/ralink/mt7628a.dtsi
> @@ -275,7 +275,7 @@ usb_phy: usb-phy@10120000 {
>   		reset-names = "host", "device";
>   	};
>   
> -	ehci@101c0000 {
> +	usb@101c0000 {
>   		compatible = "generic-ehci";
>   		reg = <0x101c0000 0x1000>;
>   
> diff --git a/arch/powerpc/boot/dts/akebono.dts b/arch/powerpc/boot/dts/akebono.dts
> index df18f8dc4642..343326c30380 100644
> --- a/arch/powerpc/boot/dts/akebono.dts
> +++ b/arch/powerpc/boot/dts/akebono.dts
> @@ -126,7 +126,7 @@ SATA0: sata@30000010000 {
>   			interrupts = <93 2>;
>   		};
>   
> -		EHCI0: ehci@30010000000 {
> +		EHCI0: usb@30010000000 {
>   			compatible = "ibm,476gtr-ehci", "generic-ehci";
>   			reg = <0x300 0x10000000 0x0 0x10000>;
>   			interrupt-parent = <&MPIC>;
> @@ -140,14 +140,14 @@ SD0: sd@30000000000 {
>   			interrupt-parent = <&MPIC>;
>   		};
>   
> -		OHCI0: ohci@30010010000 {
> +		OHCI0: usb@30010010000 {
>   			compatible = "ibm,476gtr-ohci", "generic-ohci";
>   			reg = <0x300 0x10010000 0x0 0x10000>;
>   			interrupt-parent = <&MPIC>;
>   			interrupts = <89 1>;
>   			};
>   
> -		OHCI1: ohci@30010020000 {
> +		OHCI1: usb@30010020000 {
>   			compatible = "ibm,476gtr-ohci", "generic-ohci";
>   			reg = <0x300 0x10020000 0x0 0x10000>;
>   			interrupt-parent = <&MPIC>;
> 

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
  2020-10-16  7:08   ` Alexandre Torgue
@ 2020-10-16  8:52     ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-16  8:52 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Neil Armstrong, Bjorn Andersson, Paul Cercueil, Paul Mackerras,
	Pavel Parkhomenko, linux-stm32, Rafał Miłecki,
	Alexey Brodkin, Wei Xu, Andy Gross, bcm-kernel-feedback-list,
	Kevin Hilman, linux-snps-arc, devicetree, Mathias Nyman,
	Hauke Mehrtens, Lad Prabhakar, Vladimir Zapolskiy, Rob Herring,
	linux-mediatek, Matthias Brugger, Alexey Malahov,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Thomas Bogendoerfer, Greg Kroah-Hartman, Yoshihiro Shimoda,
	linux-usb, linux-mips, Serge Semin, linux-kernel, Manu Gautam,
	Maxime Coquelin, Vineet Gupta, linuxppc-dev

Hello Alexandre,

On Fri, Oct 16, 2020 at 09:08:23AM +0200, Alexandre Torgue wrote:
> Hi Serge,
> 
> On 10/14/20 12:14 PM, Serge Semin wrote:
> > In accordance with the Generic EHCI/OHCI bindings the corresponding node
> > name is suppose to comply with the Generic USB HCD DT schema, which
> > requires the USB nodes to have the name acceptable by the regexp:
> > "^usb(@.*)?" . Let's fix the DTS files, which have the nodes defined with
> > incompatible names.
> > 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > 
> > ---
> > 
> > Please, test the patch out to make sure it doesn't brake the dependent DTS
> > files. I did only a manual grepping of the possible nodes dependencies.
> > ---
> >   arch/arc/boot/dts/axs10x_mb.dtsi               | 4 ++--
> >   arch/arc/boot/dts/hsdk.dts                     | 4 ++--
> >   arch/arc/boot/dts/vdk_axs10x_mb.dtsi           | 2 +-
> >   arch/arm/boot/dts/bcm5301x.dtsi                | 4 ++--
> >   arch/arm/boot/dts/bcm53573.dtsi                | 4 ++--
> >   arch/arm/boot/dts/hisi-x5hd2.dtsi              | 4 ++--
> >   arch/arm/boot/dts/lpc18xx.dtsi                 | 4 ++--
> >   arch/arm/boot/dts/stm32mp151.dtsi              | 4 ++--
> >   arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 4 ++--
> >   arch/arm64/boot/dts/hisilicon/hip06.dtsi       | 4 ++--
> >   arch/arm64/boot/dts/hisilicon/hip07.dtsi       | 4 ++--
> >   arch/mips/boot/dts/ingenic/jz4740.dtsi         | 2 +-
> >   arch/mips/boot/dts/ingenic/jz4770.dtsi         | 2 +-
> >   arch/mips/boot/dts/mti/sead3.dts               | 2 +-
> >   arch/mips/boot/dts/ralink/mt7628a.dtsi         | 2 +-
> >   arch/powerpc/boot/dts/akebono.dts              | 6 +++---
> >   16 files changed, 28 insertions(+), 28 deletions(-)
> > 
> 

> I surely missed something, but we have here in the same patch modifications
> for different architectures and different vendors.
> 
> Do you plan to split this patch after getting some Acked-by / Tested-by ?

Yeah, I'll split this patch and two next ones up in v3.

-Sergey

> 
> regards
> Alex
> 
> 

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  2020-10-14 17:27     ` Serge Semin
@ 2020-10-16 15:44       ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 15:44 UTC (permalink / raw)
  To: Serge Semin
  Cc: linux-arm-kernel, devicetree, linux-snps-arc, Mathias Nyman,
	Neil Armstrong, Greg Kroah-Hartman, Lad Prabhakar, linux-usb,
	linux-mips, Serge Semin, Alexey Malahov, Manu Gautam, Andy Gross,
	Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman, Felipe Balbi,
	linuxppc-dev, Yoshihiro Shimoda, linux-kernel, Roger Quadros

On Wed, Oct 14, 2020 at 08:27:10PM +0300, Serge Semin wrote:
> On Wed, Oct 14, 2020 at 08:27:56AM -0500, Rob Herring wrote:
> > On Wed, 14 Oct 2020 13:13:46 +0300, Serge Semin wrote:
> > > The host controller device might be designed to work for the particular
> > > products or applications. In that case its DT node is supposed to be
> > > equipped with the tpl-support property.
> > > 
> > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > > 
> > > ---
> > > 
> > > Changelog v2:
> > > - Grammar fix: "s/it'/its"
> > > - Discard '|' from the property description, since we don't need to preserve
> > >   the text formatting.
> > > ---
> > >  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > 
> > 
> > My bot found errors running 'make dt_binding_check' on your patch:
> > 
> > Traceback (most recent call last):
> >   File "/usr/local/bin/dt-extract-example", line 45, in <module>
> >     binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
> >   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 343, in load
> >     return constructor.get_single_data()
> >   File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 111, in get_single_data
> >     node = self.composer.get_single_node()
> >   File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
> >   File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
> >   File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
> >   File "_ruamel_yaml.pyx", line 891, in _ruamel_yaml.CParser._compose_mapping_node
> >   File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
> > ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
> >   in "<unicode string>", line 27, column 14
> > make[1]: *** [Documentation/devicetree/bindings/Makefile:20: Documentation/devicetree/bindings/usb/usb-hcd.example.dts] Error 1
> > make[1]: *** Deleting file 'Documentation/devicetree/bindings/usb/usb-hcd.example.dts'
> > make[1]: *** Waiting for unfinished jobs....
> > ./Documentation/devicetree/bindings/usb/usb-hcd.yaml:27:14: [error] syntax error: mapping values are not allowed here (syntax)
> > make[1]: *** [Documentation/devicetree/bindings/Makefile:59: Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
> > make: *** [Makefile:1366: dt_binding_check] Error 2
> > 
> > 
> > See https://patchwork.ozlabs.org/patch/1382001
> > 
> > If you already ran 'make dt_binding_check' and didn't see the above
> > error(s), then make sure dt-schema is up to date:
> > 
> > pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade
> > 
> > Please check and re-submit.
> 
> Hm, that's weird. Of course I did the dt_binding_check before submission, but
> even after the dt-schema repo update I failed to see the error:
> 
> $ make -j8 ARCH=mips CROSS_COMPILE=mipsel-baikal-linux- dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/usb-hcd.yaml
>   CHKDT   Documentation/devicetree/bindings/usb/usb-hcd.yaml
>   SCHEMA  Documentation/devicetree/bindings/processed-schema-examples.yaml
>   DTC     Documentation/devicetree/bindings/usb/usb-hcd.example.dt.yaml
>   CHECK   Documentation/devicetree/bindings/usb/usb-hcd.example.dt.yaml
> 
> Rob, any idea why has the bot got mad at me?

Humm, I'm not sure. We'll see if it happens again when you send v2.

Note that yamllint is also run now and that's the line with '[error]'. 
So neither yamllint nor ruamel are happy (could be the same parser code 
ultimately).

Rob

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to DT schema
  2020-10-14 10:13 ` [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to " Serge Semin
@ 2020-10-16 18:33   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:33 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:43 +0300, Serge Semin wrote:
> The generic USB HCD properties have been described in the legacy bindings
> text file: Documentation/devicetree/bindings/usb/generic.txt . Let's
> convert it' content into the USB HCD DT schema properties so all USB DT
> nodes would be validated to have them properly utilized.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Discard '|' in all the new properties, since we don't need to preserve
>   the text formatting.
> - Convert abbreviated form of the "maximum-speed" enum restriction into
>   the multi-lined version of the list.
> - Drop quotes from around the string constants.
> ---
>  .../devicetree/bindings/usb/generic.txt       | 57 ------------
>  .../devicetree/bindings/usb/usb-hcd.yaml      | 88 +++++++++++++++++++
>  2 files changed, 88 insertions(+), 57 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/usb/generic.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction
  2020-10-14 10:13 ` [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction Serge Semin
@ 2020-10-16 18:33   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:33 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:44 +0300, Serge Semin wrote:
> There are only four OTG revisions are currently supported by the kernel:
> 0x0100, 0x0120, 0x0130, 0x0200. Any another value is considered as
> invalid.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
  2020-10-14 10:13 ` [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types Serge Semin
@ 2020-10-16 18:34   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:34 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-mips, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:45 +0300, Serge Semin wrote:
> Aside from the UTMI+ there are also ULPI, Serial and HSIC PHY types
> that can be specified in the phy_type HCD property. Add them to the
> enumeration of the acceptable values.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/PHY types can be/PHY types that can be"
> - Drop quotes from around the string constants.
> ---
>  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property
  2020-10-14 10:13 ` [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property Serge Semin
  2020-10-14 13:27   ` Rob Herring
@ 2020-10-16 18:47   ` Rob Herring
  1 sibling, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:47 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-mips, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:46 +0300, Serge Semin wrote:
> The host controller device might be designed to work for the particular
> products or applications. In that case its DT node is supposed to be
> equipped with the tpl-support property.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/it'/its"
> - Discard '|' from the property description, since we don't need to preserve
>   the text formatting.
> ---
>  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property
  2020-10-14 10:13 ` [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property Serge Semin
@ 2020-10-16 18:47   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:47 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:47 +0300, Serge Semin wrote:
> Even though the Generic PHY framework is the more preferable way of
> setting the USB PHY up, there are still many dts-files and DT bindings
> which rely on having the legacy "usb-phy" specified to attach particular
> USB PHYs to USB cores. Let's have the "usb-phy" property described in
> the generic USB HCD binding file so it would be validated against the
> nodes in which it's specified. Mark the property as deprecated to
> discourage the developers from using it.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Discard '|' from the property description, since we don't need to preserve
>   the text formatting.
> ---
>  Documentation/devicetree/bindings/usb/usb-hcd.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema
  2020-10-14 10:13 ` [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema Serge Semin
@ 2020-10-16 18:49   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:49 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:48 +0300, Serge Semin wrote:
> Currently the DT bindings of Generic xHCI Controllers are described by means
> of the legacy text file. Since such format is deprecated in favor of the
> DT schema, let's convert the Generic xHCI Controllers bindings file to the
> corresponding yaml files. There will be two of them: a DT schema for the
> xHCI controllers on a generic platform and a DT schema validating a generic
> xHCI controllers properties. The later will be used to validate the xHCI
> controllers, which aside from some vendor-specific features support the
> basic xHCI functionality.
> 
> An xHCI-compatible DT node shall support the standard USB HCD properties
> and custom ones like: usb2-lpm-disable, usb3-lpm-capable,
> quirk-broken-port-ped and imod-interval-ns. In addition if a generic xHCI
> controller is being validated against the DT schema it is also supposed to
> be equipped with mandatory compatible string, single registers range,
> single interrupts source, and is supposed to optionally contain up to two
> reference clocks for the controller core and CSRs.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Add explicit "additionalProperties: true" to the usb-xhci.yaml schema,
>   since additionalProperties/unevaluatedProperties are going to be mandary
>   for each binding.
> ---
>  .../devicetree/bindings/usb/generic-xhci.yaml | 63 +++++++++++++++++++
>  .../devicetree/bindings/usb/usb-xhci.txt      | 41 ------------
>  .../devicetree/bindings/usb/usb-xhci.yaml     | 42 +++++++++++++
>  3 files changed, 105 insertions(+), 41 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
  2020-10-14 10:13 ` [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device Serge Semin
  2020-10-15 16:39   ` Florian Fainelli
@ 2020-10-16 18:49   ` Rob Herring
  1 sibling, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:49 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:49 +0300, Serge Semin wrote:
> For some reason the "brcm,xhci-brcm-v2" compatible string has been missing
> in the original bindings file. Add it to the Generic xHCI Controllers DT
> schema since the controller driver expects it to be supported.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  Documentation/devicetree/bindings/usb/generic-xhci.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
  2020-10-14 10:13 ` [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file Serge Semin
@ 2020-10-16 18:50   ` Rob Herring
  2020-10-20  4:42   ` Yoshihiro Shimoda
  1 sibling, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:50 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:50 +0300, Serge Semin wrote:
> With minor peculiarities (like uploading some vendor-specific firmware)
> these are just Generic xHCI controllers fully compatible with its
> properties. Make sure the Renesas USB xHCI DT nodes are also validated
> against the Generic xHCI DT schema.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  Documentation/devicetree/bindings/usb/renesas,usb-xhci.yaml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support
  2020-10-14 10:13 ` [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support Serge Semin
@ 2020-10-16 18:50   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:50 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-mips, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-kernel,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:52 +0300, Serge Semin wrote:
> The controller driver supports two types of DWC USB3 devices: with a
> common interrupt lane and with individual interrupts for each mode. Add
> support for both these cases to the DWC USB3 DT schema.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/both of these cases support/support for both these cases"
> - Drop quotes from around the string constants.
> ---
>  Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
  2020-10-14 21:35     ` Serge Semin
@ 2020-10-16 18:53       ` Rob Herring
  2020-10-19 16:22         ` Serge Semin
  0 siblings, 1 reply; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:53 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Krzysztof Kozlowski, Andy Gross, linux-snps-arc, devicetree,
	Mathias Nyman, Lad Prabhakar, Alexey Malahov, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Thu, Oct 15, 2020 at 12:35:54AM +0300, Serge Semin wrote:
> On Wed, Oct 14, 2020 at 10:18:18PM +0200, Krzysztof Kozlowski wrote:
> > On Wed, Oct 14, 2020 at 01:13:53PM +0300, Serge Semin wrote:
> > > The DWC USB3 driver and some DTS files like Exynos 5250, Keystone k2e, etc
> > > expects the DWC USB3 DT node to have the compatible string with the
> > > "synopsys" vendor prefix. Let's add the corresponding compatible string to
> > > the controller DT schema, but mark it as deprecated seeing the Synopsys,
> > > Inc. is presented with just "snps" vendor prefix.
> > 
> 
> > Instead of adding deprecated schema just correct the DTSes to use snps.
> > The "synopsys" is not even in vendor prefixes.
> 
> Yeah, it's not, but the driver and some dts'es use it this way. I am not sure
> that the solution suggested by you is much better than mine. So let's hear the
> Rob'es opinion out in this matter. @Rob, what do you think?

I think we should fix the dts files given there's only 5.

Rob

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
  2020-10-14 10:13 ` [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions Serge Semin
@ 2020-10-16 18:54   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:54 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:54 +0300, Serge Semin wrote:
> In accordance with the driver comments the PIPE3 de-emphasis can be tuned
> to be either -6dB, -2.5dB or disabled. Let's add the de-emphasis
> property restriction so the DT schema would make sure the controller DT
> node is equipped with correct value.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/tunned/tuned"
> - Grammar fix: remove redundant "or" conjunction.
> ---
>  Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions
  2020-10-14 10:13 ` [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions Serge Semin
@ 2020-10-16 18:54   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:54 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:55 +0300, Serge Semin wrote:
> In accordance with the IP core databook the
> snps,quirk-frame-length-adjustment property can be set within [0, 0x3F].
> Let's make sure the DT schema applies a correct restriction on the
> property.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
  2020-10-14 10:13 ` [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value Serge Semin
@ 2020-10-16 18:54   ` Rob Herring
  2020-10-16 20:46   ` Martin Blumenstingl
  1 sibling, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:54 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko,
	Jerome Brunet, Kevin Hilman, Andy Gross, linux-snps-arc,
	devicetree, Mathias Nyman, Martin Blumenstingl, Lad Prabhakar,
	Alexey Malahov, Rob Herring, linux-amlogic, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:56 +0300, Serge Semin wrote:
> An empty snps,quirk-frame-length-adjustment won't cause any change
> performed by the driver. Moreover the DT schema validation will fail,
> since it expects the property being assigned with some value. So set
> fix the example by setting a valid FL-adj value in accordance with
> Neil Armstrong comment.
> 
> Link: https://lore.kernel.org/linux-usb/20201010224121.12672-16-Sergey.Semin@baikalelectronics.ru/
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Acked-by: Neil Armstrong <narmstrong@baylibre.com>
> 
> ---
> 
> Note the same problem is in the DT source file
> arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi .
> ---
>  .../devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml    | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
  2020-10-14 10:13 ` [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes Serge Semin
@ 2020-10-16 18:54   ` Rob Herring
  2020-10-16 20:47   ` Martin Blumenstingl
  1 sibling, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:54 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Jerome Brunet,
	Kevin Hilman, Andy Gross, linux-snps-arc, devicetree,
	Mathias Nyman, Martin Blumenstingl, Lad Prabhakar,
	Alexey Malahov, Rob Herring, linux-amlogic, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:57 +0300, Serge Semin wrote:
> Amlogic G12A USB DT sub-nodes are supposed to be compatible with the
> generic DWC USB2 and USB3 devices. Since now we've got DT schemas for
> both of the later IP cores let's make sure that the Amlogic G12A USB
> DT nodes are fully evaluated including the DWC sub-nodes.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
> 
> ---
> 
> Changelog v2:
> - Use "oneOf: [dwc2.yaml#, snps,dwc3.yaml#]" instead of the bulky "if:
>   properties: compatibe: ..." statement.
> ---
>  .../devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml  | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
  2020-10-14 10:13 ` [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node Serge Semin
@ 2020-10-16 18:55   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:55 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	Lad Prabhakar, Alexey Malahov, Rob Herring, linux-arm-kernel,
	Roger Quadros, Felipe Balbi, Greg Kroah-Hartman,
	Yoshihiro Shimoda, linux-usb, linux-mips, Serge Semin,
	linux-kernel, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:58 +0300, Serge Semin wrote:
> TI Keystone DWC3 compatible DT node is supposed to have a DWC USB3
> compatible sub-node to describe a fully functioning USB interface.
> Since DWC USB3 has now got a DT schema describing its DT node, let's make
> sure the TI Keystone DWC3 sub-node passes validation against it.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Grammar fix: "s/it'/its"
> ---
>  Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 17/20] dt-bindings: usb: qcom, dwc3: Validate DWC3 sub-node
  2020-10-14 10:13 ` [PATCH 17/20] dt-bindings: usb: qcom,dwc3: " Serge Semin
@ 2020-10-16 18:55   ` Rob Herring
  0 siblings, 0 replies; 73+ messages in thread
From: Rob Herring @ 2020-10-16 18:55 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Andy Gross, linux-snps-arc, devicetree, Mathias Nyman,
	linux-arm-msm, Lad Prabhakar, Alexey Malahov, Rob Herring,
	Bjorn Andersson, linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Wed, 14 Oct 2020 13:13:59 +0300, Serge Semin wrote:
> Qualcomm msm8996/sc7180/sdm845 DWC3 compatible DT nodes are supposed to
> have a DWC USB3 compatible sub-node to describe a fully functioning USB
> interface. Let's use the available DWC USB3 DT schema to validate the
> Qualcomm DWC3 sub-nodes.
> 
> Note since the generic DWC USB3 DT node is supposed to be named as generic
> USB HCD ("^usb(@.*)?") one we have to accordingly fix the sub-nodes name
> regexp and fix the DT node example.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v2:
> - Discard the "^dwc3@[0-9a-f]+$" nodes from being acceptable as sub-nodes.
> ---
>  Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
  2020-10-14 10:13 ` [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value Serge Semin
  2020-10-16 18:54   ` Rob Herring
@ 2020-10-16 20:46   ` Martin Blumenstingl
  1 sibling, 0 replies; 73+ messages in thread
From: Martin Blumenstingl @ 2020-10-16 20:46 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko,
	Jerome Brunet, Kevin Hilman, Andy Gross, linux-snps-arc,
	devicetree, Mathias Nyman, Lad Prabhakar, Alexey Malahov,
	Rob Herring, linux-amlogic, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb,
	linux-mips, Serge Semin, linux-kernel, Manu Gautam, linuxppc-dev

On Wed, Oct 14, 2020 at 12:14 PM Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> An empty snps,quirk-frame-length-adjustment won't cause any change
> performed by the driver. Moreover the DT schema validation will fail,
> since it expects the property being assigned with some value. So set
> fix the example by setting a valid FL-adj value in accordance with
> Neil Armstrong comment.
>
> Link: https://lore.kernel.org/linux-usb/20201010224121.12672-16-Sergey.Semin@baikalelectronics.ru/
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
  2020-10-14 10:13 ` [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes Serge Semin
  2020-10-16 18:54   ` Rob Herring
@ 2020-10-16 20:47   ` Martin Blumenstingl
  1 sibling, 0 replies; 73+ messages in thread
From: Martin Blumenstingl @ 2020-10-16 20:47 UTC (permalink / raw)
  To: Serge Semin
  Cc: Neil Armstrong, Bjorn Andersson, Pavel Parkhomenko,
	Jerome Brunet, Kevin Hilman, Andy Gross, linux-snps-arc,
	devicetree, Mathias Nyman, Lad Prabhakar, Alexey Malahov,
	Rob Herring, linux-amlogic, linux-arm-kernel, Roger Quadros,
	Felipe Balbi, Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb,
	linux-mips, Serge Semin, linux-kernel, Manu Gautam, linuxppc-dev

On Wed, Oct 14, 2020 at 12:14 PM Serge Semin
<Sergey.Semin@baikalelectronics.ru> wrote:
>
> Amlogic G12A USB DT sub-nodes are supposed to be compatible with the
> generic DWC USB2 and USB3 devices. Since now we've got DT schemas for
> both of the later IP cores let's make sure that the Amlogic G12A USB
> DT nodes are fully evaluated including the DWC sub-nodes.
>
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

^ permalink raw reply	[flat|nested] 73+ messages in thread

* Re: [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
  2020-10-16 18:53       ` Rob Herring
@ 2020-10-19 16:22         ` Serge Semin
  0 siblings, 0 replies; 73+ messages in thread
From: Serge Semin @ 2020-10-19 16:22 UTC (permalink / raw)
  To: Rob Herring
  Cc: Neil Armstrong, linux-kernel, Pavel Parkhomenko, Kevin Hilman,
	Krzysztof Kozlowski, Andy Gross, linux-snps-arc, devicetree,
	Mathias Nyman, Lad Prabhakar, Alexey Malahov, Bjorn Andersson,
	linux-arm-kernel, Roger Quadros, Felipe Balbi,
	Greg Kroah-Hartman, Yoshihiro Shimoda, linux-usb, linux-mips,
	Serge Semin, Manu Gautam, linuxppc-dev

On Fri, Oct 16, 2020 at 01:53:40PM -0500, Rob Herring wrote:
> On Thu, Oct 15, 2020 at 12:35:54AM +0300, Serge Semin wrote:
> > On Wed, Oct 14, 2020 at 10:18:18PM +0200, Krzysztof Kozlowski wrote:
> > > On Wed, Oct 14, 2020 at 01:13:53PM +0300, Serge Semin wrote:
> > > > The DWC USB3 driver and some DTS files like Exynos 5250, Keystone k2e, etc
> > > > expects the DWC USB3 DT node to have the compatible string with the
> > > > "synopsys" vendor prefix. Let's add the corresponding compatible string to
> > > > the controller DT schema, but mark it as deprecated seeing the Synopsys,
> > > > Inc. is presented with just "snps" vendor prefix.
> > > 
> > 
> > > Instead of adding deprecated schema just correct the DTSes to use snps.
> > > The "synopsys" is not even in vendor prefixes.
> > 
> > Yeah, it's not, but the driver and some dts'es use it this way. I am not sure
> > that the solution suggested by you is much better than mine. So let's hear the
> > Rob'es opinion out in this matter. @Rob, what do you think?
> 

> I think we should fix the dts files given there's only 5.

Ok. I'll do that.

-Sergey

> 
> Rob

^ permalink raw reply	[flat|nested] 73+ messages in thread

* RE: [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
  2020-10-14 10:13 ` [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file Serge Semin
  2020-10-16 18:50   ` Rob Herring
@ 2020-10-20  4:42   ` Yoshihiro Shimoda
  1 sibling, 0 replies; 73+ messages in thread
From: Yoshihiro Shimoda @ 2020-10-20  4:42 UTC (permalink / raw)
  To: Serge Semin, Mathias Nyman, Felipe Balbi, Greg Kroah-Hartman,
	Rob Herring, Prabhakar Mahadev Lad
  Cc: devicetree, linux-snps-arc, linux-kernel, Neil Armstrong,
	Kevin Hilman, linux-usb, linux-mips, Serge Semin,
	Bjorn Andersson, Manu Gautam, Andy Gross, Pavel Parkhomenko,
	Alexey Malahov, linuxppc-dev, linux-arm-kernel, Roger Quadros

Hi,

> From: Serge Semin, Sent: Wednesday, October 14, 2020 7:14 PM
> 
> With minor peculiarities (like uploading some vendor-specific firmware)
> these are just Generic xHCI controllers fully compatible with its
> properties. Make sure the Renesas USB xHCI DT nodes are also validated
> against the Generic xHCI DT schema.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---

Thank you for the patch!

Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

Best regards,
Yoshihiro Shimoda


^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, back to index

Thread overview: 73+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-14 10:13 [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin
2020-10-14 10:13 ` [PATCH 01/20] dt-bindings: usb: usb-hcd: Convert generic USB properties to " Serge Semin
2020-10-16 18:33   ` Rob Herring
2020-10-14 10:13 ` [PATCH 02/20] dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction Serge Semin
2020-10-16 18:33   ` Rob Herring
2020-10-14 10:13 ` [PATCH 03/20] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types Serge Semin
2020-10-16 18:34   ` Rob Herring
2020-10-14 10:13 ` [PATCH 04/20] dt-bindings: usb: usb-hcd: Add "tpl-support" property Serge Semin
2020-10-14 13:27   ` Rob Herring
2020-10-14 17:27     ` Serge Semin
2020-10-16 15:44       ` Rob Herring
2020-10-16 18:47   ` Rob Herring
2020-10-14 10:13 ` [PATCH 05/20] dt-bindings: usb: usb-hcd: Add generic "usb-phy" property Serge Semin
2020-10-16 18:47   ` Rob Herring
2020-10-14 10:13 ` [PATCH 06/20] dt-bindings: usb: Convert xHCI bindings to DT schema Serge Semin
2020-10-16 18:49   ` Rob Herring
2020-10-14 10:13 ` [PATCH 07/20] dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device Serge Semin
2020-10-15 16:39   ` Florian Fainelli
2020-10-16 18:49   ` Rob Herring
2020-10-14 10:13 ` [PATCH 08/20] dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file Serge Semin
2020-10-16 18:50   ` Rob Herring
2020-10-20  4:42   ` Yoshihiro Shimoda
2020-10-14 10:13 ` [PATCH 09/20] dt-bindings: usb: Convert DWC USB3 bindings to DT schema Serge Semin
2020-10-14 13:32   ` Rob Herring
2020-10-14 17:37     ` Serge Semin
2020-10-14 10:13 ` [PATCH 10/20] dt-bindings: usb: dwc3: Add interrupt-names property support Serge Semin
2020-10-16 18:50   ` Rob Herring
2020-10-14 10:13 ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys, dwc3 compatible string Serge Semin
2020-10-14 20:18   ` [PATCH 11/20] dt-bindings: usb: dwc3: Add synopsys,dwc3 " Krzysztof Kozlowski
2020-10-14 21:35     ` Serge Semin
2020-10-16 18:53       ` Rob Herring
2020-10-19 16:22         ` Serge Semin
2020-10-14 10:13 ` [PATCH 12/20] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions Serge Semin
2020-10-16 18:54   ` Rob Herring
2020-10-14 10:13 ` [PATCH 13/20] dt-bindings: usb: dwc3: Add Frame Length Adj restrictions Serge Semin
2020-10-16 18:54   ` Rob Herring
2020-10-14 10:13 ` [PATCH 14/20] dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value Serge Semin
2020-10-16 18:54   ` Rob Herring
2020-10-16 20:46   ` Martin Blumenstingl
2020-10-14 10:13 ` [PATCH 15/20] dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes Serge Semin
2020-10-16 18:54   ` Rob Herring
2020-10-16 20:47   ` Martin Blumenstingl
2020-10-14 10:13 ` [PATCH 16/20] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node Serge Semin
2020-10-16 18:55   ` Rob Herring
2020-10-14 10:13 ` [PATCH 17/20] dt-bindings: usb: qcom,dwc3: " Serge Semin
2020-10-16 18:55   ` [PATCH 17/20] dt-bindings: usb: qcom, dwc3: " Rob Herring
2020-10-14 10:14 ` [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name Serge Semin
2020-10-14 18:00   ` Florian Fainelli
2020-10-14 18:11     ` Serge Semin
2020-10-14 18:41       ` Florian Fainelli
2020-10-14 21:21         ` Serge Semin
2020-10-14 18:56   ` Paul Cercueil
2020-10-14 19:12     ` Alexey Brodkin
2020-10-15  8:05   ` Amelie DELAUNAY
2020-10-15 16:37   ` Florian Fainelli
2020-10-16  7:08   ` Alexandre Torgue
2020-10-16  8:52     ` Serge Semin
2020-10-14 10:14 ` [PATCH 19/20] arch: dts: Fix xHCI " Serge Semin
2020-10-14 10:14 ` [PATCH 20/20] arch: dts: Fix DWC USB3 " Serge Semin
2020-10-14 10:33   ` Krzysztof Kozlowski
2020-10-14 17:16     ` Serge Semin
2020-10-14 20:04       ` Krzysztof Kozlowski
2020-10-14 23:51         ` Serge Semin
2020-10-15  6:14           ` Krzysztof Kozlowski
2020-10-15 14:15             ` Serge Semin
2020-10-14 14:09   ` Felipe Balbi
2020-10-14 14:37     ` Serge Semin
2020-10-14 18:35       ` Rob Herring
2020-10-14 21:22         ` Serge Semin
2020-10-15 10:15       ` Felipe Balbi
2020-10-15 13:53         ` Serge Semin
2020-10-15 14:04         ` Maxime Ripard
2020-10-14 17:39 ` [PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema Serge Semin

LinuxPPC-Dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linuxppc-dev/0 linuxppc-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linuxppc-dev linuxppc-dev/ https://lore.kernel.org/linuxppc-dev \
		linuxppc-dev@lists.ozlabs.org linuxppc-dev@ozlabs.org
	public-inbox-index linuxppc-dev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.ozlabs.lists.linuxppc-dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git