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

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

KeyStone 66AK2H/K 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/66ak2h14
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
8cb7888d debc91ab

+18 -2
+18 -2
arch/arm/boot/dts/keystone-k2hk-netcp.dtsi
··· 152 152 /* NetCP address range */ 153 153 ranges = <0 0x2000000 0x100000>; 154 154 155 - clocks = <&clkpa>, <&clkcpgmac>, <&chipclk12>; 156 - clock-names = "pa_clk", "ethss_clk", "cpts"; 155 + clocks = <&clkpa>, <&clkcpgmac>; 156 + clock-names = "pa_clk", "ethss_clk"; 157 157 dma-coherent; 158 158 159 159 ti,navigator-dmas = <&dma_gbe 22>, ··· 174 174 /* enable-ale; */ 175 175 tx-queue = <648>; 176 176 tx-channel = "nettx"; 177 + 178 + cpts { 179 + clocks = <&cpts_refclk_mux>; 180 + clock-names = "cpts"; 181 + 182 + cpts_refclk_mux: cpts-refclk-mux { 183 + #clock-cells = <0>; 184 + clocks = <&chipclk12>, <&chipclk13>, 185 + <&timi0>, <&timi1>, 186 + <&tsrefclk>; 187 + ti,mux-tbl = <0x0>, <0x1>, <0x2>, 188 + <0x3>, <0x8>; 189 + assigned-clocks = <&cpts_refclk_mux>; 190 + assigned-clock-parents = <&chipclk12>; 191 + }; 192 + }; 177 193 178 194 interfaces { 179 195 gbe0: interface-0 {