The CDCE6214 is a Ultra-Low Power Clock Generator With One PLL, Four Differential Outputs, Two Inputs, and Internal EEPROM. This series adds a common clk framework driver for this chip along with the dt-bindings document. The most controversial part of this series was the binding I introduced for configuring the pins of the CDCE6214. With v6 I have now integrated a pinctrl driver into the driver in the hope that this silences the discussion around the pins. Sascha Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- Changes in v6: - use pinctrl subsystem to configure pins - Link to v5: https://lore.kernel.org/r/20250618-clk-cdce6214-v5-0-9938b8ed0b94@xxxxxxxxxxxxxx Changes in v5: - Reword commit message for binding patch (Krzysztof) - Make clock binding yaml simpler (Krzysztof) - add link to datasheet to driver code (Stephen) - Drop inclusion of linux/clk.h (Stephen) - Add missing #include <linux/bitfield.h> (Kernel test robot) - simplify cdce6214_clk_out0_get_parent() (Stephen) - Use divider_get_val() where appropriate (Stephen) - Add Rxx defines for registers (Stephen) - Add define for magic value 24 (Stephen) - introduce and use cdce6214_clk_psx_mask() (Stephen) - Use clamp() instead of open code (Stephen) - declare const arrays const (Stephen) - more use of dev_err_probe() (Stephen) - use determine_rate() instead of round_rate (Stephen) - split out pin configuration to separate patches - Link to v4: https://lore.kernel.org/r/20250430-clk-cdce6214-v4-0-9f15e7126ac6@xxxxxxxxxxxxxx Changes in v4: - add missing '>' modifier in include/dt-bindings/clock/ti,cdce6214.h - fix clocks maxItems should be 2 - add missing license in include/dt-bindings/clock/ti,cdce6214.h - Fix checkpatch issues - Link to v3: https://lore.kernel.org/r/20250410-clk-cdce6214-v3-0-d73cf9ff3d80@xxxxxxxxxxxxxx Changes in v3: - Use string properties instead of int for enums - Use units from property-units in dtschema - Link to v2: https://lore.kernel.org/r/20250409-clk-cdce6214-v2-0-40b25b722ecb@xxxxxxxxxxxxxx Changes in v2: - Use consistent quotes in binding document - make clock-names an enum to make each clock fully optional - drop '|' in binding description where not needed - encode clock input mode into integer - encode clock output mode into integer - do not use defines for reg properties - support setting load capacity for the oscillator via device tree - support setting Bias current for the oscillator via device tree - support setting polarities of CMOS outputs via device tree - fix compatible string in driver - remove unused struct cdce6214_config - Link to v1: https://lore.kernel.org/r/20250408-clk-cdce6214-v1-0-bd4e7092a91f@xxxxxxxxxxxxxx --- Sascha Hauer (2): dt-bindings: clock: add TI CDCE6214 binding clk: add TI CDCE6214 clock driver .../devicetree/bindings/clock/ti,cdce6214.yaml | 198 +++ drivers/clk/Kconfig | 7 + drivers/clk/Makefile | 1 + drivers/clk/clk-cdce6214.c | 1620 ++++++++++++++++++++ include/dt-bindings/clock/ti,cdce6214.h | 24 + 5 files changed, 1850 insertions(+) --- base-commit: b320789d6883cc00ac78ce83bccbfe7ed58afcf0 change-id: 20250408-clk-cdce6214-0c74043dc267 Best regards, -- Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>