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 <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
This commit is contained in:
Mark A. Greer 2014-03-25 08:54:34 -07:00 • committed by Samuel Ortiz
commit a0822a7e3b

View file

@ -765,11 +765,6 @@ static int trf7970a_init(struct trf7970a *trf)
if (ret)
goto err_out;
ret = trf7970a_write(trf, TRF7970A_MODULATOR_SYS_CLK_CTRL,
TRF7970A_MODULATOR_DEPTH_OOK);
if (ret)
goto err_out;
ret = trf7970a_write(trf, TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS,
TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLH_96 |
TRF7970A_ADJUTABLE_FIFO_IRQ_LEVELS_WLL_32);
@ -943,6 +938,11 @@ static int trf7970a_config_framing(struct trf7970a *trf, int framing)
return ret;
trf->iso_ctrl = iso_ctrl;
ret = trf7970a_write(trf, TRF7970A_MODULATOR_SYS_CLK_CTRL,
TRF7970A_MODULATOR_DEPTH_OOK);
if (ret)
return ret;
}
return 0;