add support for Amlogic A1 clock driver, the clock includes three parts: peripheral clocks, pll clocks, CPU clocks. sys pll and CPU clocks will be sent in next patch. Changes since v1 at [2]: -add probe function for A1 -seperate the clock driver into two patch -change some clock flags and ops -add support for a1 PLL ops -add A1 clock node Changes since v1 at [1]: -place A1 config alphabetically -add actual reason for RO ops, CLK_IS_CRITICAL, CLK_IGNORE_UNUSED -separate the driver into two driver: peripheral and pll driver -delete CLK_IGNORE_UNUSED flag for pwm b/c/d/e/f clock, dsp clock -delete the change in Kconfig.platforms, address to Kevin alone -remove the useless comments -modify the meson pll driver to support A1 PLLs [1] https://lkml.kernel.org/r/1569411888-98116-1-git-send-email-jian.hu@xxxxxxxxxxx [2] https://lkml.kernel.org/r/1571382865-41978-1-git-send-email-jian.hu@xxxxxxxxxxx Jian Hu (7): dt-bindings: clock: meson: add A1 PLL clock controller bindings clk: meson: add support for A1 PLL clock ops clk: meson: eeclk: refactor eeclk common driver to support A1 clk: meson: a1: add support for Amlogic A1 PLL clock driver dt-bindings: clock: meson: add A1 peripheral clock controller bindings clk: meson: a1: add support for Amlogic A1 Peripheral clock driver arm64: dts: meson: add A1 PLL and periphs clock controller .../bindings/clock/amlogic,a1-clkc.yaml | 70 + .../bindings/clock/amlogic,a1-pll-clkc.yaml | 56 + arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 26 + drivers/clk/meson/Kconfig | 20 + drivers/clk/meson/Makefile | 2 + drivers/clk/meson/a1-pll.c | 334 +++ drivers/clk/meson/a1-pll.h | 56 + drivers/clk/meson/a1.c | 2309 +++++++++++++++++ drivers/clk/meson/a1.h | 120 + drivers/clk/meson/clk-pll.c | 21 + drivers/clk/meson/clk-pll.h | 1 + drivers/clk/meson/meson-eeclk.c | 59 +- drivers/clk/meson/meson-eeclk.h | 2 + drivers/clk/meson/parm.h | 1 + include/dt-bindings/clock/a1-clkc.h | 98 + include/dt-bindings/clock/a1-pll-clkc.h | 16 + 16 files changed, 3181 insertions(+), 10 deletions(-) create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-clkc.yaml create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-pll-clkc.yaml create mode 100644 drivers/clk/meson/a1-pll.c create mode 100644 drivers/clk/meson/a1-pll.h create mode 100644 drivers/clk/meson/a1.c create mode 100644 drivers/clk/meson/a1.h create mode 100644 include/dt-bindings/clock/a1-clkc.h create mode 100644 include/dt-bindings/clock/a1-pll-clkc.h -- 2.24.0