i.MX95 PLL VCO supports rates that exceeds UINT32_MAX, and the i.MX95 System Controller Management Firmware(SCMI) server exports PLL VCO for SCMI Agents to configure. So introduce assigned-clock-rates-u64 to support rates that exceeds UINT32_MAX. And introduce of_property_for_each_u64 to iterate each u64 rate. The PR to add assigned-clock-rates-u64 to dt-schema has been merged: https://github.com/devicetree-org/dt-schema/pull/140 Signed-off-by: Peng Fan <peng.fan@xxxxxxx> --- Changes in v4: - Follow Stephen's suggestion to simplify code for patch 2. Thanks for sharing the detailed code - Note again, patch 1 and patch 2 is not relevant as of now. Just for simple for reviewing and know the history, still put them in same patchset. - Link to v3: https://lore.kernel.org/r/20240730-clk-u64-v3-0-4d2b19edaa6e@xxxxxxx Changes in v3: - Add R-b for patch 1 - Rewrite patch 2 to avoid duplicated code. Patch 2 not use code from patch 1 now, but since patch 1 is a helper, so keep it. - Link to v2: https://lore.kernel.org/r/20240729-clk-u64-v2-0-ffa62ee437e6@xxxxxxx Changes in v2: - Follow what Luca did to of_property_for_each_u32 to write of_property_for_each_u64 - Link to v1: https://lore.kernel.org/r/20240621-clk-u64-v1-0-d28a611b2621@xxxxxxx --- Peng Fan (2): of: property: add of_property_for_each_u64 clk: clk-conf: support assigned-clock-rates-u64 drivers/clk/clk-conf.c | 42 +++++++++++++++++++++++++++++++++++++----- drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of.h | 23 +++++++++++++++++++++++ 3 files changed, 83 insertions(+), 5 deletions(-) --- base-commit: 233a3e45c39db1e52061f3b6bbab9c630845dfad change-id: 20240621-clk-u64-70c4333f0f80 Best regards, -- Peng Fan <peng.fan@xxxxxxx>