2 * arch/arm/mach-tegra/include/mach/audio.h
4 * Copyright (C) 2010 Google, Inc.
7 * Iliyan Malchev <malchev@google.com>
9 * This software is licensed under the terms of the GNU General Public
10 * License version 2, as published by the Free Software Foundation, and
11 * may be copied, distributed, and modified under those terms.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
20 #ifndef __ARCH_ARM_MACH_TEGRA_AUDIO_H
21 #define __ARCH_ARM_MACH_TEGRA_AUDIO_H
23 #include <linux/kernel.h>
24 #include <linux/types.h>
30 /* FIXME: this is not enforced by the hardware. */
31 #define I2S_FIFO_TX FIFO1
32 #define I2S_FIFO_RX FIFO2
34 #define TEGRA_AUDIO_ENABLE_TX 1
35 #define TEGRA_AUDIO_ENABLE_RX 2
37 struct tegra_audio_platform_data {
40 int i2s_master_clk; /* When I2S mode and master, the framesync rate. */
41 int dsp_master_clk; /* When DSP mode and master, the framesync rate. */
43 unsigned long i2s_clk_rate;
45 const char *audio_sync_clk;
47 int mode; /* I2S, LJM, RJM, etc. */
50 int i2s_bus_width; /* 32-bit for 16-bit packed I2S */
51 int dsp_bus_width; /* 16-bit for DSP data format */
52 int mask; /* enable tx and rx? */
53 bool stereo_capture; /* True if hardware supports stereo */
57 #endif /* __ARCH_ARM_MACH_TEGRA_AUDIO_H */