1. 17 8月, 2014 6 次提交
    • N
      ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode · 855675f6
      Nicolin Chen 提交于
      There is one design rule according to SAI's reference manual:
      If the transmitter bit clock and frame sync are to be used by both transmitter
      and receiver, the transmitter must be configured for asynchronous operation
      and the receiver for synchronous operation.
      
      And SYNC of TCR2 is a 2-width control bit:
      00 Asynchronous mode.
      01 Synchronous with receiver.
      10 Synchronous with another SAI transmitter.
      11 Synchronous with another SAI receiver.
      
      So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC
      bit of RCR2 to 0x1 (Synchronous with transmitter).
      Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      855675f6
    • N
      ASoC: fsl_sai: Make Synchronous and Asynchronous modes exclusive · ce7344a4
      Nicolin Chen 提交于
      The previous patch (ASoC: fsl_sai: Add asynchronous mode support) added
      new Device Tree bindings for Asynchronous and Synchronous modes support.
      However, these two shall not be present at the same time.
      
      So this patch just simply makes them exclusive so as to avoid incorrect
      Device Tree binding usage.
      Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      ce7344a4
    • N
      ASoC: fsl_sai: Add asynchronous mode support · 08fdf65e
      Nicolin Chen 提交于
      SAI supports these operation modes:
      1) asynchronous mode
         Both Tx and Rx are set to be asynchronous.
      2) synchronous mode (Rx sync with Tx)
         Tx is set to be asynchronous, Rx is set to be synchronous.
      3) synchronous mode (Tx sync with Rx)
         Rx is set to be asynchronous, Tx is set to be synchronous.
      4) synchronous mode (Tx/Rx sync with another SAI's Tx)
      5) synchronous mode (Tx/Rx sync with another SAI's Rx)
      
      * 4) and 5) are beyond this patch because they are related with another SAI.
      
      As the initial version of this SAI driver, it supported 2) as default while
      the others were totally missing.
      
      So this patch just adds supports for 1) and 3).
      Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      08fdf65e
    • N
      ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode · af96ff5b
      Nicolin Chen 提交于
      There is one design rule according to SAI's reference manual:
      If the transmitter bit clock and frame sync are to be used by both transmitter
      and receiver, the transmitter must be configured for asynchronous operation
      and the receiver for synchronous operation.
      
      And SYNC of TCR2 is a 2-width control bit:
      00 Asynchronous mode.
      01 Synchronous with receiver.
      10 Synchronous with another SAI transmitter.
      11 Synchronous with another SAI receiver.
      
      So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC
      bit of RCR2 to 0x1 (Synchronous with transmitter).
      Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      af96ff5b
    • N
      ASoC: fsl_sai: Initialize with software reset · 376d1a92
      Nicolin Chen 提交于
      This patch adds software reset code in dai_probe() so as to make a true init
      by clearing SAI's internal logic, including the bit clock generation, status
      flags, and FIFO pointers.
      Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      376d1a92
    • L
      Linux 3.17-rc1 · 7d1311b9
      Linus Torvalds 提交于
      7d1311b9
  2. 16 8月, 2014 34 次提交