dt-bindings: Add devicetree bindings
Add snapshot of device tree bindings from keystone common kernel, branch "android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065 from e32903b9a63bb558df8b803b076619c53c16baad to android-mainline-keystone-qcom-release"). Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1 Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
19
bindings/ptp/brcm,ptp-dte.txt
Normal file
19
bindings/ptp/brcm,ptp-dte.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
* Broadcom Digital Timing Engine(DTE) based PTP clock
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain the core compatibility string
|
||||
and the SoC compatibility string. The SoC
|
||||
compatibility string is to handle SoC specific
|
||||
hardware differences.
|
||||
Core compatibility string:
|
||||
"brcm,ptp-dte"
|
||||
SoC compatibility strings:
|
||||
"brcm,iproc-ptp-dte" - for iproc based SoC's
|
||||
- reg: address and length of the DTE block's NCO registers
|
||||
|
||||
Example:
|
||||
|
||||
ptp: ptp-dte@180af650 {
|
||||
compatible = "brcm,iproc-ptp-dte", "brcm,ptp-dte";
|
||||
reg = <0x180af650 0x10>;
|
||||
};
|
45
bindings/ptp/ptp-idt82p33.yaml
Normal file
45
bindings/ptp/ptp-idt82p33.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/ptp/ptp-idt82p33.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: IDT 82P33 PTP Clock
|
||||
|
||||
description: |
|
||||
IDT 82P33XXX Synchronization Management Unit (SMU) based PTP clock
|
||||
|
||||
maintainers:
|
||||
- Min Li <min.li.xe@renesas.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- idt,82p33810
|
||||
- idt,82p33813
|
||||
- idt,82p33814
|
||||
- idt,82p33831
|
||||
- idt,82p33910
|
||||
- idt,82p33913
|
||||
- idt,82p33914
|
||||
- idt,82p33931
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phc@51 {
|
||||
compatible = "idt,82p33810";
|
||||
reg = <0x51>;
|
||||
};
|
||||
};
|
69
bindings/ptp/ptp-idtcm.yaml
Normal file
69
bindings/ptp/ptp-idtcm.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/ptp/ptp-idtcm.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: IDT ClockMatrix (TM) PTP Clock
|
||||
|
||||
maintainers:
|
||||
- Vincent Cheng <vincent.cheng.xh@renesas.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
# For System Synchronizer
|
||||
- idt,8a34000
|
||||
- idt,8a34001
|
||||
- idt,8a34002
|
||||
- idt,8a34003
|
||||
- idt,8a34004
|
||||
- idt,8a34005
|
||||
- idt,8a34006
|
||||
- idt,8a34007
|
||||
- idt,8a34008
|
||||
- idt,8a34009
|
||||
# For Port Synchronizer
|
||||
- idt,8a34010
|
||||
- idt,8a34011
|
||||
- idt,8a34012
|
||||
- idt,8a34013
|
||||
- idt,8a34014
|
||||
- idt,8a34015
|
||||
- idt,8a34016
|
||||
- idt,8a34017
|
||||
- idt,8a34018
|
||||
- idt,8a34019
|
||||
# For Universal Frequency Translator (UFT)
|
||||
- idt,8a34040
|
||||
- idt,8a34041
|
||||
- idt,8a34042
|
||||
- idt,8a34043
|
||||
- idt,8a34044
|
||||
- idt,8a34045
|
||||
- idt,8a34046
|
||||
- idt,8a34047
|
||||
- idt,8a34048
|
||||
- idt,8a34049
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description:
|
||||
I2C slave address of the device.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phc@5b {
|
||||
compatible = "idt,8a34000";
|
||||
reg = <0x5b>;
|
||||
};
|
||||
};
|
35
bindings/ptp/ptp-ines.txt
Normal file
35
bindings/ptp/ptp-ines.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
ZHAW InES PTP time stamping IP core
|
||||
|
||||
The IP core needs two different kinds of nodes. The control node
|
||||
lives somewhere in the memory map and specifies the address of the
|
||||
control registers. There can be up to three port handles placed as
|
||||
attributes of PHY nodes. These associate a particular MII bus with a
|
||||
port index within the IP core.
|
||||
|
||||
Required properties of the control node:
|
||||
|
||||
- compatible: "ines,ptp-ctrl"
|
||||
- reg: physical address and size of the register bank
|
||||
|
||||
Required format of the port handle within the PHY node:
|
||||
|
||||
- timestamper: provides control node reference and
|
||||
the port channel within the IP core
|
||||
|
||||
Example:
|
||||
|
||||
tstamper: timestamper@60000000 {
|
||||
compatible = "ines,ptp-ctrl";
|
||||
reg = <0x60000000 0x80>;
|
||||
};
|
||||
|
||||
ethernet@80000000 {
|
||||
...
|
||||
mdio {
|
||||
...
|
||||
ethernet-phy@3 {
|
||||
...
|
||||
timestamper = <&tstamper 0>;
|
||||
};
|
||||
};
|
||||
};
|
87
bindings/ptp/ptp-qoriq.txt
Normal file
87
bindings/ptp/ptp-qoriq.txt
Normal file
@@ -0,0 +1,87 @@
|
||||
* Freescale QorIQ 1588 timer based PTP clock
|
||||
|
||||
General Properties:
|
||||
|
||||
- compatible Should be "fsl,etsec-ptp" for eTSEC
|
||||
Should be "fsl,fman-ptp-timer" for DPAA FMan
|
||||
Should be "fsl,dpaa2-ptp" for DPAA2
|
||||
Should be "fsl,enetc-ptp" for ENETC
|
||||
- reg Offset and length of the register set for the device
|
||||
- interrupts There should be at least two interrupts. Some devices
|
||||
have as many as four PTP related interrupts.
|
||||
|
||||
Clock Properties:
|
||||
|
||||
- fsl,cksel Timer reference clock source.
|
||||
- fsl,tclk-period Timer reference clock period in nanoseconds.
|
||||
- fsl,tmr-prsc Prescaler, divides the output clock.
|
||||
- fsl,tmr-add Frequency compensation value.
|
||||
- fsl,tmr-fiper1 Fixed interval period pulse generator.
|
||||
- fsl,tmr-fiper2 Fixed interval period pulse generator.
|
||||
- fsl,tmr-fiper3 Fixed interval period pulse generator.
|
||||
Supported only on DPAA2 and ENETC hardware.
|
||||
- fsl,max-adj Maximum frequency adjustment in parts per billion.
|
||||
- fsl,extts-fifo The presence of this property indicates hardware
|
||||
support for the external trigger stamp FIFO.
|
||||
- little-endian The presence of this property indicates the 1588 timer
|
||||
IP block is little-endian mode. The default endian mode
|
||||
is big-endian.
|
||||
|
||||
These properties set the operational parameters for the PTP
|
||||
clock. You must choose these carefully for the clock to work right.
|
||||
Here is how to figure good values:
|
||||
|
||||
TimerOsc = selected reference clock MHz
|
||||
tclk_period = desired clock period nanoseconds
|
||||
NominalFreq = 1000 / tclk_period MHz
|
||||
FreqDivRatio = TimerOsc / NominalFreq (must be greater that 1.0)
|
||||
tmr_add = ceil(2^32 / FreqDivRatio)
|
||||
OutputClock = NominalFreq / tmr_prsc MHz
|
||||
PulseWidth = 1 / OutputClock microseconds
|
||||
FiperFreq1 = desired frequency in Hz
|
||||
FiperDiv1 = 1000000 * OutputClock / FiperFreq1
|
||||
tmr_fiper1 = tmr_prsc * tclk_period * FiperDiv1 - tclk_period
|
||||
max_adj = 1000000000 * (FreqDivRatio - 1.0) - 1
|
||||
|
||||
The calculation for tmr_fiper2 is the same as for tmr_fiper1. The
|
||||
driver expects that tmr_fiper1 will be correctly set to produce a 1
|
||||
Pulse Per Second (PPS) signal, since this will be offered to the PPS
|
||||
subsystem to synchronize the Linux clock.
|
||||
|
||||
Reference clock source is determined by the value, which is holded
|
||||
in CKSEL bits in TMR_CTRL register. "fsl,cksel" property keeps the
|
||||
value, which will be directly written in those bits, that is why,
|
||||
according to reference manual, the next clock sources can be used:
|
||||
|
||||
For eTSEC,
|
||||
<0> - external high precision timer reference clock (TSEC_TMR_CLK
|
||||
input is used for this purpose);
|
||||
<1> - eTSEC system clock;
|
||||
<2> - eTSEC1 transmit clock;
|
||||
<3> - RTC clock input.
|
||||
|
||||
For DPAA FMan,
|
||||
<0> - external high precision timer reference clock (TMR_1588_CLK)
|
||||
<1> - MAC system clock (1/2 FMan clock)
|
||||
<2> - reserved
|
||||
<3> - RTC clock oscillator
|
||||
|
||||
When this attribute is not used, the IEEE 1588 timer reference clock
|
||||
will use the eTSEC system clock (for Gianfar) or the MAC system
|
||||
clock (for DPAA).
|
||||
|
||||
Example:
|
||||
|
||||
ptp_clock@24e00 {
|
||||
compatible = "fsl,etsec-ptp";
|
||||
reg = <0x24E00 0xB0>;
|
||||
interrupts = <12 0x8 13 0x8>;
|
||||
interrupt-parent = < &ipic >;
|
||||
fsl,cksel = <1>;
|
||||
fsl,tclk-period = <10>;
|
||||
fsl,tmr-prsc = <100>;
|
||||
fsl,tmr-add = <0x999999A4>;
|
||||
fsl,tmr-fiper1 = <0x3B9AC9F6>;
|
||||
fsl,tmr-fiper2 = <0x00018696>;
|
||||
fsl,max-adj = <659999998>;
|
||||
};
|
42
bindings/ptp/timestamper.txt
Normal file
42
bindings/ptp/timestamper.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
Time stamps from MII bus snooping devices
|
||||
|
||||
This binding supports non-PHY devices that snoop the MII bus and
|
||||
provide time stamps. In contrast to PHY time stamping drivers (which
|
||||
can simply attach their interface directly to the PHY instance), stand
|
||||
alone MII time stamping drivers use this binding to specify the
|
||||
connection between the snooping device and a given network interface.
|
||||
|
||||
Non-PHY MII time stamping drivers typically talk to the control
|
||||
interface over another bus like I2C, SPI, UART, or via a memory mapped
|
||||
peripheral. This controller device is associated with one or more
|
||||
time stamping channels, each of which snoops on a MII bus.
|
||||
|
||||
The "timestamper" property lives in a phy node and links a time
|
||||
stamping channel from the controller device to that phy's MII bus.
|
||||
|
||||
Example:
|
||||
|
||||
tstamper: timestamper@10000000 {
|
||||
compatible = "ines,ptp-ctrl";
|
||||
reg = <0x10000000 0x80>;
|
||||
};
|
||||
|
||||
ethernet@20000000 {
|
||||
mdio {
|
||||
ethernet-phy@1 {
|
||||
timestamper = <&tstamper 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ethernet@30000000 {
|
||||
mdio {
|
||||
ethernet-phy@2 {
|
||||
timestamper = <&tstamper 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
In this example, time stamps from the MII bus attached to phy@1 will
|
||||
appear on time stamp channel 0 (zero), and those from phy@2 appear on
|
||||
channel 1.
|
Reference in New Issue
Block a user