ASoC: davinci-mcasp: Clear TXSTAT register before activating serializers
Follow the guideline from the TRM: Before starting, clear the respective transmitter and receiver status registers To avoid stale state stored in the status registers. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
61f94ee4a7
commit
1003c27acf
|
@ -192,6 +192,7 @@ static void mcasp_start_rx(struct davinci_mcasp *mcasp)
|
|||
}
|
||||
|
||||
/* Activate serializer(s) */
|
||||
mcasp_set_reg(mcasp, DAVINCI_MCASP_RXSTAT_REG, 0xFFFFFFFF);
|
||||
mcasp_set_ctl_reg(mcasp, DAVINCI_MCASP_GBLCTLR_REG, RXSERCLR);
|
||||
/* Release RX state machine */
|
||||
mcasp_set_ctl_reg(mcasp, DAVINCI_MCASP_GBLCTLR_REG, RXSMRST);
|
||||
|
@ -220,6 +221,7 @@ static void mcasp_start_tx(struct davinci_mcasp *mcasp)
|
|||
mcasp_set_ctl_reg(mcasp, DAVINCI_MCASP_GBLCTLX_REG, TXHCLKRST);
|
||||
mcasp_set_ctl_reg(mcasp, DAVINCI_MCASP_GBLCTLX_REG, TXCLKRST);
|
||||
/* Activate serializer(s) */
|
||||
mcasp_set_reg(mcasp, DAVINCI_MCASP_TXSTAT_REG, 0xFFFFFFFF);
|
||||
mcasp_set_ctl_reg(mcasp, DAVINCI_MCASP_GBLCTLX_REG, TXSERCLR);
|
||||
|
||||
/* wait for XDATA to be cleared */
|
||||
|
|
Loading…
Reference in New Issue