Hi The Keystone 2 66AK2HK/E/L 1G Ethernet Switch Subsystems contains The Common Platform Time Sync (CPTS) module which is in general compatible with CPTS module found on TI AM3/4/5 SoCs. So, the basic support for Keystone 2 CPTS is available by default, but not documented and has never been enabled inconfig files. The Keystone 2 CPTS module supports also some additional features like time sync reference (RFTCLK) clock selection through CPTS_RFTCLK_SEL register (offset: x08) in CPTS module, which can modelled as multiplexer clock (this was discussed some time ago [1]). This series adds missed binding documentation for Keystone 2 66AK2HK/E/L CPTS module and enables CPTS for TI Keystone 2 66AK2HK/E/L SoCs with possiblity to select CPTS reference clock. Patch 1: adds the CPTS binding documentation. CPTS bindings are defined in the way that allows CPTS properties to be grouped under "cpts" sub-node. It also defines "cpts-refclk-mux" clock for CPTS RFTCLK selection. Patches 2-3: implement CPTS properties grouping under "cpts" sub-node with backward compatibility support. Patch 4: adds support for time sync reference (RFTCLK) clock selection from DT by adding support for "cpts-refclk-mux" multiplexer clock. Patches 5-9: DT CPTS nodes update for TI Keystone 2 66AK2HK/E/L SoCs. Patch 10: enables CPTS for TI Keystone 2 66AK2HK/E/L SoCs. I grouped all patches in one series for better illustration of the changes, but in general Pateches 1-4 are netdev matarieal (first) and other patches are platform specific. Series can be found at: git@xxxxxxxxxx:~gragst/ti-linux-kernel/gragsts-ti-linux-kernel.git branch: net-next-k2e-cpts-refclk Changes in v2: - do reverse christmas tree in cpts_of_mux_clk_setup() - add ack from Richard Cochran v1: https://lkml.org/lkml/2019/6/1/77 [1] https://www.spinics.net/lists/netdev/msg408931.html Grygorii Strashko (10): dt-bindings: doc: net: keystone-netcp: document cpts net: ethernet: ti: cpts: use devm_get_clk_from_child net: ethernet: ti: netcp_ethss: add support for child cpts node net: ethernet: ti: cpts: add support for ext rftclk selection ARM: dts: keystone-clocks: add input fixed clocks ARM: dts: k2e-clocks: add input ext. fixed clocks tsipclka/b ARM: dts: k2e-netcp: add cpts refclk_mux node ARM: dts: k2hk-netcp: add cpts refclk_mux node ARM: dts: k2l-netcp: add cpts refclk_mux node ARM: configs: keystone: enable cpts .../bindings/net/keystone-netcp.txt | 44 ++++++++++ arch/arm/boot/dts/keystone-clocks.dtsi | 27 ++++++ arch/arm/boot/dts/keystone-k2e-clocks.dtsi | 20 +++++ arch/arm/boot/dts/keystone-k2e-netcp.dtsi | 21 ++++- arch/arm/boot/dts/keystone-k2hk-netcp.dtsi | 20 ++++- arch/arm/boot/dts/keystone-k2l-netcp.dtsi | 20 ++++- arch/arm/configs/keystone_defconfig | 1 + drivers/net/ethernet/ti/cpts.c | 88 ++++++++++++++++++- drivers/net/ethernet/ti/cpts.h | 2 +- drivers/net/ethernet/ti/netcp_ethss.c | 9 +- 10 files changed, 240 insertions(+), 12 deletions(-) -- 2.17.1