summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2012-11-06 03:30:38 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-06 09:54:42 +0100
commitab6f6d85210c4d0265cf48e9958c04e08595055a (patch)
tree95a3371ac6700bc5b7d351b93a2190ec48e65416 /include/sound
parentASoC: fsi: care fsi_hw_start/stop() return value (diff)
downloadlinux-ab6f6d85210c4d0265cf48e9958c04e08595055a.tar.xz
linux-ab6f6d85210c4d0265cf48e9958c04e08595055a.zip
ASoC: fsi: add master clock control functions
Current FSI driver required set_rate() platform callback function to set audio clock if it was master mode, because it seemed that CPG/FSI-DIV clocks calculation depend on platform/board/cpu. But it was calculable regardless of platform. This patch supports audio clock calculation method, but the sampling rate under 32kHz is not supported at this point. Old type set_rate() is still supported now, but it will be deleted on next version Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/sh_fsi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/sound/sh_fsi.h b/include/sound/sh_fsi.h
index 906010344dd7..27ee1dcc3e2e 100644
--- a/include/sound/sh_fsi.h
+++ b/include/sound/sh_fsi.h
@@ -26,6 +26,7 @@
* A: inversion
* B: format mode
* C: chip specific
+ * D: clock selecter if master mode
*/
/* A: clock inversion */
@@ -44,6 +45,11 @@
#define SH_FSI_OPTION_MASK 0x00000F00
#define SH_FSI_ENABLE_STREAM_MODE (1 << 8) /* for 16bit data */
+/* D: clock selecter if master mode */
+#define SH_FSI_CLK_MASK 0x0000F000
+#define SH_FSI_CLK_EXTERNAL (1 << 12)
+#define SH_FSI_CLK_CPG (2 << 12) /* FSIxCK + FSI-DIV */
+
/*
* set_rate return value
*