Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12775af5 authored by Grygorii Strashko's avatar Grygorii Strashko Committed by David S. Miller
Browse files

dt-bindings: doc: net: keystone-netcp: document cpts



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 "legacy" TI AM3/4/5 SoCs. So, the basic support for
Keystone 2 CPTS is available by default, but not documented.
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 is modelled as multiplexer clock.

This patch adds missed binding documentation for Keystone 2 66AK2HK/E/L
CPTS module.

Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8d94a873
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
@@ -104,6 +104,23 @@ Required properties:
			- 10Gb mac<->mac forced mode : 11
----phy-handle:	phandle to PHY device

- cpts:		sub-node time synchronization (CPTS) submodule configuration
-- clocks:	CPTS reference clock. Should point on cpts-refclk-mux clock.
-- clock-names: should be "cpts"
-- cpts-refclk-mux: multiplexer clock definition sub-node for CPTS reference (RFTCLK) clock
--- #clock-cells: should be 0
--- clocks:	list of CPTS reference (RFTCLK) clock's parents as defined in Data manual
--- ti,mux-tbl: array of multiplexer indexes as defined in Data manual
--- assigned-clocks: should point on cpts-refclk-mux clock
--- assigned-clock-parents: should point on required RFTCLK clock parent to be selected
-- cpts_clock_mult: (optional) Numerator to convert input clock ticks
		into nanoseconds
-- cpts_clock_shift: (optional) Denominator to convert input clock ticks into
		nanoseconds.
		Mult and shift will be calculated basing on CPTS
		rftclk frequency if both cpts_clock_shift and
		cpts_clock_mult properties are not provided.

Optional properties:
- enable-ale:	NetCP driver keeps the address learning feature in the ethernet
		switch module disabled. This attribute is to enable the address
@@ -168,6 +185,23 @@ netcp: netcp@2000000 {
			tx-queue = <648>;
			tx-channel = <8>;

			cpts {
				clocks = <&cpts_refclk_mux>;
				clock-names = "cpts";

				cpts_refclk_mux: cpts-refclk-mux {
					#clock-cells = <0>;
					clocks = <&chipclk12>, <&chipclk13>,
						 <&timi0>, <&timi1>,
						 <&tsipclka>, <&tsrefclk>,
						 <&tsipclkb>;
					ti,mux-tbl = <0x0>, <0x1>, <0x2>,
						<0x3>, <0x4>, <0x8>, <0xC>;
					assigned-clocks = <&cpts_refclk_mux>;
					assigned-clock-parents = <&chipclk12>;
				};
			};

			interfaces {
				gbe0: interface-0 {
					slave-port = <0>;
@@ -219,3 +253,13 @@ netcp: netcp@2000000 {
		};
	};
};

CPTS board configuration - select external CPTS RFTCLK:

&tsrefclk{
	clock-frequency = <500000000>;
};

&cpts_refclk_mux {
	assigned-clock-parents = <&tsrefclk>;
};