This patch set provides Common Clock Framework support for the latest Cirrus Logic clocking device, the CS2600. This device has two input clocks and three output clocks. One of the input clocks, the REFCLK, can be a constant reference clock input, a crystal reference input, or not available and use the internal clock. The second input is the CLK_IN digital clock input. The three clock outputs are CLK_OUT, BCLK_OUT, and FSYNC_OUT. v2 changes: - Remove | from after "discription" in DT binding. - Remove discription from "clocks" in DT binding. - Change ref_clk to xti - Clarify auxiliary clock pin - Change DT example to not have "reg" for the bus - Change DT example to change i2c@0 to i2c - Remove "OUTPUT" from the clock ouputs in the dt binding include file. - Remove AUX_OUT defines - Use do_div when dividing u64 by a u32 - Include the dt bindings include file - Use the includes from the dt bindings include file aux output. - Move of_device_id and i2c_device_id tables next to i2c_driver struct. Paul Handrigan (2): dt-binding: clock: cs2600: Add support for the CS2600 clk: cs2600: Add Fractional-N clock driver .../bindings/clock/cirrus,cs2600.yaml | 81 ++ drivers/clk/Kconfig | 9 + drivers/clk/Makefile | 1 + drivers/clk/clk-cs2600.c | 1158 +++++++++++++++++ drivers/clk/clk-cs2600.h | 173 +++ include/dt-bindings/clock/cirrus,cs2600.h | 24 + 6 files changed, 1446 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/cirrus,cs2600.yaml create mode 100644 drivers/clk/clk-cs2600.c create mode 100644 drivers/clk/clk-cs2600.h create mode 100644 include/dt-bindings/clock/cirrus,cs2600.h -- 2.34.1