1/* 2 * omap-mcbsp.h 3 * 4 * Copyright (C) 2008 Nokia Corporation 5 * 6 * Contact: Jarkko Nikula <jhnikula@gmail.com> 7 * Peter Ujfalusi <peter.ujfalusi@nokia.com> 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License 11 * version 2 as published by the Free Software Foundation. 12 * 13 * This program is distributed in the hope that it will be useful, but 14 * WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 21 * 02110-1301 USA 22 * 23 */ 24 25#ifndef __OMAP_I2S_H__ 26#define __OMAP_I2S_H__ 27 28/* Source clocks for McBSP sample rate generator */ 29enum omap_mcbsp_clksrg_clk { 30 OMAP_MCBSP_SYSCLK_CLKS_FCLK, /* Internal FCLK */ 31 OMAP_MCBSP_SYSCLK_CLKS_EXT, /* External CLKS pin */ 32 OMAP_MCBSP_SYSCLK_CLK, /* Internal ICLK */ 33 OMAP_MCBSP_SYSCLK_CLKX_EXT, /* External CLKX pin */ 34 OMAP_MCBSP_SYSCLK_CLKR_EXT, /* External CLKR pin */ 35 OMAP_MCBSP_CLKR_SRC_CLKR, /* CLKR from CLKR pin */ 36 OMAP_MCBSP_CLKR_SRC_CLKX, /* CLKR from CLKX pin */ 37 OMAP_MCBSP_FSR_SRC_FSR, /* FSR from FSR pin */ 38 OMAP_MCBSP_FSR_SRC_FSX, /* FSR from FSX pin */ 39}; 40 41/* McBSP dividers */ 42enum omap_mcbsp_div { 43 OMAP_MCBSP_CLKGDV, /* Sample rate generator divider */ 44}; 45 46#if defined(CONFIG_ARCH_OMAP2420) 47#define NUM_LINKS 2 48#endif 49#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) 50#undef NUM_LINKS 51#define NUM_LINKS 3 52#endif 53#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) 54#undef NUM_LINKS 55#define NUM_LINKS 5 56#endif 57 58extern struct snd_soc_dai omap_mcbsp_dai[NUM_LINKS]; 59 60int omap_mcbsp_st_add_controls(struct snd_soc_codec *codec, int mcbsp_id); 61 62#endif 63