/* * arch/arm/mach-tegra/include/mach/tegra3_i2s.h * * Copyright (c) 2010-2011, NVIDIA Corporation. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __ARCH_ARM_MACH_TEGRA3_I2S_H #define __ARCH_ARM_MACH_TEGRA3_I2S_H #include #include #include #include #include #define NR_I2S_IFC 5 /* * I2S RegisterBase offsets from the Audio * cluster base */ #define TEGRA_I2S0_BASE_OFFSET 0x300 #define TEGRA_I2S1_BASE_OFFSET 0x400 #define TEGRA_I2S2_BASE_OFFSET 0x500 #define TEGRA_I2S3_BASE_OFFSET 0x600 #define TEGRA_I2S4_BASE_OFFSET 0x700 /* Register Offsets from TEGRA_I2S_BASE */ #define I2S_CTRL_0 0x0 #define I2S_TIMING_0 0x4 #define I2S_OFFSET_0 0x08 #define I2S_CH_CTRL_0 0x0c #define I2S_SLOT_CTRL_0 0x10 #define I2S_AUDIOCIF_I2STX_CTRL_0 0x14 #define I2S_AUDIOCIF_I2SRX_CTRL_0 0x18 #define I2S_FLOWCTL_0 0x1c #define I2S_TX_STEP_0 0x20 #define I2S_FLOW_STATUS_0 0x24 #define I2S_FLOW_TOTAL_0 0x28 #define I2S_FLOW_OVER_0 0x2c #define I2S_LCOEF_1_4_0_0 0x34 #define I2S_LCOEF_1_4_1_0 0x38 #define I2S_LCOEF_1_4_2_0 0x3c #define I2S_LCOEF_1_4_3_0 0x40 #define I2S_LCOEF_1_4_4_0 0x44 #define I2S_LCOEF_1_4_5_0 0x48 #define I2S_LCOEF_2_4_0_0 0x4c #define I2S_LCOEF_2_4_1_0 0x50 #define I2S_LCOEF_2_4_2_0 0x54 #define I2S_REG_MAXINDEX (I2S_LCOEF_2_4_2_0 >> 2) /* * I2S_CTRL_0 */ #define I2S_CTRL_XFER_EN_TX (1<<31) #define I2S_CTRL_XFER_EN_RX (1<<30) #define I2S_CTRL_CG_EN (1<<29) #define I2S_CTRL_SOFT_RESET (1<<28) #define I2S_CTRL_TX_FLOWCTL_EN (1<<27) #define I2S_CTRL_OBS_SEL (1<<24) #define I2S_CTRL_FRAME_FORMAT_SHIFT 12 #define I2S_CTRL_FRAME_FORMAT_MASK \ (0x7<