From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?q?Eric=20B=C3=A9nard?= Subject: [PATCH v2 3/4] eukrea_mbimx27: add audio codec Date: Thu, 27 May 2010 10:58:56 +0200 Message-ID: <1274950737-26498-3-git-send-email-eric@eukrea.com> References: <1274950737-26498-1-git-send-email-eric@eukrea.com> <1274950737-26498-2-git-send-email-eric@eukrea.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp2-g21.free.fr (smtp2-g21.free.fr [212.27.42.2]) by alsa0.perex.cz (Postfix) with ESMTP id A9878103A29 for ; Thu, 27 May 2010 10:59:13 +0200 (CEST) In-Reply-To: <1274950737-26498-2-git-send-email-eric@eukrea.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: linux-arm-kernel@lists.infradead.org Cc: alsa-devel@alsa-project.org, Mark Brown , Sascha Hauer , Liam Girdwood List-Id: alsa-devel@alsa-project.org U2lnbmVkLW9mZi1ieTogRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CkNjOiBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNjOiBNYXJrIEJyb3duIDxicm9vbmllQG9w ZW5zb3VyY2Uud29sZnNvbm1pY3JvLmNvbT4KQ2M6IExpYW0gR2lyZHdvb2QgPGxyZ0BzbGltbG9n aWMuY28udWs+Ci0tLQogYXJjaC9hcm0vbWFjaC1teDIvZXVrcmVhX21iaW14MjctYmFzZWJvYXJk LmMgfCAgIDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGVzIGNoYW5nZWQsIDQz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFj aC1teDIvZXVrcmVhX21iaW14MjctYmFzZWJvYXJkLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9ldWty ZWFfbWJpbXgyNy1iYXNlYm9hcmQuYwppbmRleCA5MDM4ZTFmLi5lN2ZkNjVhIDEwMDY0NAotLS0g YS9hcmNoL2FybS9tYWNoLW14Mi9ldWtyZWFfbWJpbXgyNy1iYXNlYm9hcmQuYworKysgYi9hcmNo L2FybS9tYWNoLW14Mi9ldWtyZWFfbWJpbXgyNy1iYXNlYm9hcmQuYwpAQCAtMSw1ICsxLDUgQEAK IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgRXJpYyBCZW5hcmQgLSBlcmljQGV1a3JlYS5jb20K KyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIEVyaWMgQmVuYXJkIC0gZXJpY0BldWtyZWEuY29t CiAgKgogICogQmFzZWQgb24gcGNtOTcwLWJhc2Vib2FyZC5jIHdoaWNoIGlzIDoKICAqIENvcHly aWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKQEAg LTM3LDYgKzM3LDggQEAKICNpbmNsdWRlIDxtYWNoL21tYy5oPgogI2luY2x1ZGUgPG1hY2gvaW14 LXVhcnQuaD4KICNpbmNsdWRlIDxtYWNoL3NwaS5oPgorI2luY2x1ZGUgPG1hY2gvc3NpLmg+Cisj aW5jbHVkZSA8bWFjaC9hdWRtdXguaD4KIAogI2luY2x1ZGUgImRldmljZXMuaCIKIApAQCAtOTMs NiArOTUsMTMgQEAgc3RhdGljIGludCBldWtyZWFfbWJpbXgyN19waW5zW10gPSB7CiAJUEQyOV9Q Rl9DU1BJMV9TQ0xLLAogCVBEMzBfUEZfQ1NQSTFfTUlTTywKIAlQRDMxX1BGX0NTUEkxX01PU0ks CisJLyogU1NJNCAqLworI2lmIGRlZmluZWQoQ09ORklHX1NORF9TT0NfRVVLUkVBX1RMVjMyMCkK KwlQQzE2X1BGX1NTSTRfRlMsCisJUEMxN19QRl9TU0k0X1JYRCB8IEdQSU9fUFVFTiwKKwlQQzE4 X1BGX1NTSTRfVFhEIHwgR1BJT19QVUVOLAorCVBDMTlfUEZfU1NJNF9DTEssCisjZW5kaWYKIH07 CiAKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBldWtyZWFfbWJpbXgyN19rZXltYXBbXSA9IHsKQEAg LTI5Miw2ICszMDEsMTIgQEAgc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBldWtyZWFfbWJp bXgyN19zcGlfYm9hcmRfaW5mb1tdIF9faW5pdGRhdGEgPSB7CiAJfSwKIH07CiAKK3N0YXRpYyBz dHJ1Y3QgaTJjX2JvYXJkX2luZm8gZXVrcmVhX21iaW14MjdfaTJjX2RldmljZXNbXSA9IHsKKwl7 CisJCUkyQ19CT0FSRF9JTkZPKCJ0bHYzMjBhaWMyMyIsIDB4MWEpLAorCX0sCit9OworCiBzdGF0 aWMgaW50IGV1a3JlYV9tYmlteDI3X3NwaV9jc1tdID0ge0dQSU9fUE9SVEQgfCAyOH07CiAKIHN0 YXRpYyBzdHJ1Y3Qgc3BpX2lteF9tYXN0ZXIgZXVrcmVhX21iaW14Mjdfc3BpXzBfZGF0YSA9IHsK QEAgLTMwOCw2ICszMjMsMTAgQEAgc3RhdGljIHN0cnVjdCBpbXhtbWNfcGxhdGZvcm1fZGF0YSBz ZGhjX3BkYXRhID0gewogCS5kYXQzX2NhcmRfZGV0ZWN0ID0gMSwKIH07CiAKK3N0cnVjdCBpbXhf c3NpX3BsYXRmb3JtX2RhdGEgZXVrcmVhX21iaW14Mjdfc3NpX3BkYXRhID0geworCS5mbGFncyA9 IElNWF9TU0lfRE1BIHwgSU1YX1NTSV9VU0VfSTJTX1NMQVZFLAorfTsKKwogLyoKICAqIHN5c3Rl bSBpbml0IGZvciBiYXNlYm9hcmQgdXNhZ2UuIFdpbGwgYmUgY2FsbGVkIGJ5IGNwdWlteDI3IGlu aXQuCiAgKgpAQCAtMzE5LDYgKzMzOCwyNCBAQCB2b2lkIF9faW5pdCBldWtyZWFfbWJpbXgyN19i YXNlYm9hcmRfaW5pdCh2b2lkKQogCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMoZXVrcmVh X21iaW14MjdfcGlucywKIAkJQVJSQVlfU0laRShldWtyZWFfbWJpbXgyN19waW5zKSwgIk1CSU1Y MjciKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX1NORF9TT0NfRVVLUkVBX1RMVjMyMCkKKwkvKiBT U0kgdW5pdCBtYXN0ZXIgSTJTIGNvZGVjIGNvbm5lY3RlZCB0byBTU0lfUElOU180Ki8KKwlteGNf YXVkbXV4X3YxX2NvbmZpZ3VyZV9wb3J0KE1YMjdfQVVETVVYX0hQQ1IxX1NTSTAsCisJCQlNWENf QVVETVVYX1YxX1BDUl9TWU4gfAorCQkJTVhDX0FVRE1VWF9WMV9QQ1JfVEZTRElSIHwKKwkJCU1Y Q19BVURNVVhfVjFfUENSX1RDTEtESVIgfAorCQkJTVhDX0FVRE1VWF9WMV9QQ1JfUkZTRElSIHwK KwkJCU1YQ19BVURNVVhfVjFfUENSX1JDTEtESVIgfAorCQkJTVhDX0FVRE1VWF9WMV9QQ1JfVEZD U0VMKE1YMjdfQVVETVVYX0hQQ1IzX1NTSV9QSU5TXzQpIHwKKwkJCU1YQ19BVURNVVhfVjFfUENS X1JGQ1NFTChNWDI3X0FVRE1VWF9IUENSM19TU0lfUElOU180KSB8CisJCQlNWENfQVVETVVYX1Yx X1BDUl9SWERTRUwoTVgyN19BVURNVVhfSFBDUjNfU1NJX1BJTlNfNCkKKwkpOworCW14Y19hdWRt dXhfdjFfY29uZmlndXJlX3BvcnQoTVgyN19BVURNVVhfSFBDUjNfU1NJX1BJTlNfNCwKKwkJCU1Y Q19BVURNVVhfVjFfUENSX1NZTiB8CisJCQlNWENfQVVETVVYX1YxX1BDUl9SWERTRUwoTVgyN19B VURNVVhfSFBDUjFfU1NJMCkKKwkpOworI2VuZGlmCisKIAlteGNfcmVnaXN0ZXJfZGV2aWNlKCZt eGNfdWFydF9kZXZpY2UxLCAmdWFydF9wZGF0YVswXSk7CiAJbXhjX3JlZ2lzdGVyX2RldmljZSgm bXhjX3VhcnRfZGV2aWNlMiwgJnVhcnRfcGRhdGFbMV0pOwogI2lmICFkZWZpbmVkKE1BQ0hfRVVL UkVBX0NQVUlNWDI3X1VTRVVBUlQ0KQpAQCAtMzI4LDYgKzM2NSwxMSBAQCB2b2lkIF9faW5pdCBl dWtyZWFfbWJpbXgyN19iYXNlYm9hcmRfaW5pdCh2b2lkKQogCW14Y19yZWdpc3Rlcl9kZXZpY2Uo Jm14Y19mYl9kZXZpY2UsICZldWtyZWFfbWJpbXgyN19mYl9kYXRhKTsKIAlteGNfcmVnaXN0ZXJf ZGV2aWNlKCZteGNfc2RoY19kZXZpY2UwLCAmc2RoY19wZGF0YSk7CiAKKwlpMmNfcmVnaXN0ZXJf Ym9hcmRfaW5mbygwLCBldWtyZWFfbWJpbXgyN19pMmNfZGV2aWNlcywKKwkJCQlBUlJBWV9TSVpF KGV1a3JlYV9tYmlteDI3X2kyY19kZXZpY2VzKSk7CisKKwlteGNfcmVnaXN0ZXJfZGV2aWNlKCZp bXhfc3NpX2RldmljZTAsICZldWtyZWFfbWJpbXgyN19zc2lfcGRhdGEpOworCiAjaWYgZGVmaW5l ZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgXAogCXx8IGRlZmluZWQoQ09ORklHX1RPVUNI U0NSRUVOX0FEUzc4NDZfTU9EVUxFKQogCS8qIEFEUzc4NDYgVG91Y2hzY3JlZW4gY29udHJvbGxl ciBpbml0ICovCi0tIAoxLjYuMy4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJv amVjdC5vcmcKaHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L2Fsc2EtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: eric@eukrea.com (=?utf-8?q?Eric=20B=C3=A9nard?=) Date: Thu, 27 May 2010 10:58:56 +0200 Subject: [PATCH v2 3/4] eukrea_mbimx27: add audio codec In-Reply-To: <1274950737-26498-2-git-send-email-eric@eukrea.com> References: <1274950737-26498-1-git-send-email-eric@eukrea.com> <1274950737-26498-2-git-send-email-eric@eukrea.com> Message-ID: <1274950737-26498-3-git-send-email-eric@eukrea.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Signed-off-by: Eric B?nard Cc: Sascha Hauer Cc: Mark Brown Cc: Liam Girdwood --- arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c | 44 +++++++++++++++++++++++++- 1 files changed, 43 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c b/arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c index 9038e1f..e7fd65a 100644 --- a/arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c +++ b/arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Eric Benard - eric at eukrea.com + * Copyright (C) 2009-2010 Eric Benard - eric at eukrea.com * * Based on pcm970-baseboard.c which is : * Copyright (C) 2008 Juergen Beisert (kernel at pengutronix.de) @@ -37,6 +37,8 @@ #include #include #include +#include +#include #include "devices.h" @@ -93,6 +95,13 @@ static int eukrea_mbimx27_pins[] = { PD29_PF_CSPI1_SCLK, PD30_PF_CSPI1_MISO, PD31_PF_CSPI1_MOSI, + /* SSI4 */ +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + PC16_PF_SSI4_FS, + PC17_PF_SSI4_RXD | GPIO_PUEN, + PC18_PF_SSI4_TXD | GPIO_PUEN, + PC19_PF_SSI4_CLK, +#endif }; static const uint32_t eukrea_mbimx27_keymap[] = { @@ -292,6 +301,12 @@ static struct spi_board_info eukrea_mbimx27_spi_board_info[] __initdata = { }, }; +static struct i2c_board_info eukrea_mbimx27_i2c_devices[] = { + { + I2C_BOARD_INFO("tlv320aic23", 0x1a), + }, +}; + static int eukrea_mbimx27_spi_cs[] = {GPIO_PORTD | 28}; static struct spi_imx_master eukrea_mbimx27_spi_0_data = { @@ -308,6 +323,10 @@ static struct imxmmc_platform_data sdhc_pdata = { .dat3_card_detect = 1, }; +struct imx_ssi_platform_data eukrea_mbimx27_ssi_pdata = { + .flags = IMX_SSI_DMA | IMX_SSI_USE_I2S_SLAVE, +}; + /* * system init for baseboard usage. Will be called by cpuimx27 init. * @@ -319,6 +338,24 @@ void __init eukrea_mbimx27_baseboard_init(void) mxc_gpio_setup_multiple_pins(eukrea_mbimx27_pins, ARRAY_SIZE(eukrea_mbimx27_pins), "MBIMX27"); +#if defined(CONFIG_SND_SOC_EUKREA_TLV320) + /* SSI unit master I2S codec connected to SSI_PINS_4*/ + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_TFSDIR | + MXC_AUDMUX_V1_PCR_TCLKDIR | + MXC_AUDMUX_V1_PCR_RFSDIR | + MXC_AUDMUX_V1_PCR_RCLKDIR | + MXC_AUDMUX_V1_PCR_TFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RFCSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR3_SSI_PINS_4) + ); + mxc_audmux_v1_configure_port(MX27_AUDMUX_HPCR3_SSI_PINS_4, + MXC_AUDMUX_V1_PCR_SYN | + MXC_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) + ); +#endif + mxc_register_device(&mxc_uart_device1, &uart_pdata[0]); mxc_register_device(&mxc_uart_device2, &uart_pdata[1]); #if !defined(MACH_EUKREA_CPUIMX27_USEUART4) @@ -328,6 +365,11 @@ void __init eukrea_mbimx27_baseboard_init(void) mxc_register_device(&mxc_fb_device, &eukrea_mbimx27_fb_data); mxc_register_device(&mxc_sdhc_device0, &sdhc_pdata); + i2c_register_board_info(0, eukrea_mbimx27_i2c_devices, + ARRAY_SIZE(eukrea_mbimx27_i2c_devices)); + + mxc_register_device(&imx_ssi_device0, &eukrea_mbimx27_ssi_pdata); + #if defined(CONFIG_TOUCHSCREEN_ADS7846) \ || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) /* ADS7846 Touchscreen controller init */ -- 1.6.3.3