Linux-USB Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v5 0/2] Add USB DWC3 support for SC7180 
@ 2020-03-26  7:06 Sandeep Maheswaram
  2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Sandeep Maheswaram @ 2020-03-26  7:06 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
	Mark Rutland, Felipe Balbi, Stephen Boyd, Doug Anderson,
	Matthias Kaehlcke
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam,
	Sandeep Maheswaram

Converting dt binding to yaml.
Adding compatible for SC7180 in dt bindings.

Changes in v5:
Addressed the comments from Stephen in yaml file.

Changes in v4:
Addressed the comments from Doug in yaml file.

Changes in v3:
Dropped the patch for adding the compatible in dwc3 driver from the series.
Addressed the comments from Doug in yaml file.

Changes in v2:
Sorted the compatible in dwc3 driver.
Converted dt binding to yaml.
Added compatible in yaml.

Sandeep Maheswaram (2):
  dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  dt-bindings: usb: qcom,dwc3: Add compatible for SC7180

 .../devicetree/bindings/usb/qcom,dwc3.txt          | 104 --------------
 .../devicetree/bindings/usb/qcom,dwc3.yaml         | 159 +++++++++++++++++++++
 2 files changed, 159 insertions(+), 104 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
 create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-03-26  7:06 [PATCH v5 0/2] Add USB DWC3 support for SC7180 Sandeep Maheswaram
@ 2020-03-26  7:06 ` Sandeep Maheswaram
  2020-04-04 17:17   ` Rob Herring
  2020-04-08  3:44   ` Stephen Boyd
  2020-03-26  7:06 ` [PATCH v5 2/2] dt-bindings: usb: qcom,dwc3: Add compatible for SC7180 Sandeep Maheswaram
  2020-03-29 10:27 ` [PATCH v5 0/2] Add USB DWC3 support " Felipe Balbi
  2 siblings, 2 replies; 11+ messages in thread
From: Sandeep Maheswaram @ 2020-03-26  7:06 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
	Mark Rutland, Felipe Balbi, Stephen Boyd, Doug Anderson,
	Matthias Kaehlcke
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam,
	Sandeep Maheswaram

Convert USB DWC3 bindings to DT schema format using json-schema.

Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
---
 .../devicetree/bindings/usb/qcom,dwc3.txt          | 104 --------------
 .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158 +++++++++++++++++++++
 2 files changed, 158 insertions(+), 104 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
 create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml

diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
deleted file mode 100644
index cb695aa..0000000
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-Qualcomm SuperSpeed DWC3 USB SoC controller
-
-Required properties:
-- compatible:		Compatible list, contains
-			"qcom,dwc3"
-			"qcom,msm8996-dwc3" for msm8996 SOC.
-			"qcom,msm8998-dwc3" for msm8998 SOC.
-			"qcom,sdm845-dwc3" for sdm845 SOC.
-- reg:			Offset and length of register set for QSCRATCH wrapper
-- power-domains:	specifies a phandle to PM domain provider node
-- clocks:		A list of phandle + clock-specifier pairs for the
-				clocks listed in clock-names
-- clock-names:		Should contain the following:
-  "core"		Master/Core clock, have to be >= 125 MHz for SS
-				operation and >= 60MHz for HS operation
-  "mock_utmi"		Mock utmi clock needed for ITP/SOF generation in
-				host mode. Its frequency should be 19.2MHz.
-  "sleep"		Sleep clock, used for wakeup when USB3 core goes
-				into low power mode (U3).
-
-Optional clocks:
-  "iface"		System bus AXI clock.
-			Not present on "qcom,msm8996-dwc3" compatible.
-  "cfg_noc"		System Config NOC clock.
-			Not present on "qcom,msm8996-dwc3" compatible.
-- assigned-clocks:	Should be:
-				MOCK_UTMI_CLK
-				MASTER_CLK
-- assigned-clock-rates: Should be:
-                                19.2Mhz (192000000) for MOCK_UTMI_CLK
-                                >=125Mhz (125000000) for MASTER_CLK in SS mode
-                                >=60Mhz (60000000) for MASTER_CLK in HS mode
-
-Optional properties:
-- resets:		Phandle to reset control that resets core and wrapper.
-- interrupts:		specifies interrupts from controller wrapper used
-			to wakeup from low power/susepnd state.	Must contain
-			one or more entry for interrupt-names property
-- interrupt-names:	Must include the following entries:
-			- "hs_phy_irq": The interrupt that is asserted when a
-			   wakeup event is received on USB2 bus
-			- "ss_phy_irq": The interrupt that is asserted when a
-			   wakeup event is received on USB3 bus
-			- "dm_hs_phy_irq" and "dp_hs_phy_irq": Separate
-			   interrupts for any wakeup event on DM and DP lines
-- qcom,select-utmi-as-pipe-clk: if present, disable USB3 pipe_clk requirement.
-				Used when dwc3 operates without SSPHY and only
-				HS/FS/LS modes are supported.
-
-Required child node:
-A child node must exist to represent the core DWC3 IP block. The name of
-the node is not important. The content of the node is defined in dwc3.txt.
-
-Phy documentation is provided in the following places:
-Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt   - USB3 QMP PHY
-Documentation/devicetree/bindings/phy/qcom-qusb2-phy.txt - USB2 QUSB2 PHY
-
-Example device nodes:
-
-		hs_phy: phy@100f8800 {
-			compatible = "qcom,qusb2-v2-phy";
-			...
-		};
-
-		ss_phy: phy@100f8830 {
-			compatible = "qcom,qmp-v3-usb3-phy";
-			...
-		};
-
-		usb3_0: usb30@a6f8800 {
-			compatible = "qcom,dwc3";
-			reg = <0xa6f8800 0x400>;
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges;
-
-			interrupts = <0 131 0>, <0 486 0>, <0 488 0>, <0 489 0>;
-			interrupt-names = "hs_phy_irq", "ss_phy_irq",
-				  "dm_hs_phy_irq", "dp_hs_phy_irq";
-
-			clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
-				<&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
-				<&gcc GCC_USB30_PRIM_SLEEP_CLK>;
-			clock-names = "core", "mock_utmi", "sleep";
-
-			assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
-					  <&gcc GCC_USB30_PRIM_MASTER_CLK>;
-			assigned-clock-rates = <19200000>, <133000000>;
-
-			resets = <&gcc GCC_USB30_PRIM_BCR>;
-			reset-names = "core_reset";
-			power-domains = <&gcc USB30_PRIM_GDSC>;
-			qcom,select-utmi-as-pipe-clk;
-
-			dwc3@10000000 {
-				compatible = "snps,dwc3";
-				reg = <0x10000000 0xcd00>;
-				interrupts = <0 205 0x4>;
-				phys = <&hs_phy>, <&ss_phy>;
-				phy-names = "usb2-phy", "usb3-phy";
-				dr_mode = "host";
-			};
-		};
-
diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
new file mode 100644
index 0000000..0f69475
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -0,0 +1,158 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm SuperSpeed DWC3 USB SoC controller
+
+maintainers:
+  - Manu Gautam <mgautam@codeaurora.org>
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - qcom,msm8996-dwc3
+          - qcom,msm8998-dwc3
+          - qcom,sdm845-dwc3
+      - const: qcom,dwc3
+
+  reg:
+    description: Offset and length of register set for QSCRATCH wrapper
+    maxItems: 1
+
+  "#address-cells":
+    enum: [ 1, 2 ]
+
+  "#size-cells":
+    enum: [ 1, 2 ]
+
+  power-domains:
+    description: specifies a phandle to PM domain provider node
+    maxItems: 1
+
+  clocks:
+    description:
+      A list of phandle and clock-specifier pairs for the clocks
+      listed in clock-names.
+    items:
+      - description: System Config NOC clock.
+      - description: Master/Core clock, has to be >= 125 MHz
+          for SS operation and >= 60MHz for HS operation.
+      - description: System bus AXI clock.
+      - description: Mock utmi clock needed for ITP/SOF generation
+          in host mode. Its frequency should be 19.2MHz.
+      - description: Sleep clock, used for wakeup when
+          USB3 core goes into low power mode (U3).
+
+  clock-names:
+    items:
+      - const: cfg_noc
+      - const: core
+      - const: iface
+      - const: mock_utmi
+      - const: sleep
+
+  assigned-clocks:
+    items:
+      - description: Phandle and clock specifier of MOCK_UTMI_CLK.
+      - description: Phandle and clock specifoer of MASTER_CLK.
+
+  assigned-clock-rates:
+    maxItems: 2
+    items:
+      - description: Must be 19.2MHz (19200000).
+      - description: Must be >= 60 MHz in HS mode, >= 125 MHz in SS mode.
+
+  resets:
+    maxItems: 1
+
+  interrupts:
+    items:
+      - description: The interrupt that is asserted
+          when a wakeup event is received on USB2 bus.
+      - description: The interrupt that is asserted
+          when a wakeup event is received on USB3 bus.
+      - description: Wakeup event on DM line.
+      - description: Wakeup event on DP line.
+
+  interrupt-names:
+    items:
+      - const: hs_phy_irq
+      - const: ss_phy_irq
+      - const: dm_hs_phy_irq
+      - const: dp_hs_phy_irq
+
+  qcom,select-utmi-as-pipe-clk:
+    description:
+      If present, disable USB3 pipe_clk requirement.
+      Used when dwc3 operates without SSPHY and only
+      HS/FS/LS modes are supported.
+    type: boolean
+
+# 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.
+
+required:
+  - compatible
+  - reg
+  - "#address-cells"
+  - "#size-cells"
+  - power-domains
+  - clocks
+  - clock-names
+
+examples:
+  - |
+    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    usb@a6f8800 {
+        compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
+        reg = <0 0x0a6f8800 0 0x400>;
+
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+                 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+                 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+                 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+                 <&gcc GCC_USB30_PRIM_SLEEP_CLK>;
+        clock-names = "cfg_noc", "core", "iface", "mock_utmi",
+                      "sleep";
+
+        assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
+        assigned-clock-rates = <19200000>, <150000000>;
+
+        interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
+        interrupt-names = "hs_phy_irq", "ss_phy_irq",
+                          "dm_hs_phy_irq", "dp_hs_phy_irq";
+
+        power-domains = <&gcc USB30_PRIM_GDSC>;
+
+        resets = <&gcc GCC_USB30_PRIM_BCR>;
+
+        dwc3@a600000 {
+            compatible = "snps,dwc3";
+            reg = <0 0x0a600000 0 0xcd00>;
+            interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+            iommus = <&apps_smmu 0x740 0>;
+            snps,dis_u2_susphy_quirk;
+            snps,dis_enblslpm_quirk;
+            phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
+            phy-names = "usb2-phy", "usb3-phy";
+        };
+    };
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH v5 2/2] dt-bindings: usb: qcom,dwc3: Add compatible for SC7180
  2020-03-26  7:06 [PATCH v5 0/2] Add USB DWC3 support for SC7180 Sandeep Maheswaram
  2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
@ 2020-03-26  7:06 ` Sandeep Maheswaram
  2020-03-29 10:27 ` [PATCH v5 0/2] Add USB DWC3 support " Felipe Balbi
  2 siblings, 0 replies; 11+ messages in thread
From: Sandeep Maheswaram @ 2020-03-26  7:06 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Rob Herring,
	Mark Rutland, Felipe Balbi, Stephen Boyd, Doug Anderson,
	Matthias Kaehlcke
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam,
	Sandeep Maheswaram

Add compatible for SC7180 in usb dwc3 bindings.

Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
---
 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index 0f69475..17e22ff 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -16,6 +16,7 @@ properties:
       - enum:
           - qcom,msm8996-dwc3
           - qcom,msm8998-dwc3
+          - qcom,sc7180-dwc3
           - qcom,sdm845-dwc3
       - const: qcom,dwc3
 
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation


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

* Re: [PATCH v5 0/2] Add USB DWC3 support for SC7180
  2020-03-26  7:06 [PATCH v5 0/2] Add USB DWC3 support for SC7180 Sandeep Maheswaram
  2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
  2020-03-26  7:06 ` [PATCH v5 2/2] dt-bindings: usb: qcom,dwc3: Add compatible for SC7180 Sandeep Maheswaram
@ 2020-03-29 10:27 ` Felipe Balbi
  2 siblings, 0 replies; 11+ messages in thread
From: Felipe Balbi @ 2020-03-29 10:27 UTC (permalink / raw)
  To: Sandeep Maheswaram, Andy Gross, Bjorn Andersson,
	Greg Kroah-Hartman, Rob Herring, Mark Rutland, Stephen Boyd,
	Doug Anderson, Matthias Kaehlcke
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam,
	Sandeep Maheswaram


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

Sandeep Maheswaram <sanm@codeaurora.org> writes:

> Converting dt binding to yaml.
> Adding compatible for SC7180 in dt bindings.
>
> Changes in v5:
> Addressed the comments from Stephen in yaml file.
>
> Changes in v4:
> Addressed the comments from Doug in yaml file.
>
> Changes in v3:
> Dropped the patch for adding the compatible in dwc3 driver from the series.
> Addressed the comments from Doug in yaml file.
>
> Changes in v2:
> Sorted the compatible in dwc3 driver.
> Converted dt binding to yaml.
> Added compatible in yaml.

now queued for v5.8

-- 
balbi

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

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
@ 2020-04-04 17:17   ` Rob Herring
  2020-04-06 16:39     ` Sandeep Maheswaram (Temp)
  2020-04-08  3:44   ` Stephen Boyd
  1 sibling, 1 reply; 11+ messages in thread
From: Rob Herring @ 2020-04-04 17:17 UTC (permalink / raw)
  To: Sandeep Maheswaram
  Cc: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Mark Rutland,
	Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke,
	linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam

On Thu, Mar 26, 2020 at 12:36:07PM +0530, Sandeep Maheswaram wrote:
> Convert USB DWC3 bindings to DT schema format using json-schema.
> 
> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> ---
>  .../devicetree/bindings/usb/qcom,dwc3.txt          | 104 --------------
>  .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158 +++++++++++++++++++++
>  2 files changed, 158 insertions(+), 104 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml


> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> new file mode 100644
> index 0000000..0f69475
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> @@ -0,0 +1,158 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm SuperSpeed DWC3 USB SoC controller
> +
> +maintainers:
> +  - Manu Gautam <mgautam@codeaurora.org>
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - qcom,msm8996-dwc3
> +          - qcom,msm8998-dwc3
> +          - qcom,sdm845-dwc3
> +      - const: qcom,dwc3
> +
> +  reg:
> +    description: Offset and length of register set for QSCRATCH wrapper
> +    maxItems: 1
> +
> +  "#address-cells":
> +    enum: [ 1, 2 ]
> +
> +  "#size-cells":
> +    enum: [ 1, 2 ]
> +
> +  power-domains:
> +    description: specifies a phandle to PM domain provider node
> +    maxItems: 1
> +
> +  clocks:
> +    description:
> +      A list of phandle and clock-specifier pairs for the clocks
> +      listed in clock-names.
> +    items:
> +      - description: System Config NOC clock.
> +      - description: Master/Core clock, has to be >= 125 MHz
> +          for SS operation and >= 60MHz for HS operation.
> +      - description: System bus AXI clock.
> +      - description: Mock utmi clock needed for ITP/SOF generation
> +          in host mode. Its frequency should be 19.2MHz.
> +      - description: Sleep clock, used for wakeup when
> +          USB3 core goes into low power mode (U3).
> +
> +  clock-names:
> +    items:
> +      - const: cfg_noc
> +      - const: core
> +      - const: iface
> +      - const: mock_utmi
> +      - const: sleep
> +
> +  assigned-clocks:
> +    items:
> +      - description: Phandle and clock specifier of MOCK_UTMI_CLK.
> +      - description: Phandle and clock specifoer of MASTER_CLK.
> +
> +  assigned-clock-rates:
> +    maxItems: 2

Need to drop this as it is redundant. Soon this will generate an error.

> +    items:
> +      - description: Must be 19.2MHz (19200000).

Sounds like a constraint:

- const: 19200000

> +      - description: Must be >= 60 MHz in HS mode, >= 125 MHz in SS mode.

- minimum: 60000000
  maximum: ?

> +
> +  resets:
> +    maxItems: 1
> +
> +  interrupts:
> +    items:
> +      - description: The interrupt that is asserted
> +          when a wakeup event is received on USB2 bus.
> +      - description: The interrupt that is asserted
> +          when a wakeup event is received on USB3 bus.
> +      - description: Wakeup event on DM line.
> +      - description: Wakeup event on DP line.
> +
> +  interrupt-names:
> +    items:
> +      - const: hs_phy_irq
> +      - const: ss_phy_irq
> +      - const: dm_hs_phy_irq
> +      - const: dp_hs_phy_irq
> +
> +  qcom,select-utmi-as-pipe-clk:
> +    description:
> +      If present, disable USB3 pipe_clk requirement.
> +      Used when dwc3 operates without SSPHY and only
> +      HS/FS/LS modes are supported.
> +    type: boolean
> +
> +# 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.
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#address-cells"
> +  - "#size-cells"
> +  - power-domains
> +  - clocks
> +  - clock-names
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    usb@a6f8800 {
> +        compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
> +        reg = <0 0x0a6f8800 0 0x400>;
> +
> +        #address-cells = <2>;
> +        #size-cells = <2>;
> +
> +        clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
> +                 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
> +                 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
> +                 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
> +                 <&gcc GCC_USB30_PRIM_SLEEP_CLK>;
> +        clock-names = "cfg_noc", "core", "iface", "mock_utmi",
> +                      "sleep";
> +
> +        assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
> +                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
> +        assigned-clock-rates = <19200000>, <150000000>;
> +
> +        interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
> +                     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
> +                     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
> +                     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
> +        interrupt-names = "hs_phy_irq", "ss_phy_irq",
> +                          "dm_hs_phy_irq", "dp_hs_phy_irq";
> +
> +        power-domains = <&gcc USB30_PRIM_GDSC>;
> +
> +        resets = <&gcc GCC_USB30_PRIM_BCR>;
> +
> +        dwc3@a600000 {
> +            compatible = "snps,dwc3";
> +            reg = <0 0x0a600000 0 0xcd00>;

You need 'ranges' in the parent for this address to be translatable.

> +            interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
> +            iommus = <&apps_smmu 0x740 0>;
> +            snps,dis_u2_susphy_quirk;
> +            snps,dis_enblslpm_quirk;
> +            phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
> +            phy-names = "usb2-phy", "usb3-phy";
> +        };
> +    };
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
> 

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-04-04 17:17   ` Rob Herring
@ 2020-04-06 16:39     ` Sandeep Maheswaram (Temp)
  2020-04-15  8:53       ` Sandeep Maheswaram (Temp)
  0 siblings, 1 reply; 11+ messages in thread
From: Sandeep Maheswaram (Temp) @ 2020-04-06 16:39 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Mark Rutland,
	Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke,
	linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam

Hi Rob,

On 4/4/2020 10:47 PM, Rob Herring wrote:
> On Thu, Mar 26, 2020 at 12:36:07PM +0530, Sandeep Maheswaram wrote:
>> Convert USB DWC3 bindings to DT schema format using json-schema.
>>
>> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
>> ---
>>   .../devicetree/bindings/usb/qcom,dwc3.txt          | 104 --------------
>>   .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158 +++++++++++++++++++++
>>   2 files changed, 158 insertions(+), 104 deletions(-)
>>   delete mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>>   create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>
>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> new file mode 100644
>> index 0000000..0f69475
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> @@ -0,0 +1,158 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm SuperSpeed DWC3 USB SoC controller
>> +
>> +maintainers:
>> +  - Manu Gautam <mgautam@codeaurora.org>
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - qcom,msm8996-dwc3
>> +          - qcom,msm8998-dwc3
>> +          - qcom,sdm845-dwc3
>> +      - const: qcom,dwc3
>> +
>> +  reg:
>> +    description: Offset and length of register set for QSCRATCH wrapper
>> +    maxItems: 1
>> +
>> +  "#address-cells":
>> +    enum: [ 1, 2 ]
>> +
>> +  "#size-cells":
>> +    enum: [ 1, 2 ]
>> +
>> +  power-domains:
>> +    description: specifies a phandle to PM domain provider node
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    description:
>> +      A list of phandle and clock-specifier pairs for the clocks
>> +      listed in clock-names.
>> +    items:
>> +      - description: System Config NOC clock.
>> +      - description: Master/Core clock, has to be >= 125 MHz
>> +          for SS operation and >= 60MHz for HS operation.
>> +      - description: System bus AXI clock.
>> +      - description: Mock utmi clock needed for ITP/SOF generation
>> +          in host mode. Its frequency should be 19.2MHz.
>> +      - description: Sleep clock, used for wakeup when
>> +          USB3 core goes into low power mode (U3).
>> +
>> +  clock-names:
>> +    items:
>> +      - const: cfg_noc
>> +      - const: core
>> +      - const: iface
>> +      - const: mock_utmi
>> +      - const: sleep
>> +
>> +  assigned-clocks:
>> +    items:
>> +      - description: Phandle and clock specifier of MOCK_UTMI_CLK.
>> +      - description: Phandle and clock specifoer of MASTER_CLK.
>> +
>> +  assigned-clock-rates:
>> +    maxItems: 2
> Need to drop this as it is redundant. Soon this will generate an error.
Will do in next version.
>> +    items:
>> +      - description: Must be 19.2MHz (19200000).
> Sounds like a constraint:
>
> - const: 19200000
>
>> +      - description: Must be >= 60 MHz in HS mode, >= 125 MHz in SS mode.
> - minimum: 60000000
>    maximum: ?

Tried  as below but facing errors

assigned-clock-rates:
     items:
       - const: 19200000
       - minimum: 60000000
         maximum: 150000000

Errors

linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
usb@a6f8800: assigned-clock-rates: Additional items are not allowed 
([150000000] was unexpected)
linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
usb@a6f8800: assigned-clock-rates:0: [19200000] is too short
linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
usb@a6f8800: assigned-clock-rates: [[19200000], [150000000]] is too long

>> +
>> +  resets:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    items:
>> +      - description: The interrupt that is asserted
>> +          when a wakeup event is received on USB2 bus.
>> +      - description: The interrupt that is asserted
>> +          when a wakeup event is received on USB3 bus.
>> +      - description: Wakeup event on DM line.
>> +      - description: Wakeup event on DP line.
>> +
>> +  interrupt-names:
>> +    items:
>> +      - const: hs_phy_irq
>> +      - const: ss_phy_irq
>> +      - const: dm_hs_phy_irq
>> +      - const: dp_hs_phy_irq
>> +
>> +  qcom,select-utmi-as-pipe-clk:
>> +    description:
>> +      If present, disable USB3 pipe_clk requirement.
>> +      Used when dwc3 operates without SSPHY and only
>> +      HS/FS/LS modes are supported.
>> +    type: boolean
>> +
>> +# 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.
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - "#address-cells"
>> +  - "#size-cells"
>> +  - power-domains
>> +  - clocks
>> +  - clock-names
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +    #include <dt-bindings/interrupt-controller/irq.h>
>> +    usb@a6f8800 {
>> +        compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
>> +        reg = <0 0x0a6f8800 0 0x400>;
>> +
>> +        #address-cells = <2>;
>> +        #size-cells = <2>;
>> +
>> +        clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
>> +                 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
>> +                 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
>> +                 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> +                 <&gcc GCC_USB30_PRIM_SLEEP_CLK>;
>> +        clock-names = "cfg_noc", "core", "iface", "mock_utmi",
>> +                      "sleep";
>> +
>> +        assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> +                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
>> +        assigned-clock-rates = <19200000>, <150000000>;
>> +
>> +        interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
>> +                     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
>> +                     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
>> +                     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
>> +        interrupt-names = "hs_phy_irq", "ss_phy_irq",
>> +                          "dm_hs_phy_irq", "dp_hs_phy_irq";
>> +
>> +        power-domains = <&gcc USB30_PRIM_GDSC>;
>> +
>> +        resets = <&gcc GCC_USB30_PRIM_BCR>;
>> +
>> +        dwc3@a600000 {
>> +            compatible = "snps,dwc3";
>> +            reg = <0 0x0a600000 0 0xcd00>;
> You need 'ranges' in the parent for this address to be translatable.
Will add in next version.
>
>> +            interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
>> +            iommus = <&apps_smmu 0x740 0>;
>> +            snps,dis_u2_susphy_quirk;
>> +            snps,dis_enblslpm_quirk;
>> +            phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
>> +            phy-names = "usb2-phy", "usb3-phy";
>> +        };
>> +    };
>> -- 
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
>> of Code Aurora Forum, hosted by The Linux Foundation
>>
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
  2020-04-04 17:17   ` Rob Herring
@ 2020-04-08  3:44   ` Stephen Boyd
  2020-04-08  4:42     ` Sandeep Maheswaram (Temp)
  1 sibling, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2020-04-08  3:44 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Doug Anderson, Felipe Balbi,
	Greg Kroah-Hartman, Mark Rutland, Matthias Kaehlcke, Rob Herring,
	Sandeep Maheswaram
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam,
	Sandeep Maheswaram

Quoting Sandeep Maheswaram (2020-03-26 00:06:07)
> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> new file mode 100644
> index 0000000..0f69475
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> @@ -0,0 +1,158 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +
[...]
> +    maxItems: 1
> +
> +  interrupts:
> +    items:
> +      - description: The interrupt that is asserted
> +          when a wakeup event is received on USB2 bus.
> +      - description: The interrupt that is asserted
> +          when a wakeup event is received on USB3 bus.
> +      - description: Wakeup event on DM line.
> +      - description: Wakeup event on DP line.

I can see that it was optional before but that still doesn't make sense
to me. The glue hardware from qcom always has interrupts so I'd expect
it to be required in the binding.

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-04-08  3:44   ` Stephen Boyd
@ 2020-04-08  4:42     ` Sandeep Maheswaram (Temp)
  0 siblings, 0 replies; 11+ messages in thread
From: Sandeep Maheswaram (Temp) @ 2020-04-08  4:42 UTC (permalink / raw)
  To: Stephen Boyd, Andy Gross, Bjorn Andersson, Doug Anderson,
	Felipe Balbi, Greg Kroah-Hartman, Mark Rutland,
	Matthias Kaehlcke, Rob Herring
  Cc: linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam


On 4/8/2020 9:14 AM, Stephen Boyd wrote:
> Quoting Sandeep Maheswaram (2020-03-26 00:06:07)
>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> new file mode 100644
>> index 0000000..0f69475
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>> @@ -0,0 +1,158 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +
> [...]
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    items:
>> +      - description: The interrupt that is asserted
>> +          when a wakeup event is received on USB2 bus.
>> +      - description: The interrupt that is asserted
>> +          when a wakeup event is received on USB3 bus.
>> +      - description: Wakeup event on DM line.
>> +      - description: Wakeup event on DP line.
> I can see that it was optional before but that still doesn't make sense
> to me. The glue hardware from qcom always has interrupts so I'd expect
> it to be required in the binding.
Will add in next version.

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-04-06 16:39     ` Sandeep Maheswaram (Temp)
@ 2020-04-15  8:53       ` Sandeep Maheswaram (Temp)
  2020-04-23 19:39         ` Matthias Kaehlcke
  0 siblings, 1 reply; 11+ messages in thread
From: Sandeep Maheswaram (Temp) @ 2020-04-15  8:53 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Greg Kroah-Hartman, Mark Rutland,
	Felipe Balbi, Stephen Boyd, Doug Anderson, Matthias Kaehlcke,
	linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam

Hi Rob,

Any suggestions to solve this error in assigned-clock-rates


Regards

Sandeep

On 4/6/2020 10:09 PM, Sandeep Maheswaram (Temp) wrote:
> Hi Rob,
>
> On 4/4/2020 10:47 PM, Rob Herring wrote:
>> On Thu, Mar 26, 2020 at 12:36:07PM +0530, Sandeep Maheswaram wrote:
>>> Convert USB DWC3 bindings to DT schema format using json-schema.
>>>
>>> Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
>>> ---
>>>   .../devicetree/bindings/usb/qcom,dwc3.txt          | 104 
>>> --------------
>>>   .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158 
>>> +++++++++++++++++++++
>>>   2 files changed, 158 insertions(+), 104 deletions(-)
>>>   delete mode 100644 
>>> Documentation/devicetree/bindings/usb/qcom,dwc3.txt
>>>   create mode 100644 
>>> Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>
>>> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml 
>>> b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>> new file mode 100644
>>> index 0000000..0f69475
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
>>> @@ -0,0 +1,158 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm SuperSpeed DWC3 USB SoC controller
>>> +
>>> +maintainers:
>>> +  - Manu Gautam <mgautam@codeaurora.org>
>>> +
>>> +properties:
>>> +  compatible:
>>> +    items:
>>> +      - enum:
>>> +          - qcom,msm8996-dwc3
>>> +          - qcom,msm8998-dwc3
>>> +          - qcom,sdm845-dwc3
>>> +      - const: qcom,dwc3
>>> +
>>> +  reg:
>>> +    description: Offset and length of register set for QSCRATCH 
>>> wrapper
>>> +    maxItems: 1
>>> +
>>> +  "#address-cells":
>>> +    enum: [ 1, 2 ]
>>> +
>>> +  "#size-cells":
>>> +    enum: [ 1, 2 ]
>>> +
>>> +  power-domains:
>>> +    description: specifies a phandle to PM domain provider node
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    description:
>>> +      A list of phandle and clock-specifier pairs for the clocks
>>> +      listed in clock-names.
>>> +    items:
>>> +      - description: System Config NOC clock.
>>> +      - description: Master/Core clock, has to be >= 125 MHz
>>> +          for SS operation and >= 60MHz for HS operation.
>>> +      - description: System bus AXI clock.
>>> +      - description: Mock utmi clock needed for ITP/SOF generation
>>> +          in host mode. Its frequency should be 19.2MHz.
>>> +      - description: Sleep clock, used for wakeup when
>>> +          USB3 core goes into low power mode (U3).
>>> +
>>> +  clock-names:
>>> +    items:
>>> +      - const: cfg_noc
>>> +      - const: core
>>> +      - const: iface
>>> +      - const: mock_utmi
>>> +      - const: sleep
>>> +
>>> +  assigned-clocks:
>>> +    items:
>>> +      - description: Phandle and clock specifier of MOCK_UTMI_CLK.
>>> +      - description: Phandle and clock specifoer of MASTER_CLK.
>>> +
>>> +  assigned-clock-rates:
>>> +    maxItems: 2
>> Need to drop this as it is redundant. Soon this will generate an error.
> Will do in next version.
>>> +    items:
>>> +      - description: Must be 19.2MHz (19200000).
>> Sounds like a constraint:
>>
>> - const: 19200000
>>
>>> +      - description: Must be >= 60 MHz in HS mode, >= 125 MHz in SS 
>>> mode.
>> - minimum: 60000000
>>    maximum: ?
>
> Tried  as below but facing errors
>
> assigned-clock-rates:
>     items:
>       - const: 19200000
>       - minimum: 60000000
>         maximum: 150000000
>
> Errors
>
> linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
> usb@a6f8800: assigned-clock-rates: Additional items are not allowed 
> ([150000000] was unexpected)
> linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
> usb@a6f8800: assigned-clock-rates:0: [19200000] is too short
> linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml: 
> usb@a6f8800: assigned-clock-rates: [[19200000], [150000000]] is too long
>
>>> +
>>> +  resets:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    items:
>>> +      - description: The interrupt that is asserted
>>> +          when a wakeup event is received on USB2 bus.
>>> +      - description: The interrupt that is asserted
>>> +          when a wakeup event is received on USB3 bus.
>>> +      - description: Wakeup event on DM line.
>>> +      - description: Wakeup event on DP line.
>>> +
>>> +  interrupt-names:
>>> +    items:
>>> +      - const: hs_phy_irq
>>> +      - const: ss_phy_irq
>>> +      - const: dm_hs_phy_irq
>>> +      - const: dp_hs_phy_irq
>>> +
>>> +  qcom,select-utmi-as-pipe-clk:
>>> +    description:
>>> +      If present, disable USB3 pipe_clk requirement.
>>> +      Used when dwc3 operates without SSPHY and only
>>> +      HS/FS/LS modes are supported.
>>> +    type: boolean
>>> +
>>> +# 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.
>>> +
>>> +required:
>>> +  - compatible
>>> +  - reg
>>> +  - "#address-cells"
>>> +  - "#size-cells"
>>> +  - power-domains
>>> +  - clocks
>>> +  - clock-names
>>> +
>>> +examples:
>>> +  - |
>>> +    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
>>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +    #include <dt-bindings/interrupt-controller/irq.h>
>>> +    usb@a6f8800 {
>>> +        compatible = "qcom,sdm845-dwc3", "qcom,dwc3";
>>> +        reg = <0 0x0a6f8800 0 0x400>;
>>> +
>>> +        #address-cells = <2>;
>>> +        #size-cells = <2>;
>>> +
>>> +        clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
>>> +                 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
>>> +                 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
>>> +                 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>>> +                 <&gcc GCC_USB30_PRIM_SLEEP_CLK>;
>>> +        clock-names = "cfg_noc", "core", "iface", "mock_utmi",
>>> +                      "sleep";
>>> +
>>> +        assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>>> +                          <&gcc GCC_USB30_PRIM_MASTER_CLK>;
>>> +        assigned-clock-rates = <19200000>, <150000000>;
>>> +
>>> +        interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
>>> +                     <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
>>> +                     <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>,
>>> +                     <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>;
>>> +        interrupt-names = "hs_phy_irq", "ss_phy_irq",
>>> +                          "dm_hs_phy_irq", "dp_hs_phy_irq";
>>> +
>>> +        power-domains = <&gcc USB30_PRIM_GDSC>;
>>> +
>>> +        resets = <&gcc GCC_USB30_PRIM_BCR>;
>>> +
>>> +        dwc3@a600000 {
>>> +            compatible = "snps,dwc3";
>>> +            reg = <0 0x0a600000 0 0xcd00>;
>> You need 'ranges' in the parent for this address to be translatable.
> Will add in next version.
>>
>>> +            interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
>>> +            iommus = <&apps_smmu 0x740 0>;
>>> +            snps,dis_u2_susphy_quirk;
>>> +            snps,dis_enblslpm_quirk;
>>> +            phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
>>> +            phy-names = "usb2-phy", "usb3-phy";
>>> +        };
>>> +    };
>>> -- 
>>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>>> member
>>> of Code Aurora Forum, hosted by The Linux Foundation
>>>
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
  2020-04-15  8:53       ` Sandeep Maheswaram (Temp)
@ 2020-04-23 19:39         ` Matthias Kaehlcke
       [not found]           ` <64ce118c-2a8d-e16c-eed1-49350c8b07bc@codeaurora.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Matthias Kaehlcke @ 2020-04-23 19:39 UTC (permalink / raw)
  To: Sandeep Maheswaram (Temp)
  Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
	Mark Rutland, Felipe Balbi, Stephen Boyd, Doug Anderson,
	linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam

On Wed, Apr 15, 2020 at 02:23:29PM +0530, Sandeep Maheswaram (Temp) wrote:
> Hi Rob,
> 
> Any suggestions to solve this error in assigned-clock-rates

> On 4/6/2020 10:09 PM, Sandeep Maheswaram (Temp) wrote:
> > Hi Rob,
> > 
> > On 4/4/2020 10:47 PM, Rob Herring wrote:
> > > On Thu, Mar 26, 2020 at 12:36:07PM +0530, Sandeep Maheswaram wrote:
> > > > Convert USB DWC3 bindings to DT schema format using json-schema.
> > > > 
> > > > Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> > > > ---
> > > >   .../devicetree/bindings/usb/qcom,dwc3.txt          | 104
> > > > --------------
> > > >   .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158
> > > > +++++++++++++++++++++
> > > >   2 files changed, 158 insertions(+), 104 deletions(-)
> > > >   delete mode 100644
> > > > Documentation/devicetree/bindings/usb/qcom,dwc3.txt
> > > >   create mode 100644
> > > > Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > 
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > > b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > > new file mode 100644
> > > > index 0000000..0f69475
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml

...

> > > > +    items:
> > > > +      - description: Must be 19.2MHz (19200000).
> > > Sounds like a constraint:
> > > 
> > > - const: 19200000
> > > 
> > > > +      - description: Must be >= 60 MHz in HS mode, >= 125 MHz
> > > > in SS mode.
> > > - minimum: 60000000
> > >    maximum: ?
> > 
> > Tried  as below but facing errors
> > 
> > assigned-clock-rates:
> >     items:
> >       - const: 19200000
> >       - minimum: 60000000
> >         maximum: 150000000
> > 
> > Errors
> > 
> > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > usb@a6f8800: assigned-clock-rates: Additional items are not allowed
> > ([150000000] was unexpected)
> > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > usb@a6f8800: assigned-clock-rates:0: [19200000] is too short
> > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > usb@a6f8800: assigned-clock-rates: [[19200000], [150000000]] is too long

judging from the error messages my uneducated guess is that the above rules for
assigned-clock-rates expect a single tuple of two elements, not two tuples with
a single element, i.e.

assigned-clock-rates = <19200000, 150000000>;

  instead of

assigned-clock-rates = <19200000>, <150000000>;

I experimented a bit but couldn't find the magic incantation to appease the
schema deities.

Rob, could you please help to distentangle this?

Thanks

Matthias

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

* Re: [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings
       [not found]           ` <64ce118c-2a8d-e16c-eed1-49350c8b07bc@codeaurora.org>
@ 2020-05-13 16:04             ` Matthias Kaehlcke
  0 siblings, 0 replies; 11+ messages in thread
From: Matthias Kaehlcke @ 2020-05-13 16:04 UTC (permalink / raw)
  To: Sandeep Maheswaram (Temp)
  Cc: Rob Herring, Andy Gross, Bjorn Andersson, Greg Kroah-Hartman,
	Mark Rutland, Felipe Balbi, Stephen Boyd, Doug Anderson,
	linux-arm-msm, linux-usb, devicetree, linux-kernel, Manu Gautam

Hi Sandeep,

I would suggest to send v6 with the changes Rob and Stephen requested,
except for the 'assigned-clock-rate' constraints. A description instead
of the constraints is not ideal, but the constraints could be also be
added at a later time. Hopefully Rob can either ack with the description
or help to resolve the constraints issue.

Regards

Matthias

On Fri, May 08, 2020 at 11:52:52AM +0530, Sandeep Maheswaram (Temp) wrote:
> Hi Rob,
> 
> Any suggestions to solve this error in assigned-clock-rates
> 
> 
> Regards
> Sandeep
> 
> On 4/24/2020 1:09 AM, Matthias Kaehlcke wrote:
> > On Wed, Apr 15, 2020 at 02:23:29PM +0530, Sandeep Maheswaram (Temp) wrote:
> > > Hi Rob,
> > > 
> > > Any suggestions to solve this error in assigned-clock-rates
> > > On 4/6/2020 10:09 PM, Sandeep Maheswaram (Temp) wrote:
> > > > Hi Rob,
> > > > 
> > > > On 4/4/2020 10:47 PM, Rob Herring wrote:
> > > > > On Thu, Mar 26, 2020 at 12:36:07PM +0530, Sandeep Maheswaram wrote:
> > > > > > Convert USB DWC3 bindings to DT schema format using json-schema.
> > > > > > 
> > > > > > Signed-off-by: Sandeep Maheswaram <sanm@codeaurora.org>
> > > > > > ---
> > > > > >    .../devicetree/bindings/usb/qcom,dwc3.txt          | 104
> > > > > > --------------
> > > > > >    .../devicetree/bindings/usb/qcom,dwc3.yaml         | 158
> > > > > > +++++++++++++++++++++
> > > > > >    2 files changed, 158 insertions(+), 104 deletions(-)
> > > > > >    delete mode 100644
> > > > > > Documentation/devicetree/bindings/usb/qcom,dwc3.txt
> > > > > >    create mode 100644
> > > > > > Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > > > > diff --git
> > > > > > a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > > > > b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > > > > > new file mode 100644
> > > > > > index 0000000..0f69475
> > > > > > --- /dev/null
> > > > > > +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> > ...
> > 
> > > > > > +    items:
> > > > > > +      - description: Must be 19.2MHz (19200000).
> > > > > Sounds like a constraint:
> > > > > 
> > > > > - const: 19200000
> > > > > 
> > > > > > +      - description: Must be >= 60 MHz in HS mode, >= 125 MHz
> > > > > > in SS mode.
> > > > > - minimum: 60000000
> > > > >     maximum: ?
> > > > Tried  as below but facing errors
> > > > 
> > > > assigned-clock-rates:
> > > >      items:
> > > >        - const: 19200000
> > > >        - minimum: 60000000
> > > >          maximum: 150000000
> > > > 
> > > > Errors
> > > > 
> > > > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > > > usb@a6f8800: assigned-clock-rates: Additional items are not allowed
> > > > ([150000000] was unexpected)
> > > > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > > > usb@a6f8800: assigned-clock-rates:0: [19200000] is too short
> > > > linux-next/Documentation/devicetree/bindings/usb/qcom,dwc3.example.dt.yaml:
> > > > usb@a6f8800: assigned-clock-rates: [[19200000], [150000000]] is too long
> > judging from the error messages my uneducated guess is that the above rules for
> > assigned-clock-rates expect a single tuple of two elements, not two tuples with
> > a single element, i.e.
> > 
> > assigned-clock-rates = <19200000, 150000000>;
> > 
> >    instead of
> > 
> > assigned-clock-rates = <19200000>, <150000000>;
> > 
> > I experimented a bit but couldn't find the magic incantation to appease the
> > schema deities.
> > 
> > Rob, could you please help to distentangle this?
> > 
> > Thanks
> > 
> > Matthias
> 
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
> 

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

end of thread, back to index

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26  7:06 [PATCH v5 0/2] Add USB DWC3 support for SC7180 Sandeep Maheswaram
2020-03-26  7:06 ` [PATCH v5 1/2] dt-bindings: usb: qcom,dwc3: Convert USB DWC3 bindings Sandeep Maheswaram
2020-04-04 17:17   ` Rob Herring
2020-04-06 16:39     ` Sandeep Maheswaram (Temp)
2020-04-15  8:53       ` Sandeep Maheswaram (Temp)
2020-04-23 19:39         ` Matthias Kaehlcke
     [not found]           ` <64ce118c-2a8d-e16c-eed1-49350c8b07bc@codeaurora.org>
2020-05-13 16:04             ` Matthias Kaehlcke
2020-04-08  3:44   ` Stephen Boyd
2020-04-08  4:42     ` Sandeep Maheswaram (Temp)
2020-03-26  7:06 ` [PATCH v5 2/2] dt-bindings: usb: qcom,dwc3: Add compatible for SC7180 Sandeep Maheswaram
2020-03-29 10:27 ` [PATCH v5 0/2] Add USB DWC3 support " Felipe Balbi

Linux-USB Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/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 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \
		linux-usb@vger.kernel.org
	public-inbox-index linux-usb

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb


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