diff options
author | Yangbo Lu <yangbo.lu@freescale.com> | 2014-10-31 08:00:34 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:40:16 (GMT) |
commit | 1468d507377042b2d647036ea81471e002aed61a (patch) | |
tree | 5f68eee50c8cf14948c161fd5a6fddbf768e93f1 /drivers/net/ethernet/freescale/fman/src/wrapper | |
parent | 3245cd9407d21247e7b0abf8a9b20b9659740dea (diff) | |
download | linux-fsl-qoriq-1468d507377042b2d647036ea81471e002aed61a.tar.xz |
dpaa_eth: add PTPd 1588 stack support
Support PTPd 1588 stack by adding PTP 1588 clock
using the dTSEC
Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Change-Id: I4f6fb9a721cede75c6cf23560014b55b46c84fef
Reviewed-on: http://git.am.freescale.net:8181/20295
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/fman/src/wrapper')
-rwxr-xr-x | drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c index 74b0de8..58283fd 100755 --- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c +++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c @@ -1942,6 +1942,38 @@ int fm_rtc_set_fiper(struct fm *fm_dev, uint32_t id, } EXPORT_SYMBOL(fm_rtc_set_fiper); +#ifdef CONFIG_PTP_1588_CLOCK_DPAA +int fm_rtc_enable_interrupt(struct fm *fm_dev, uint32_t events) +{ + int _errno; + t_Error err; + + err = FM_RTC_EnableInterrupt(fm_get_rtc_handle(fm_dev), + events); + _errno = -GET_ERROR_TYPE(err); + if (unlikely(_errno < 0)) + pr_err("FM_RTC_EnableInterrupt = 0x%08x\n", err); + + return _errno; +} +EXPORT_SYMBOL(fm_rtc_enable_interrupt); + +int fm_rtc_disable_interrupt(struct fm *fm_dev, uint32_t events) +{ + int _errno; + t_Error err; + + err = FM_RTC_DisableInterrupt(fm_get_rtc_handle(fm_dev), + events); + _errno = -GET_ERROR_TYPE(err); + if (unlikely(_errno < 0)) + pr_err("FM_RTC_DisableInterrupt = 0x%08x\n", err); + + return _errno; +} +EXPORT_SYMBOL(fm_rtc_disable_interrupt); +#endif + int fm_mac_set_wol(struct fm_port *port, struct fm_mac_dev *fm_mac_dev, bool en) { int _errno; |