[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20141015.164039.817474261624839292.davem@davemloft.net>
Date: Wed, 15 Oct 2014 16:40:39 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: b38611@...escale.com
Cc: richardcochran@...il.com, netdev@...r.kernel.org,
bhutchings@...arflare.com, b20596@...escale.com
Subject: Re: [PATCH v2 1/1] net: fec: ptp: fix convergence issue to support
LinuxPTP stack
From: Fugang Duan <b38611@...escale.com>
Date: Wed, 15 Oct 2014 17:30:12 +0800
> iMX6SX IEEE 1588 module has one hw issue in capturing the ATVR register.
> The current SW flow is:
> ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK;
> ts_counter_ns = ENET0->ATVR;
> The ATVR value is not expected value that cause LinuxPTP stack cannot be convergent.
>
> ENET Block Guide/ Chapter for the iMX6SX (PELE) address the issue:
> After set ENET_ATCR[Capture], there need some time cycles before the counter
> value is capture in the register clock domain. The wait-time-cycles is at least
> 6 clock cycles of the slower clock between the register clock and the 1588 clock.
> So need something like:
> ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK;
> wait();
> ts_counter_ns = ENET0->ATVR;
>
> For iMX6SX, the 1588 ts_clk is fixed to 25Mhz, register clock is 66Mhz, so the
> wait-time-cycles must be greater than 240ns (40ns * 6). The patch add 1us delay
> before cpu read ATVR register.
>
> Changes V2:
> Modify the commit/comments log to describe the issue clearly.
>
> Signed-off-by: Fugang Duan <B38611@...escale.com>
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists