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. Binbin Zhou (8): 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 LoongArch: dts: Add clock support to Loongson-2K0500 LoongArch: dts: Add clock support to Loongson-2K2000 .../bindings/clock/loongson,ls2k-clk.yaml | 4 +- .../boot/dts/loongson-2k0500-ref.dts | 4 + arch/loongarch/boot/dts/loongson-2k0500.dtsi | 57 +- .../boot/dts/loongson-2k2000-ref.dts | 4 + arch/loongarch/boot/dts/loongson-2k2000.dtsi | 19 +- drivers/clk/clk-loongson2.c | 549 ++++++++++-------- include/dt-bindings/clock/loongson,ls2k-clk.h | 58 +- 7 files changed, 410 insertions(+), 285 deletions(-) -- 2.43.0