* [PATCH v3 1/7] dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns
2022-01-27 20:06 [PATCH v3 0/7] usb: dwc3: Calculate REFCLKPER et. al. from reference clock Sean Anderson
@ 2022-01-27 20:06 ` Sean Anderson
2022-02-07 21:27 ` Rob Herring
2022-01-27 20:06 ` [PATCH v3 6/7] arm64: dts: zynqmp: Move USB clocks to dwc3 node Sean Anderson
2022-01-27 20:06 ` [PATCH v3 7/7] arm64: dts: ipq6018: Use reference clock to set dwc3 period Sean Anderson
2 siblings, 1 reply; 5+ messages in thread
From: Sean Anderson @ 2022-01-27 20:06 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-usb
Cc: Robert Hancock, Baruch Siach, Felipe Balbi, Thinh Nguyen,
linux-kernel, Balaji Prakash J, Sean Anderson, Rob Herring,
devicetree
This property is redundant because we can determine the correct value for
REFCLKPER based on the "ref" clock. Deprecate it, and encourage users to
provide a clock instead. This also restricts the minimum and maximum to the
values documented in the register reference [1].
[1] https://www.xilinx.com/html_docs/registers/ug1087/usb3_xhci___guctl.html
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
---
(no changes since v1)
Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index d29ffcd27472..4f2b0913ad9f 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -263,8 +263,11 @@ properties:
Value for REFCLKPER field of GUCTL register for reference clock period in
nanoseconds, when the hardware set default does not match the actual
clock.
- minimum: 1
- maximum: 0x3ff
+
+ This binding is deprecated. Instead, provide an appropriate reference clock.
+ minimum: 8
+ maximum: 62
+ deprecated: true
snps,rx-thr-num-pkt-prd:
description:
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v3 1/7] dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns
2022-01-27 20:06 ` [PATCH v3 1/7] dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns Sean Anderson
@ 2022-02-07 21:27 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2022-02-07 21:27 UTC (permalink / raw)
To: Sean Anderson
Cc: linux-usb, Balaji Prakash J, Rob Herring, Felipe Balbi,
Robert Hancock, Greg Kroah-Hartman, devicetree, Baruch Siach,
linux-kernel, Thinh Nguyen
On Thu, 27 Jan 2022 15:06:30 -0500, Sean Anderson wrote:
> This property is redundant because we can determine the correct value for
> REFCLKPER based on the "ref" clock. Deprecate it, and encourage users to
> provide a clock instead. This also restricts the minimum and maximum to the
> values documented in the register reference [1].
>
> [1] https://www.xilinx.com/html_docs/registers/ug1087/usb3_xhci___guctl.html
>
> Signed-off-by: Sean Anderson <sean.anderson@seco.com>
> ---
>
> (no changes since v1)
>
> Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 6/7] arm64: dts: zynqmp: Move USB clocks to dwc3 node
2022-01-27 20:06 [PATCH v3 0/7] usb: dwc3: Calculate REFCLKPER et. al. from reference clock Sean Anderson
2022-01-27 20:06 ` [PATCH v3 1/7] dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns Sean Anderson
@ 2022-01-27 20:06 ` Sean Anderson
2022-01-27 20:06 ` [PATCH v3 7/7] arm64: dts: ipq6018: Use reference clock to set dwc3 period Sean Anderson
2 siblings, 0 replies; 5+ messages in thread
From: Sean Anderson @ 2022-01-27 20:06 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-usb
Cc: Robert Hancock, Baruch Siach, Felipe Balbi, Thinh Nguyen,
linux-kernel, Balaji Prakash J, Sean Anderson, Michal Simek,
Rob Herring, devicetree, linux-arm-kernel
These clocks are not used by the dwc3-xilinx driver except to
enable/disable them. Move them to the dwc3 node so its driver can use
them to configure the reference clock period.
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Robert Hancock <robert.hancock@calian.com>
Tested-by: Robert Hancock <robert.hancock@calian.com>
---
(no changes since v1)
arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 4 ++--
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi
index 1e0b1bca7c94..8493dd7d5f1f 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi
@@ -223,11 +223,11 @@ &uart1 {
clocks = <&zynqmp_clk UART1_REF>, <&zynqmp_clk LPD_LSBUS>;
};
-&usb0 {
+&dwc3_0 {
clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
};
-&usb1 {
+&dwc3_1 {
clocks = <&zynqmp_clk USB1_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>;
};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
index 74e66443e4ce..ba68fb8529ee 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
+++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
@@ -811,7 +811,6 @@ usb0: usb@ff9d0000 {
status = "disabled";
compatible = "xlnx,zynqmp-dwc3";
reg = <0x0 0xff9d0000 0x0 0x100>;
- clock-names = "bus_clk", "ref_clk";
power-domains = <&zynqmp_firmware PD_USB_0>;
resets = <&zynqmp_reset ZYNQMP_RESET_USB0_CORERESET>,
<&zynqmp_reset ZYNQMP_RESET_USB0_HIBERRESET>,
@@ -825,6 +824,7 @@ dwc3_0: usb@fe200000 {
interrupt-parent = <&gic>;
interrupt-names = "dwc_usb3", "otg";
interrupts = <0 65 4>, <0 69 4>;
+ clock-names = "bus_early", "ref";
#stream-id-cells = <1>;
iommus = <&smmu 0x860>;
snps,quirk-frame-length-adjustment = <0x20>;
@@ -838,7 +838,6 @@ usb1: usb@ff9e0000 {
status = "disabled";
compatible = "xlnx,zynqmp-dwc3";
reg = <0x0 0xff9e0000 0x0 0x100>;
- clock-names = "bus_clk", "ref_clk";
power-domains = <&zynqmp_firmware PD_USB_1>;
resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>,
<&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>,
@@ -852,6 +851,7 @@ dwc3_1: usb@fe300000 {
interrupt-parent = <&gic>;
interrupt-names = "dwc_usb3", "otg";
interrupts = <0 70 4>, <0 74 4>;
+ clock-names = "bus_early", "ref";
#stream-id-cells = <1>;
iommus = <&smmu 0x861>;
snps,quirk-frame-length-adjustment = <0x20>;
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 7/7] arm64: dts: ipq6018: Use reference clock to set dwc3 period
2022-01-27 20:06 [PATCH v3 0/7] usb: dwc3: Calculate REFCLKPER et. al. from reference clock Sean Anderson
2022-01-27 20:06 ` [PATCH v3 1/7] dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns Sean Anderson
2022-01-27 20:06 ` [PATCH v3 6/7] arm64: dts: zynqmp: Move USB clocks to dwc3 node Sean Anderson
@ 2022-01-27 20:06 ` Sean Anderson
2 siblings, 0 replies; 5+ messages in thread
From: Sean Anderson @ 2022-01-27 20:06 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-usb
Cc: Robert Hancock, Baruch Siach, Felipe Balbi, Thinh Nguyen,
linux-kernel, Balaji Prakash J, Sean Anderson, Andy Gross,
Bjorn Andersson, Rob Herring, devicetree, linux-arm-msm
Instead of manually setting snps,ref-clock-period-ns, we can let the
driver calculate it automatically from the "ref" clock. I haven't
reviewed this board's schematics, so please let me know if this is the
wrong 24MHz clock to use.
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
---
(no changes since v1)
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index 66ec5615651d..a614b9f73e2c 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -743,12 +743,13 @@ dwc_0: usb@8A00000 {
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
phys = <&qusb_phy_0>, <&usb0_ssphy>;
phy-names = "usb2-phy", "usb3-phy";
+ clocks = <&xo>;
+ clock-names = "ref";
tx-fifo-resize;
snps,is-utmi-l1-suspend;
snps,hird-threshold = /bits/ 8 <0x0>;
snps,dis_u2_susphy_quirk;
snps,dis_u3_susphy_quirk;
- snps,ref-clock-period-ns = <0x32>;
dr_mode = "host";
};
};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread