Re: [PATCH] dt-bindings: usb: xlnx,usb2: Make clocks required
From: Pandey, Radhey Shyam
Date: Sat Aug 15 2026 - 08:22:00 EST
On 8/14/2026 4:02 PM, Krzysztof Kozlowski wrote:
On Mon, Aug 10, 2026 at 09:15:48PM +0530, Radhey Shyam Pandey wrote:
Add s_axi_aclk AXI4 clock support as a required property. Traditionally
this IP was used on MicroBlaze platforms which had fixed clocks enabled
all the time. But since it is a PL IP, it can also be used on SoC
platforms like Zynq UltraScale+ MPSoC which combines processing system
(PS) and user programmable logic (PL) into the same device. On these
platforms instead of fixed enabled clocks it is mandatory to explicitly
enable IP clocks for proper functionality.
I do not see the clocks being added. You made them only required, but
first sentence suggests you add them.
Thanks for the review. I agree , will rephrase it to make it clear.>
I still do not get why the traditional "MicroBlaze platforms which hadThe IP has always required s_axi_aclk for AXI4 register access. On
fixed clocks enabled all the time" are now broken and require the clocks.
IOW, what changed for devices which you claim do not need the clocks,
that they now need the clocks?
Maybe this should be required only on platforms which actually need it?
traditional MicroBlaze platforms, this clock was fixed and enabled
independently of Linux, so it did not need to be represented in DT.
The clock is a requirement of the IP, while the difference between
platforms is how the clock is provided and managed.
On PS/PL platforms such as ZynqMP, the clock is managed by the clock
framework and can be gated. The clock therefore needs to be described
as an IP clock consumer so that its dependency is correctly modelled
and the clock remains enabled while the IP is used.
This is the same rationale as the emaclite clock support discussion[1]
where the fact that the clock was fixed and always enabled on older
platforms was not considered a reason to make the clock optional in
the binding.
The driver already handles a missing s_axi_aclk for backward
compatibility with existing DTBs, while the binding can still describe
the clock as required for new DTs.
[1]: https://lore.kernel.org/all/20241002-revivable-crummy-f780adec538c@spud
Thanks,
Radhey