Lines Matching full:synchronous
43 * SAI supports synchronous mode using bit/frame clocks of either Transmitter's
55 return !sai->synchronous[dir] && sai->synchronous[adir]; in fsl_sai_dir_is_synced()
411 * 4) For Tx and Rx are both Synchronous with another SAI, we just in fsl_sai_set_bclk()
420 } else if (!sai->synchronous[dir]) { in fsl_sai_set_bclk()
598 sai->synchronous[TX] ? FSL_SAI_CR2_SYNC : 0); in fsl_sai_trigger()
600 sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0); in fsl_sai_trigger()
616 * Enable the opposite direction for synchronous mode in fsl_sai_trigger()
645 * If opposite stream provides clocks for synchronous mode and in fsl_sai_trigger()
653 * 1. current stream doesn't provide clocks for synchronous mode in fsl_sai_trigger()
654 * 2. current stream provides clocks for synchronous mode but no in fsl_sai_trigger()
1070 sai->synchronous[RX] = true; in fsl_sai_probe()
1071 sai->synchronous[TX] = false; in fsl_sai_probe()
1076 if (of_find_property(np, "fsl,sai-synchronous-rx", NULL) && in fsl_sai_probe()
1078 /* error out if both synchronous and asynchronous are present */ in fsl_sai_probe()
1079 dev_err(&pdev->dev, "invalid binding for synchronous mode\n"); in fsl_sai_probe()
1083 if (of_find_property(np, "fsl,sai-synchronous-rx", NULL)) { in fsl_sai_probe()
1085 sai->synchronous[RX] = false; in fsl_sai_probe()
1086 sai->synchronous[TX] = true; in fsl_sai_probe()
1089 sai->synchronous[RX] = false; in fsl_sai_probe()
1090 sai->synchronous[TX] = false; in fsl_sai_probe()