aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@animalcreek.com>2014-03-25 11:54:34 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2014-04-21 18:37:27 -0400
commita0822a7e3b7333689b1c8cb92782e299791c2795 (patch)
treed74bd661f3fffe9b442273bc1caa74dfeefa4248 /drivers
parent49d19cc794e73c3383283a5366ff31572d71a795 (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')
-rw-r--r--drivers/nfc/trf7970a.c10
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;