From: Richard Cochran <richardcochran@gmail.com>
To: netdev@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org,
devicetree-discuss@lists.ozlabs.org,
linux-kernel@vger.kernel.org,
Rodolfo Giometti <giometti@linux.it>,
linux-arm-kernel@lists.infradead.org,
Krzysztof Halasa <khc@pm.waw.pl>
Subject: [PATCH v5 0/5] ptp: IEEE 1588 clock support
Date: Mon, 16 Aug 2010 13:17:05 +0200 [thread overview]
Message-ID: <cover.1281956490.git.richard.cochran@omicron.at> (raw)
Now and again there has been talk on the netdev list of adding PTP
support into Linux. One part of the picture is already in place, the
SO_TIMESTAMPING API for hardware time stamping. This patch set offers
the missing second part needed for complete IEEE 1588 support.
* Why all the CCs?
1. IMHO, the patches should go through netdev.
2. A reviewer on netdev said, this should appear on lkml.
3. One driver is for PowerPC, and adds device tree stuff.
4. One driver is for the ARM Xscale IXP465.
* Open Issues:
** DP83640
In order to make this work, one line must be added into the MAC
driver. If you have the DP83640 and want to try the driver, you
need to add this one line to your MAC driver: In the
.ndo_start_xmit function, add skb_tx_timestamp(skb).
** IXP465
I do not know how to correctly choose the timestamp "channel" based
on the port identifier:
+#define PORT2CHANNEL(p) 1
+/*
+ * PHYSICAL_ID(p->id) ?
+ * TODO - Figure out correct mapping.
+ */
Krzysztof, can you help?
* PTP Patch ChangeLog
** v5
*** general
- Added a hook into the PPS subsystem
- Corrected max_adj in all drivers
- Removed unnecessary sysfs stuff
- Replaced spinlock with mutex in class driver
*** gianfar
- Added PPS support
- Changed underscore to minus in device tree bindings
- Use of_iomap instead of ioremap
*** ixp465
- Added an external trigger event
- Corrected in_progress logic
*** phyter
- Added an external trigger event
- Added support for phy status frames
** v4
*** general
- Added a clock driver for the National Semiconductor PHYTER.
- Added a clock driver for the Intel IXP465.
- Made more stylish according to checkstyle.pl.
*** gianfar
- Replace device_type and model with compatible string ("fsl,etsec-ptp")
- Register only one interrupt, since others are superfluous.
- Combine ptp clock instance with private variable structure.
- ISR now returns NONE or HANDLED properly.
- Print error message if something is missing from the device nodes.
** v3
*** general
- Added documentation on writing clock drivers.
- Added the ioctls for the ancillary clock features.
- Changed wrong subsys_initcall() to module_init() in clock drivers.
- Removed the (too coarse) character device mutex.
- Setting the clock now requires CAP_SYS_TIME.
*** gianfar
- Added alarm feature.
- Added device tree node binding description.
- Added fine grain locking of the clock registers.
- Added the external time stamp feature.
- Added white space for better style.
- Coverted base+offset to structure pointers for register access.
- When removing the driver, we now disable all PTP functions.
** v2
- Changed clock list from a static array into a dynamic list. Also,
use a bitmap to manage the clock's minor numbers.
- Replaced character device semaphore with a mutex.
- Drop .ko from module names in Kbuild help.
- Replace deprecated unifdef-y with header-y for user space header file.
- Added links to both of the ptpd patches on sourceforge.
- Gianfar driver now gets parameters from device tree.
- Added API documentation to Documentation/ptp/ptp.txt
Richard Cochran (5):
ptp: Added a brand new class driver for ptp clocks.
ptp: Added a clock that uses the Linux system time.
ptp: Added a clock that uses the eTSEC found on the MPC85xx.
ptp: Added a clock driver for the IXP46x.
ptp: Added a clock driver for the National Semiconductor PHYTER.
Documentation/powerpc/dts-bindings/fsl/tsec.txt | 57 ++
Documentation/ptp/ptp.txt | 95 +++
Documentation/ptp/testptp.c | 306 ++++++++
Documentation/ptp/testptp.mk | 33 +
arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h | 78 ++
arch/powerpc/boot/dts/mpc8313erdb.dts | 14 +
arch/powerpc/boot/dts/mpc8572ds.dts | 14 +
arch/powerpc/boot/dts/p2020ds.dts | 14 +
arch/powerpc/boot/dts/p2020rdb.dts | 14 +
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/net/Makefile | 1 +
drivers/net/arm/ixp4xx_eth.c | 191 +++++
drivers/net/gianfar_ptp.c | 527 +++++++++++++
drivers/net/gianfar_ptp_reg.h | 113 +++
drivers/net/phy/Kconfig | 29 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/dp83640.c | 904 +++++++++++++++++++++++
drivers/net/phy/dp83640_reg.h | 261 +++++++
drivers/ptp/Kconfig | 65 ++
drivers/ptp/Makefile | 7 +
drivers/ptp/ptp_clock.c | 514 +++++++++++++
drivers/ptp/ptp_ixp46x.c | 359 +++++++++
drivers/ptp/ptp_linux.c | 136 ++++
include/linux/Kbuild | 1 +
include/linux/ptp_clock.h | 79 ++
include/linux/ptp_clock_kernel.h | 137 ++++
kernel/time/ntp.c | 2 +
28 files changed, 3955 insertions(+), 0 deletions(-)
create mode 100644 Documentation/ptp/ptp.txt
create mode 100644 Documentation/ptp/testptp.c
create mode 100644 Documentation/ptp/testptp.mk
create mode 100644 arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h
create mode 100644 drivers/net/gianfar_ptp.c
create mode 100644 drivers/net/gianfar_ptp_reg.h
create mode 100644 drivers/net/phy/dp83640.c
create mode 100644 drivers/net/phy/dp83640_reg.h
create mode 100644 drivers/ptp/Kconfig
create mode 100644 drivers/ptp/Makefile
create mode 100644 drivers/ptp/ptp_clock.c
create mode 100644 drivers/ptp/ptp_ixp46x.c
create mode 100644 drivers/ptp/ptp_linux.c
create mode 100644 include/linux/ptp_clock.h
create mode 100644 include/linux/ptp_clock_kernel.h
next reply other threads:[~2010-08-16 11:17 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-16 11:17 Richard Cochran [this message]
2010-08-16 11:17 ` [PATCH 1/5] ptp: Added a brand new class driver for ptp clocks Richard Cochran
2010-08-16 14:26 ` Arnd Bergmann
2010-08-16 19:00 ` Richard Cochran
2010-08-16 19:59 ` Arnd Bergmann
2010-08-17 8:32 ` Richard Cochran
2010-08-17 9:25 ` Arnd Bergmann
2010-08-17 10:52 ` Richard Cochran
2010-08-17 11:36 ` Arnd Bergmann
2010-08-18 0:40 ` john stultz
2010-08-18 14:04 ` Richard Cochran
2010-08-18 15:02 ` Arnd Bergmann
2010-08-19 9:22 ` Richard Cochran
2010-08-19 12:29 ` Arnd Bergmann
2010-08-19 15:23 ` Ira W. Snyder
2010-08-19 15:48 ` Arnd Bergmann
2010-08-16 19:24 ` john stultz
2010-08-16 19:38 ` john stultz
2010-08-17 8:53 ` Richard Cochran
2010-08-18 0:22 ` john stultz
2010-08-18 7:19 ` Richard Cochran
2010-08-19 0:12 ` john stultz
2010-08-19 5:55 ` Richard Cochran
2010-08-19 12:28 ` Arnd Bergmann
2010-08-19 15:38 ` Richard Cochran
2010-08-23 20:21 ` john stultz
2010-08-27 11:08 ` Richard Cochran
2010-08-27 12:03 ` Arnd Bergmann
2010-08-27 20:56 ` John Stultz
2010-08-27 12:45 ` Alan Cox
2010-08-27 20:14 ` John Stultz
2010-08-23 20:08 ` john stultz
2010-08-24 18:30 ` Stephan Gatzka
2010-08-25 9:40 ` Christian Riesch
2010-08-27 1:57 ` john stultz
2010-08-27 7:57 ` Richard Cochran
2010-08-27 12:41 ` Alan Cox
2010-08-27 14:02 ` Richard Cochran
2010-08-27 14:50 ` Alan Cox
2010-08-27 15:35 ` M. Warner Losh
2010-08-29 13:32 ` Christian Riesch
2010-08-27 12:38 ` Richard Cochran
2010-08-27 13:38 ` Alan Cox
2010-08-27 14:34 ` Richard Cochran
2010-08-27 15:06 ` Alan Cox
2010-08-27 15:21 ` Patrick Loschmidt
2010-08-27 16:17 ` Jacob Keller
2010-08-27 22:30 ` John Stultz
2010-09-06 6:33 ` Richard Cochran
2010-09-21 16:54 ` Stephan Gatzka
2010-09-21 20:47 ` Kyle Moffett
2010-09-22 10:14 ` Richard Cochran
2010-08-16 11:18 ` [PATCH 2/5] ptp: Added a clock that uses the Linux system time Richard Cochran
2010-08-16 11:18 ` [PATCH 3/5] ptp: Added a clock that uses the eTSEC found on the MPC85xx Richard Cochran
2010-08-16 11:18 ` [PATCH 4/5] ptp: Added a clock driver for the IXP46x Richard Cochran
2010-08-16 11:19 ` [PATCH 5/5] ptp: Added a clock driver for the National Semiconductor PHYTER Richard Cochran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1281956490.git.richard.cochran@omicron.at \
--to=richardcochran@gmail.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=giometti@linux.it \
--cc=khc@pm.waw.pl \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).