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

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

KeyStone 66AK2E 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, TSIPCLKA, TSREFCLK, TSIPCLKB clocks as CPTS
reference clock [1] and group all CPTS properties under "cpts" subnode.

[1] http://www.ti.com/lit/gpn/66ak2e05
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
debc91ab e86ddd18

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