From: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx> Add support for AD9545 Quad Input, 10-Output, Dual DPLL/IEEE 1588, 1 pps Synchronizer and Jitter Cleaner. At the core of the device there are PLL blocks. Each block consists of one DPLL and one APLL. The DPLL can be fed timestamps from one of the 4 reference input dividers or one of the two auxiliary NCOs. The APLL takes the output of the DPLL and up-converts this frequency to 1.2-2.0 GHZ. First 6 output dividers are receiving clock from APLL0 and last 4 outputs are receiving clock from APLL1. Current approach is to register under common clock framework, depending whether they are mentioned in the device-tree, any of the used references input dividers, the two auxiliary NCOs, PLL blocks, output dividers. A clock tree example: Ref-B Ref-B-Div PLL0 Q0C-div PLL1 Q1A-div Q1B-div Alexandru Tachici (2): clk: ad9545: Add support dt-bindings: clock: ad9545: Add documentation .../devicetree/bindings/clock/clk-ad9545.yaml | 352 ++++ drivers/clk/Kconfig | 6 + drivers/clk/Makefile | 1 + drivers/clk/adi/Kconfig | 29 + drivers/clk/adi/Makefile | 9 + drivers/clk/adi/clk-ad9545-i2c.c | 61 + drivers/clk/adi/clk-ad9545-spi.c | 75 + drivers/clk/adi/clk-ad9545.c | 1678 +++++++++++++++++ drivers/clk/adi/clk-ad9545.h | 16 + include/dt-bindings/clock/ad9545.h | 64 + 10 files changed, 2291 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/clk-ad9545.yaml create mode 100644 drivers/clk/adi/Kconfig create mode 100644 drivers/clk/adi/Makefile create mode 100644 drivers/clk/adi/clk-ad9545-i2c.c create mode 100644 drivers/clk/adi/clk-ad9545-spi.c create mode 100644 drivers/clk/adi/clk-ad9545.c create mode 100644 drivers/clk/adi/clk-ad9545.h create mode 100644 include/dt-bindings/clock/ad9545.h -- 2.20.1