Re: [PATCH v2 0/7] usb: dwc3: Calculate REFCLKPER et. al. from reference clock

From: Baruch Siach
Date: Thu Jan 20 2022 - 05:32:56 EST


Hi Kathiravan,

On Thu, Jan 20 2022, Kathiravan T wrote:
> On 2022-01-19 23:44, Baruch Siach wrote:
>> Hi Sean,
>> On Tue, Jan 18 2022, Sean Anderson wrote:
>>> This is a rework of patches 3-5 of [1]. It attempts to correctly program
>>> REFCLKPER and REFCLK_FLADJ based on the reference clock frequency. Since
>>> we no longer need a special property duplicating this configuration,
>>> snps,ref-clock-period-ns is deprecated.
>>> Please test this! Patches 3/4 in this series have the effect of
>>> programming REFCLKPER and REFCLK_FLADJ on boards which already configure
>>> the "ref" clock. I have build tested, but not much else.
>> Tested here on IPQ6010 based system. USB still works. But the with
>> "ref"
>> clock at 24MHz, period is calculated as 0x29. Previous
>> snps,ref-clock-period-ns value used to be 0x32.
>> Is that expected?
>
> Yes, it is 0x29 for IPQ60xx based SoCs. In downstream it was wrongly mentioned
> as 0x32, which was corrected recently.

Thanks for the update. This needs fixing in upstream kernel. I'll send a
patch.

For some reason USB appears to work here with both values. Is it because
I only use USB2 signals? If this is the case them I can not actually
test this series on my system.

Thanks,
baruch

>>> [1]
>>> https://lore.kernel.org/linux-usb/20220114044230.2677283-1-robert.hancock@xxxxxxxxxx/
>>> Changes in v2:
>>> - Document clock members
>>> - Also program GFLADJ.240MHZDECR
>>> - Don't program GFLADJ if the version is < 2.50a
>>> - Add snps,ref-clock-frequency-hz property for ACPI
>>> Sean Anderson (7):
>>> dt-bindings: usb: dwc3: Deprecate snps,ref-clock-period-ns
>>> usb: dwc3: Get clocks individually
>>> usb: dwc3: Calculate REFCLKPER based on reference clock
>>> usb: dwc3: Program GFLADJ
>>> usb: dwc3: Add snps,ref-clock-frequency-hz property for ACPI
>>> arm64: dts: zynqmp: Move USB clocks to dwc3 node
>>> arm64: dts: ipq6018: Use reference clock to set dwc3 period
>>> .../devicetree/bindings/usb/snps,dwc3.yaml | 7 +-
>>> arch/arm64/boot/dts/qcom/ipq6018.dtsi | 3 +-
>>> .../arm64/boot/dts/xilinx/zynqmp-clk-ccf.dtsi | 4 +-
>>> arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 +-
>>> drivers/usb/dwc3/core.c | 112 +++++++++++++++---
>>> drivers/usb/dwc3/core.h | 17 ++-
>>> 6 files changed, 120 insertions(+), 27 deletions(-)


--
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch@xxxxxxxxxx - tel: +972.52.368.4656, http://www.tkos.co.il -