Re: [PATCH] dt-bindings: usb: xlnx,usb2: Make clocks required

"Pandey, Radhey Shyam" <[email protected]>
Newsgroups org.kernel.vger.linux-usb,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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 had
> 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?
The IP has always required s_axi_aclk for AXI4 register access. On
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.