On Sun, Oct 07, 2018 at 10:38:23AM -0700, Richard Cochran wrote: > The InES at the ZHAW offers a PTP time stamping IP core. The FPGA > logic recognizes and time stamps PTP frames on the MII bus. This > patch adds a driver for the core along with a device tree binding to > allow hooking the driver to MII buses. > > Signed-off-by: Richard Cochran <richardcochran@xxxxxxxxx> > --- > Documentation/devicetree/bindings/ptp/ptp-ines.txt | 37 + Bindings should be separate patch. > drivers/ptp/Kconfig | 10 + > drivers/ptp/Makefile | 1 + > drivers/ptp/ptp_ines.c | 870 +++++++++++++++++++++ > 4 files changed, 918 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ptp/ptp-ines.txt > create mode 100644 drivers/ptp/ptp_ines.c > > diff --git a/Documentation/devicetree/bindings/ptp/ptp-ines.txt b/Documentation/devicetree/bindings/ptp/ptp-ines.txt > new file mode 100644 > index 000000000000..1484b62802c7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/ptp/ptp-ines.txt > @@ -0,0 +1,37 @@ > +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" ines is not registered vendor prefix. Should it be 'zhaw' instead? > +- reg: physical address and size of the register bank > +- #phandle-cells: must be one (1) #timestamper-cells Or if it is always 1, you could omit it. > + > +Required format of the port handle within the PHY node: > + > +- timestamper: provides control node reference and > + the port channel within the IP core This and #timestamper-cells need to be in a common binding doc. And bonus points if you add a check in dtc for this. Should be a one-liner. > + > +Example: > + > + tstamper: timestamper@60000000 { > + compatible = "ines,ptp-ctrl"; > + reg = <0x60000000 0x80>; > + #phandle-cells = <1>; > + }; > + > + ethernet@80000000 { > + ... > + mdio { > + ... > + phy@3 { > + ... > + timestamper = <&tstamper 0>; > + }; > + }; > + };