[PATCH v3 0/5] clock: versal-clk: Fix Versal NET clock binding and switch to CCF
Michal Simek
michal.simek at amd.com
Mon Jun 29 02:59:16 PDT 2026
On 6/3/26 17:12, Michal Simek wrote:
> This series fixes the Versal NET clock controller DT binding validation
> and switches the platform to use the firmware-based CCF clock interface.
>
> Patch 1 extracts zynqmp to own DT binding file.
>
> Patch 2 restructures the if/then conditions in the versal-clk binding
> schema so that xlnx,versal-net-clk is matched first before falling back
> to xlnx,versal-clk. This fixes false "too long" validation errors caused
> by both conditions matching simultaneously when the fallback compatible
> is present. A dedicated example for the Versal NET 3-clock configuration
> is added and all examples are split into separate blocks for independent
> validation.
>
> Patch 3 switches Versal NET from static fixed-clock definitions to the
> firmware-based clock interface, enabling proper clock management
> through platform firmware. DT macro headers for clocks, power domains
> and resets are added.
>
> Thanks,
> Michal
>
> Changes in v3:
> - new patch in series
> - New patch in series
> - Cover change in zynqmp-firmware.yaml
> - Move clock-cells to be the last in the example
> - Remove comment around (Optional clock) which is obvious from schema
> itself
> - Move clock-cells to be the last property in the example
> - use 2 spaces for indentation in example to follow the same style which is
> already used
> - Add fixed tag
> - Remove interrupt from zynqmp-power - Versal NET is using event framework
> instead. No interrupt is required.
> - Remove unused GEM{0,1}_REF_{R,T}X macros
> - Update commit message
> - s/zynqmp/versal-net/ in subject
> - Update copyrights
> - Make all macro values lower case
> - Fix guarding macro names
>
> Changes in v2:
> - New patch in series
> - Split zynqmp-clk from versal-clk
> - Update logic without ZynqMP part in this file and have if/else only
> around min/maxItems
> - use clock-<HZ> node name for fixed clocks
> - Reuse existing versal-net-clk.dtsi file
>
> Michal Simek (5):
> dt-bindings: firmware: xilinx: Add missing example for ZynqMP
> dt-bindings: clock: versal-clk: Fix mio_clk index range in clock-names
> pattern
> dt-bindings: clock: Move xlnx,zynqmp-clk to its own schema
> dt-bindings: clock: versal-clk: Fix Versal NET clock validation
> arm64: versal-net: Switch Versal NET to firmware clock interface
>
> .../bindings/clock/xlnx,versal-clk.yaml | 89 +----
> .../bindings/clock/xlnx,zynqmp-clk.yaml | 68 ++++
> .../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 15 +-
> .../arm64/boot/dts/xilinx/versal-net-clk.dtsi | 345 +++++++++++++-----
> arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h | 123 +++++++
> .../boot/dts/xilinx/xlnx-versal-net-clk.h | 74 ++++
> .../boot/dts/xilinx/xlnx-versal-net-power.h | 38 ++
> .../boot/dts/xilinx/xlnx-versal-net-resets.h | 53 +++
> .../arm64/boot/dts/xilinx/xlnx-versal-power.h | 55 +++
> .../boot/dts/xilinx/xlnx-versal-resets.h | 106 ++++++
> 10 files changed, 795 insertions(+), 171 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.yaml
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-clk.h
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-clk.h
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-power.h
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-net-resets.h
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-power.h
> create mode 100644 arch/arm64/boot/dts/xilinx/xlnx-versal-resets.h
>
Applied.
M
More information about the linux-arm-kernel
mailing list