diff options
author | Aida Mynzhasova <aida.mynzhasova@skitlab.ru> | 2013-09-27 09:40:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-10-01 00:17:16 -0400 |
commit | e58f6f4fb4eada7867014bfaec898f03afbce5c2 (patch) | |
tree | 366172a9c3501cb903a488fbecf9f461ed351bf3 /Documentation/devicetree/bindings/net | |
parent | 3f3f0960aff951c5df6e42ce292d1593a2520646 (diff) |
powerpc/83xx: gianfar_ptp: select 1588 clock source through dts file
Currently IEEE 1588 timer reference clock source is determined through
hard-coded value in gianfar_ptp driver. This patch allows to select ptp
clock source by means of device tree file node.
For instance:
fsl,cksel = <0>;
for using external (TSEC_TMR_CLK input) high precision timer
reference clock.
Other acceptable values:
<1> : eTSEC system clock
<2> : eTSEC1 transmit clock
<3> : RTC clock input
When this attribute isn't used, eTSEC system clock will serve as
IEEE 1588 timer reference clock.
Signed-off-by: Aida Mynzhasova <aida.mynzhasova@skitlab.ru>
Acked-by: Kumar Gala <galak@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/devicetree/bindings/net')
-rw-r--r-- | Documentation/devicetree/bindings/net/fsl-tsec-phy.txt | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt index 2c6be0377f55..d2ea4605d078 100644 --- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt | |||
@@ -86,6 +86,7 @@ General Properties: | |||
86 | 86 | ||
87 | Clock Properties: | 87 | Clock Properties: |
88 | 88 | ||
89 | - fsl,cksel Timer reference clock source. | ||
89 | - fsl,tclk-period Timer reference clock period in nanoseconds. | 90 | - fsl,tclk-period Timer reference clock period in nanoseconds. |
90 | - fsl,tmr-prsc Prescaler, divides the output clock. | 91 | - fsl,tmr-prsc Prescaler, divides the output clock. |
91 | - fsl,tmr-add Frequency compensation value. | 92 | - fsl,tmr-add Frequency compensation value. |
@@ -97,7 +98,7 @@ Clock Properties: | |||
97 | clock. You must choose these carefully for the clock to work right. | 98 | clock. You must choose these carefully for the clock to work right. |
98 | Here is how to figure good values: | 99 | Here is how to figure good values: |
99 | 100 | ||
100 | TimerOsc = system clock MHz | 101 | TimerOsc = selected reference clock MHz |
101 | tclk_period = desired clock period nanoseconds | 102 | tclk_period = desired clock period nanoseconds |
102 | NominalFreq = 1000 / tclk_period MHz | 103 | NominalFreq = 1000 / tclk_period MHz |
103 | FreqDivRatio = TimerOsc / NominalFreq (must be greater that 1.0) | 104 | FreqDivRatio = TimerOsc / NominalFreq (must be greater that 1.0) |
@@ -114,6 +115,20 @@ Clock Properties: | |||
114 | Pulse Per Second (PPS) signal, since this will be offered to the PPS | 115 | Pulse Per Second (PPS) signal, since this will be offered to the PPS |
115 | subsystem to synchronize the Linux clock. | 116 | subsystem to synchronize the Linux clock. |
116 | 117 | ||
118 | Reference clock source is determined by the value, which is holded | ||
119 | in CKSEL bits in TMR_CTRL register. "fsl,cksel" property keeps the | ||
120 | value, which will be directly written in those bits, that is why, | ||
121 | according to reference manual, the next clock sources can be used: | ||
122 | |||
123 | <0> - external high precision timer reference clock (TSEC_TMR_CLK | ||
124 | input is used for this purpose); | ||
125 | <1> - eTSEC system clock; | ||
126 | <2> - eTSEC1 transmit clock; | ||
127 | <3> - RTC clock input. | ||
128 | |||
129 | When this attribute is not used, eTSEC system clock will serve as | ||
130 | IEEE 1588 timer reference clock. | ||
131 | |||
117 | Example: | 132 | Example: |
118 | 133 | ||
119 | ptp_clock@24E00 { | 134 | ptp_clock@24E00 { |
@@ -121,6 +136,7 @@ Example: | |||
121 | reg = <0x24E00 0xB0>; | 136 | reg = <0x24E00 0xB0>; |
122 | interrupts = <12 0x8 13 0x8>; | 137 | interrupts = <12 0x8 13 0x8>; |
123 | interrupt-parent = < &ipic >; | 138 | interrupt-parent = < &ipic >; |
139 | fsl,cksel = <1>; | ||
124 | fsl,tclk-period = <10>; | 140 | fsl,tclk-period = <10>; |
125 | fsl,tmr-prsc = <100>; | 141 | fsl,tmr-prsc = <100>; |
126 | fsl,tmr-add = <0x999999A4>; | 142 | fsl,tmr-add = <0x999999A4>; |