From patchwork Tue Sep 28 01:11:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Victor Rodriguez X-Patchwork-Id: 213912 Received: from comal.ext.ti.com (comal.ext.ti.com [198.47.26.152]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o8S1Ddsk019335 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 28 Sep 2010 01:14:11 GMT Received: from dlep34.itg.ti.com ([157.170.170.115]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id o8S1BsWQ000776 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 27 Sep 2010 20:11:54 -0500 Received: from linux.omap.com (localhost [127.0.0.1]) by dlep34.itg.ti.com (8.13.7/8.13.7) with ESMTP id o8S1Bqr5029121; Mon, 27 Sep 2010 20:11:52 -0500 (CDT) Received: from linux.omap.com (localhost [127.0.0.1]) by linux.omap.com (Postfix) with ESMTP id 46FA680627; Mon, 27 Sep 2010 20:11:52 -0500 (CDT) X-Original-To: davinci-linux-open-source@linux.davincidsp.com Delivered-To: davinci-linux-open-source@linux.davincidsp.com Received: from dflp51.itg.ti.com (dflp51.itg.ti.com [128.247.22.94]) by linux.omap.com (Postfix) with ESMTP id 3A9B980626 for ; Mon, 27 Sep 2010 20:11:51 -0500 (CDT) Received: from neches.ext.ti.com (localhost [127.0.0.1]) by dflp51.itg.ti.com (8.13.7/8.13.7) with ESMTP id o8S1BohT004574 for ; Mon, 27 Sep 2010 20:11:50 -0500 (CDT) Received: from psmtp.com (na3sys009amx194.postini.com [74.125.149.175]) by neches.ext.ti.com (8.13.7/8.13.7) with SMTP id o8S1Bnfn004886 for ; Mon, 27 Sep 2010 20:11:50 -0500 Received: from source ([209.85.214.173]) by na3sys009amx194.postini.com ([74.125.148.10]) with SMTP; Mon, 27 Sep 2010 18:11:50 PDT Received: by iwn38 with SMTP id 38so5894147iwn.4 for ; Mon, 27 Sep 2010 18:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=YvOE0DWD34WC2ZD3u0xJi8VrGVVF9mGbvH8MBNrsBfE=; b=SLNmarRzHhMa1l+cE7mcNA2y6UtjmMXlaL2bhLosDlk4C9gszez/5Olssq/tdiLRPV 9OVKzcq6Z/56qkVtTP7w8g4GybchDhVyZbQMP1l4uI71L5NWnmtpTNrobqcHgYMLai/o 4XoRT4K0gxxMF80CXhdjNllTfoTybvEkIt0oQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=FE8uoeK8uEye7KlDY4mzQDn8vkIzbTICXQTFAGUeiGrTKgmQI90BSwOJGmfpabFP/u TjvZziJHuVOg1aw2zy07goWqaU7HuG/fi/OjkXf7sDvcC3GXqxGD4GJePMHSqMWFcy6Z GwK1xoDgiKzbv/WdZDJ11T6HmQvK9WaGy1mrA= MIME-Version: 1.0 Received: by 10.42.1.20 with SMTP id 20mr3026009ice.26.1285636309235; Mon, 27 Sep 2010 18:11:49 -0700 (PDT) Received: by 10.42.171.196 with HTTP; Mon, 27 Sep 2010 18:11:49 -0700 (PDT) Date: Mon, 27 Sep 2010 20:11:49 -0500 Message-ID: Subject: Problem with McASP configuration From: Victor Rodriguez To: davinci-linux-open-source@linux.davincidsp.com, Caglar Akyuz , "Nori, Sekhar" , "Syed Mohammed, Khasim" X-pstn-neptune: 0/0/0.00/0 X-pstn-levels: (S:84.17506/99.90000 CV:99.9000 FC:95.5390 LC:95.5390 R:95.9108 P:95.9108 M:97.0282 C:98.6951 ) X-pstn-settings: 2 (0.5000:0.0750) s cv GT3 gt2 gt1 r p m c X-pstn-addresses: from [db-null] X-BeenThere: davinci-linux-open-source@linux.davincidsp.com X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: davinci-linux-open-source-bounces@linux.davincidsp.com Errors-To: davinci-linux-open-source-bounces@linux.davincidsp.com X-Greylist: Sender succeeded STARTTLS authentication, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Tue, 28 Sep 2010 01:14:11 +0000 (UTC) From ee3f2c10d8adcd0cf2dae3cc329abb72480a58fb Mon Sep 17 00:00:00 2001 From: Victor Rodriguez Date: Mon, 27 Sep 2010 17:44:43 -0500 Subject: [PATCH v1] davinci: AUDIO support for Omapl138-Hawkboard This patch adds AUDIO support for the Hawkboard-L138 system It is under the machine name "omapl138_hawkboard". This system is based on the da850 davinci CPU architecture. Signed-off-by: Victor Rodriguez --- arch/arm/configs/da8xx_omapl_defconfig | 9 +++-- arch/arm/mach-davinci/board-omapl138-hawk.c | 52 +++++++++++++++++++++++++++ arch/arm/mach-davinci/da850.c | 2 +- sound/soc/davinci/Kconfig | 4 +- sound/soc/davinci/davinci-evm.c | 6 ++- 5 files changed, 64 insertions(+), 9 deletions(-) diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig index cdc40c4..6b5cee5 100644 --- a/arch/arm/configs/da8xx_omapl_defconfig +++ b/arch/arm/configs/da8xx_omapl_defconfig @@ -88,10 +88,11 @@ CONFIG_FB_DA8XX=y # CONFIG_VGA_CONSOLE is not set CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_LOGO=y -CONFIG_SOUND=m -CONFIG_SND=m -CONFIG_SND_SOC=m -CONFIG_SND_DAVINCI_SOC=m +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=y +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DA850_SOC_EVM=y # CONFIG_HID_SUPPORT is not set # CONFIG_USB_SUPPORT is not set CONFIG_EXT2_FS=y diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index fd1f458..cdbbdf8 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -69,16 +70,67 @@ static int __init omapl138_hawk_config_emac(void) } device_initcall(omapl138_hawk_config_emac); +static struct i2c_board_info __initdata omapl138_hawk_i2c_devices[] = { + { + I2C_BOARD_INFO("tlv320aic3x", 0x18), + }, +}; + +static struct davinci_i2c_platform_data omapl138_hawk_i2c_0_pdata = { + .bus_freq = 100, /* kHz */ + .bus_delay = 0, /* usec */ +}; + static struct davinci_uart_config omapl138_hawk_uart_config __initdata = { .enabled_uarts = 0x7, }; +/* davinci da850 evm audio machine driver */ +static u8 da850_iis_serializer_direction[] = { + INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, + INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, + INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, + INACTIVE_MODE, TX_MODE, RX_MODE, INACTIVE_MODE, +}; + +static struct snd_platform_data omapl138_hawk_snd_data = { + .tx_dma_offset = 0x2000, + .rx_dma_offset = 0x2000, + .op_mode = DAVINCI_MCASP_IIS_MODE, + .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction), + .tdm_slots = 2, + .serial_dir = da850_iis_serializer_direction, + .asp_chan_q = EVENTQ_1, + .version = MCASP_VERSION_2, + .txnumevt = 1, + .rxnumevt = 1, +}; + static __init void omapl138_hawk_init(void) { int ret; + /* UART */ davinci_serial_init(&omapl138_hawk_uart_config); + /* I2C */ + i2c_register_board_info(1, omapl138_hawk_i2c_devices, + ARRAY_SIZE(omapl138_hawk_i2c_devices)); + + ret = da8xx_register_i2c(0, &omapl138_hawk_i2c_0_pdata); + if (ret) + pr_warning("omapl138_hawk_init: " + "i2c0 registration failed: %d\n", + ret); + /* AUDIO*/ + ret = davinci_cfg_reg_list(da850_mcasp_pins); + if (ret) + pr_warning("omapl138_hawk_init: " + "mcasp mux setup failed: %d\n", + ret); + da8xx_register_mcasp(0, &omapl138_hawk_snd_data); + + /* WDT */ ret = da8xx_register_watchdog(); if (ret) pr_warning("omapl138_hawk_init: " diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index 63916b9..f033a0a 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c @@ -591,7 +591,7 @@ const short da850_cpgmac_pins[] __initdata = { const short da850_mcasp_pins[] __initdata = { DA850_AHCLKX, DA850_ACLKX, DA850_AFSX, DA850_AHCLKR, DA850_ACLKR, DA850_AFSR, DA850_AMUTE, - DA850_AXR_11, DA850_AXR_12, + DA850_AXR_11, DA850_AXR_12, DA850_AXR_13, DA850_AXR_14, -1 }; diff --git a/sound/soc/davinci/Kconfig b/sound/soc/davinci/Kconfig index 6bbf001..838182f 100644 --- a/sound/soc/davinci/Kconfig +++ b/sound/soc/davinci/Kconfig @@ -76,8 +76,8 @@ config SND_DA830_SOC_EVM DA830/OMAP-L137 EVM config SND_DA850_SOC_EVM - tristate "SoC Audio support for DA850/OMAP-L138 EVM" - depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA850_EVM + tristate "SoC Audio support for DA850/OMAP-L138/AM18xx EVM / Hawkboard" + depends on SND_DAVINCI_SOC && (MACH_DAVINCI_DA850_EVM || MACH_OMAPL138_HAWKBOARD) select SND_DAVINCI_SOC_MCASP select SND_SOC_TLV320AIC3X help diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c index 97f74d6..73093eb 100644 --- a/sound/soc/davinci/davinci-evm.c +++ b/sound/soc/davinci/davinci-evm.c @@ -59,7 +59,8 @@ static int evm_hw_params(struct snd_pcm_substream *substream, sysclk = 12288000; else if (machine_is_davinci_da830_evm() || - machine_is_davinci_da850_evm()) + machine_is_davinci_da850_evm() || + machine_is_omapl138_hawkboard()) sysclk = 24576000; else @@ -311,7 +312,8 @@ static int __init evm_init(void) } else if (machine_is_davinci_da830_evm()) { evm_snd_dev_data = &da830_evm_snd_devdata; index = 1; - } else if (machine_is_davinci_da850_evm()) { + } else if (machine_is_davinci_da850_evm() || + machine_is_omapl138_hawkboard()) { evm_snd_dev_data = &da850_evm_snd_devdata; index = 0; } else -- 1.6.0.5