Hi all: As we know, the Loongson-2K family of SoCs (ls2k0500/ls2k1000/ls2k2000) have a similar clock structure, and I support them to be configured with different parameters (e.g., register offsets, etc.). To make it easier to add support for different SoCs, I refactored the original driver to make the whole driver as understandable as possible. Briefly, I have divided all clocks into three categories according to their properties and their parent clocks: Independent PLLs, clocks based on frequency scales, and clock dividers. Thanks. ---- V3: - Remove the dts-related patches and update dts at once after all relevant drivers are complete. patch(1/6): - Drop unsuitable comments. Link to V2: https://lore.kernel.org/all/cover.1711504700.git.zhoubinbin@xxxxxxxxxxx/ V2: patch(1/8): - Drop LOONGSON2_CLK_END, for it is not a binding. patch(1/8)(3/8)(5/8): - Add Acked-by tag from Conor, Thanks. Link to V1: https://lore.kernel.org/all/cover.1710926402.git.zhoubinbin@xxxxxxxxxxx/ Binbin Zhou (6): dt-bindings: clock: Add Loongson-2K expand clock index clk: clk-loongson2: Refactor driver for adding new platforms dt-bindings: clock: loongson2: Add Loongson-2K0500 compatible clk: clk-loongson2: Add Loongson-2K0500 clock support dt-bindings: clock: loongson2: Add Loongson-2K2000 compatible clk: clk-loongson2: Add Loongson-2K2000 clock support .../bindings/clock/loongson,ls2k-clk.yaml | 4 +- drivers/clk/clk-loongson2.c | 549 ++++++++++-------- include/dt-bindings/clock/loongson,ls2k-clk.h | 54 +- 3 files changed, 329 insertions(+), 278 deletions(-) -- 2.43.0