Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: clk-axiclkgen: add ZynqMP PFD and VCO limits

For ZynqMP (Ultrascale) the PFD and VCO limits are different. In order to
support these, this change adds a compatible string (i.e.
'adi,zynqmp-axi-clkgen-2.00.a') which will take into account for these
limits and apply them.

Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Mathias Tausen <mta@gomspace.com>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20210201151245.21845-3-alexandru.ardelean@analog.com
Acked-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Alexandru Ardelean and committed by
Stephen Boyd
da68c309 324a8105

+11
+11
drivers/clk/clk-axi-clkgen.c
··· 108 108 return 0x1f1f00fa; 109 109 } 110 110 111 + static const struct axi_clkgen_limits axi_clkgen_zynqmp_default_limits = { 112 + .fpfd_min = 10000, 113 + .fpfd_max = 450000, 114 + .fvco_min = 800000, 115 + .fvco_max = 1600000, 116 + }; 117 + 111 118 static const struct axi_clkgen_limits axi_clkgen_zynq_default_limits = { 112 119 .fpfd_min = 10000, 113 120 .fpfd_max = 300000, ··· 567 560 } 568 561 569 562 static const struct of_device_id axi_clkgen_ids[] = { 563 + { 564 + .compatible = "adi,zynqmp-axi-clkgen-2.00.a", 565 + .data = &axi_clkgen_zynqmp_default_limits, 566 + }, 570 567 { 571 568 .compatible = "adi,axi-clkgen-2.00.a", 572 569 .data = &axi_clkgen_zynq_default_limits,