1d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran# 2d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran# PTP clock support configuration 3d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran# 4d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran 5d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochranmenu "PTP clock support" 6d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran 7d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochranconfig PTP_1588_CLOCK 8d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran tristate "PTP clock support" 91a466ae96e9f749d02a73315a3e66375e61a61ddRandy Dunlap depends on NET 1042a7ccef0a06519e2ea0be71d7c0f4ed9198509fBen Hutchings select PPS 11408eccce32044ee3285a7f6a812723ba3540c3e7Daniel Borkmann select NET_PTP_CLASSIFY 12d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran help 13d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran The IEEE 1588 standard defines a method to precisely 14d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran synchronize distributed clocks over Ethernet networks. The 15d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran standard defines a Precision Time Protocol (PTP), which can 16d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran be used to achieve synchronization within a few dozen 17d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran microseconds. In addition, with the help of special hardware 18d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran time stamping units, it can be possible to achieve 19d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran synchronization to within a few hundred nanoseconds. 20d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran 21d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran This driver adds support for PTP clocks as character 22d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran devices. If you want to use a PTP clock, then you should 23d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran also enable at least one clock driver as well. 24d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran 25d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran To compile this driver as a module, choose M here: the module 26d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran will be called ptp. 27d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochran 28c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochranconfig PTP_1588_CLOCK_GIANFAR 29c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran tristate "Freescale eTSEC as PTP clock" 30c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran depends on GIANFAR 31a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings select PTP_1588_CLOCK 32a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings default y 33c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran help 34c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran This driver adds support for using the eTSEC as a PTP 35c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran clock. This clock is only useful if your PTP programs are 36c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran getting hardware time stamps on the PTP Ethernet packets 37c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran using the SO_TIMESTAMPING API. 38c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran 39c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran To compile this driver as a module, choose M here: the module 40c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran will be called gianfar_ptp. 41c78275f366c687b5b3ead3d99fc96d1f02d38a8eRichard Cochran 4232bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochranconfig PTP_1588_CLOCK_IXP46X 4332bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran tristate "Intel IXP46x as PTP clock" 4432bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran depends on IXP4XX_ETH 45a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings select PTP_1588_CLOCK 46a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings default y 4732bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran help 4832bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran This driver adds support for using the IXP46X as a PTP 4932bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran clock. This clock is only useful if your PTP programs are 5032bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran getting hardware time stamps on the PTP Ethernet packets 5132bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran using the SO_TIMESTAMPING API. 5232bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran 5332bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran To compile this driver as a module, choose M here: the module 5432bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran will be called ptp_ixp46x. 5532bd93e8f924c23b8cc2e2a12fef0d8cc9cda0c5Richard Cochran 56cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochrancomment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks." 57a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n 58cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran 59cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochranconfig DP83640_PHY 60cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran tristate "Driver for the National Semiconductor DP83640 PHYTER" 61cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran depends on NETWORK_PHY_TIMESTAMPING 62cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran depends on PHYLIB 63a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings select PTP_1588_CLOCK 64cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran ---help--- 65cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran Supports the DP83640 PHYTER with IEEE 1588 features. 66cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran 67cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran This driver adds support for using the DP83640 as a PTP 68cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran clock. This clock is only useful if your PTP programs are 69cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran getting hardware time stamps on the PTP Ethernet packets 70cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran using the SO_TIMESTAMPING API. 71cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran 72cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran In order for this to work, your MAC driver must also 736b2aac42b20f495d9ea220036f57596d525d4233Masanari Iida implement the skb_tx_timestamp() function. 74cb646e2b02b27a33a1d1eabd016749606254071cRichard Cochran 75863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizuconfig PTP_1588_CLOCK_PCH 76863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu tristate "Intel PCH EG20T as PTP clock" 77bc56151d07eab55437ff7b47c4cb3278d476ea6bJean Delvare depends on X86_32 || COMPILE_TEST 781a466ae96e9f749d02a73315a3e66375e61a61ddRandy Dunlap depends on HAS_IOMEM && NET 79a24006ed12616bde1bbdb26868495906a212d8dcBen Hutchings select PTP_1588_CLOCK 80863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu help 81863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu This driver adds support for using the PCH EG20T as a PTP 82358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu clock. The hardware supports time stamping of PTP packets 83358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu when using the end-to-end delay (E2E) mechansim. The peer 84358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu delay mechansim (P2P) is not supported. 85358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu 86358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu This clock is only useful if your PTP programs are getting 87358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu hardware time stamps on the PTP Ethernet packets using the 88358dfb6d77c016af764c0f7007697e5f5bc322c2Takahiro Shimizu SO_TIMESTAMPING API. 89863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu 90863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu To compile this driver as a module, choose M here: the module 91863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu will be called ptp_pch. 92863d08ece9bf11043541e8017cfbdd16b800fbe5Takahiro Shimizu 93d94ba80ebbea17f036cecb104398fbcd788aa742Richard Cochranendmenu 94