Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: k2l-netcp: add cpts refclk_mux node

KeyStone 66AK2L 1G Ethernet Switch Subsystems, can control an external
multiplexer that selects one of up to 32 clocks for time sync reference
(RFTCLK) clock. This feature can be configured through CPTS_RFTCLK_SEL
register (offset: x08) in CPTS module and modelled as multiplexer clock.

Hence, add cpts-refclk-mux clock node which allows to mux one of SYSCLK2,
SYSCLK3, TIMI0, TIMI1, TSREFCLK clocks as CPTS
reference clock [1] and group all CPTS properties under "cpts" subnode.

[1] http://www.ti.com/lit/gpn/66ak2l06
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>

authored by

Grygorii Strashko and committed by
Santosh Shilimkar
ee372eee 8cb7888d

+18 -2
+18 -2
arch/arm/boot/dts/keystone-k2l-netcp.dtsi
··· 134 134 /* NetCP address range */ 135 135 ranges = <0 0x26000000 0x1000000>; 136 136 137 - clocks = <&clkpa>, <&clkcpgmac>, <&chipclk12>; 138 - clock-names = "pa_clk", "ethss_clk", "cpts"; 137 + clocks = <&clkpa>, <&clkcpgmac>; 138 + clock-names = "pa_clk", "ethss_clk"; 139 139 dma-coherent; 140 140 141 141 ti,navigator-dmas = <&dma_gbe 0>, ··· 154 154 /* enable-ale; */ 155 155 tx-queue = <896>; 156 156 tx-channel = "nettx"; 157 + 158 + cpts { 159 + clocks = <&cpts_refclk_mux>; 160 + clock-names = "cpts"; 161 + 162 + cpts_refclk_mux: cpts-refclk-mux { 163 + #clock-cells = <0>; 164 + clocks = <&chipclk12>, <&chipclk13>, 165 + <&timi0>, <&timi1>, 166 + <&tsrefclk>; 167 + ti,mux-tbl = <0x0>, <0x1>, <0x2>, 168 + <0x3>, <0x8>; 169 + assigned-clocks = <&cpts_refclk_mux>; 170 + assigned-clock-parents = <&chipclk12>; 171 + }; 172 + }; 157 173 158 174 interfaces { 159 175 gbe0: interface-0 {