Hello, This is v4 of common clock driver for NCO blocks on Apple SoCs. I have to send v4 because to some people I inadvertently send their copy of v3 PGP-encrypted. Changes since v3: - change my email address - set MODULE_LICENSE to 'GPL' (was 'GPL v2') Changes since v2: - move all under applnco_ prefix - move away from signed types in register value calculations - other minor things from Stephen's review Changes since v1: - drop apple,nchannels property from the binding, rely on size of the register range instead to gauge the number of channels - add a lock to guard set_rate from racing with clock disable/enable - add short "theory of operation" comment - incorporate minor changes from Rob's, Sven's and Stephen's review (thanks!) Martin v1: https://lore.kernel.org/linux-clk/20211214120213.15649-1-povik@xxxxxxxxxxxxxx/ v2: https://lore.kernel.org/linux-clk/20220118191839.64086-1-povik+lin@xxxxxxxxxxxxxx/ v3: https://lore.kernel.org/linux-clk/20220121175441.9944-1-povik+lin@xxxxxxxxxxxxxx/ Martin Povišer (3): dt-bindings: clock: Add Apple NCO clk: clk-apple-nco: Add driver for Apple NCO MAINTAINERS: Add clk-apple-nco under ARM/APPLE MACHINE .../devicetree/bindings/clock/apple,nco.yaml | 62 ++++ MAINTAINERS | 2 + drivers/clk/Kconfig | 9 + drivers/clk/Makefile | 1 + drivers/clk/clk-apple-nco.c | 333 ++++++++++++++++++ 5 files changed, 407 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/apple,nco.yaml create mode 100644 drivers/clk/clk-apple-nco.c -- 2.33.0