at86rf230: add support for calibration timeout
authorAlexander Aring <alex.aring@gmail.com>
Mon, 9 Mar 2015 12:56:11 +0000 (13:56 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 14 Mar 2015 16:11:31 +0000 (17:11 +0100)
commitdce481e63dc18ece7c86c607aa17b7c753fce0b7
tree2a952d0cf786987a03e56fd7268c370e32dd4810
parenteb3b435ecdb84d05698db862ce316b3c682f9a95
at86rf230: add support for calibration timeout

This patch adds a handling for calibration if we are 5 minutes in PLL
state. I first tried to implement the calibration functionality in
TX_ON state via register values CF_START and DCU_START, but this occurs
a one second delay at each calibration time.

An another solution to start a calibration is to switch from TRX_OFF
state into TX_ON, then a calibration is done automatically by
transceiver. This method will be used in this patch, after each transmit
of a frame we check with jiffies if the PLL is set 5 minutes without
doing a TRX_OFF->(TX_ON || RX_AACK_ON) or channel switch. The worst case
would be a transceiver in receiving mode only, but this is under normal
operation very unlikely.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Cc: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Cc: Werner Almesberger <werner@almesberger.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/net/ieee802154/at86rf230.c