summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra30_ahub.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-03-21 19:56:41 (GMT)
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-03-25 15:56:35 (GMT)
commit95d36075694b0431da22c3aef3d0dccdcc781344 (patch)
tree3d2b6dac4916870d4bfa3083ba653ebc5c97b9bc /sound/soc/tegra/tegra30_ahub.h
parent8f5f5e0f459d37273f841e3f8da38b4e242c8e94 (diff)
downloadlinux-fsl-qoriq-95d36075694b0431da22c3aef3d0dccdcc781344.tar.xz
ASoC: tegra: add Tegra114 support to the AHUB driver
Tegra114's AHUB shares a design with Tegra30, with the followin changes: * Supports more (10 vs. 4) bi-directional FIFO channels into RAM. * Requires a separate block of registers to support the above. * Supports more attached clients, i.e. new audio multiplexing and de-multiplexing modules. * Is affected by more clocks due to the above. This change fully defines the device tree binding changes required to represent these changes, and minimally extends the driver to support the new hardware, without exposing any of the new FIFO channels. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/tegra/tegra30_ahub.h')
-rw-r--r--sound/soc/tegra/tegra30_ahub.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra30_ahub.h b/sound/soc/tegra/tegra30_ahub.h
index e690e2e..7189be9 100644
--- a/sound/soc/tegra/tegra30_ahub.h
+++ b/sound/soc/tegra/tegra30_ahub.h
@@ -468,7 +468,23 @@ extern int tegra30_ahub_set_rx_cif_source(enum tegra30_ahub_rxcif rxcif,
enum tegra30_ahub_txcif txcif);
extern int tegra30_ahub_unset_rx_cif_source(enum tegra30_ahub_rxcif rxcif);
+struct tegra30_ahub_soc_data {
+ u32 clk_list_mask;
+ /*
+ * FIXME: There are many more differences in HW, such as:
+ * - More APBIF channels.
+ * - Extra separate chunks of register address space to represent
+ * the extra APBIF channels.
+ * - More units connected to the AHUB, so that tegra30_ahub_[rt]xcif
+ * need expansion, coupled with there being more defined bits in
+ * the AHUB routing registers.
+ * However, the driver doesn't support those new features yet, so we
+ * don't represent them here yet.
+ */
+};
+
struct tegra30_ahub {
+ const struct tegra30_ahub_soc_data *soc_data;
struct device *dev;
struct clk *clk_d_audio;
struct clk *clk_apbif;