diff options
author | Mark A. Greer <mgreer@animalcreek.com> | 2014-03-25 11:54:34 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2014-04-21 18:37:27 -0400 |
commit | a0822a7e3b7333689b1c8cb92782e299791c2795 (patch) | |
tree | d74bd661f3fffe9b442273bc1caa74dfeefa4248 /drivers/nfc | |
parent | 49d19cc794e73c3383283a5366ff31572d71a795 (diff) |
NFC: trf7970a: Set 'Modulator and SYS_CLK Control' after 'ISO Control'
Writing to the 'ISO Control' register may cause the contents of the
'Modulator and SYS_CLK Control' register to change so be sure to write
to 'Modulator and SYS_CLK Control' after writing to 'ISO Control'.
Note that writing to the 'Modulator and SYS_CLK Control' register
shouldn't be necessary at all according to the trf790a manual but testing
shows that it is necessary.
Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc')
-rw-r--r-- | drivers/nfc/trf7970a.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index d17d424bdcee..90ec2ad35932 100644 --- a/drivers/nfc/trf7970a.c +++ b/drivers/nfc/trf7970a.c | |||
@@ -765,11 +765,6 @@ static int trf7970a_init(struct trf7970a *trf) | |||
765 | if (ret) | 765 | if (ret) |
766 | goto err_out; | 766 | goto err_out; |
767 | 767 | ||
768 | ret = trf7970a_write(trf, TRF7970A_MODULATOR_SYS_CLK_CTRL, | ||
769 | TRF7970A_MODULATOR_DEPTH_OOK); | ||
770 | if (ret) | ||
771 | goto err_out; | ||
772 | |||
773 | ret = trf7970a_write(trf, TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS, | 768 | ret = trf7970a_write(trf, TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS, |
774 | TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLH_96 | | 769 | TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLH_96 | |
775 | TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLL_32); | 770 | TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLL_32); |
@@ -943,6 +938,11 @@ static int trf7970a_config_framing(struct trf7970a *trf, int framing) | |||
943 | return ret; | 938 | return ret; |
944 | 939 | ||
945 | trf->iso_ctrl = iso_ctrl; | 940 | trf->iso_ctrl = iso_ctrl; |
941 | |||
942 | ret = trf7970a_write(trf, TRF7970A_MODULATOR_SYS_CLK_CTRL, | ||
943 | TRF7970A_MODULATOR_DEPTH_OOK); | ||
944 | if (ret) | ||
945 | return ret; | ||
946 | } | 946 | } |
947 | 947 | ||
948 | return 0; | 948 | return 0; |