From patchwork Tue Oct 6 07:29:39 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lopez Cruz, Misael" X-Patchwork-Id: 51888 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n967VHcH028646 for ; Tue, 6 Oct 2009 07:31:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753635AbZJFHaY (ORCPT ); Tue, 6 Oct 2009 03:30:24 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754522AbZJFHaY (ORCPT ); Tue, 6 Oct 2009 03:30:24 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:40308 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753635AbZJFHaX convert rfc822-to-8bit (ORCPT ); Tue, 6 Oct 2009 03:30:23 -0400 Received: from dlep36.itg.ti.com ([157.170.170.91]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id n967Tf2G028475 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Oct 2009 02:29:41 -0500 Received: from dlep26.itg.ti.com (localhost [127.0.0.1]) by dlep36.itg.ti.com (8.13.8/8.13.8) with ESMTP id n967Tffr020032; Tue, 6 Oct 2009 02:29:41 -0500 (CDT) Received: from dlee73.ent.ti.com (localhost [127.0.0.1]) by dlep26.itg.ti.com (8.13.8/8.13.8) with ESMTP id n967Tfos006043; Tue, 6 Oct 2009 02:29:41 -0500 (CDT) Received: from dlee04.ent.ti.com ([157.170.170.9]) by dlee73.ent.ti.com ([157.170.170.88]) with mapi; Tue, 6 Oct 2009 02:29:41 -0500 From: "Lopez Cruz, Misael" To: "alsa-devel@alsa-project.org" , "linux-omap@vger.kernel.org" CC: "Krishnamoorthy, Balaji T" , Mark Brown Date: Tue, 6 Oct 2009 02:29:39 -0500 Subject: [PATCHv3 1/7] OMAP4: PMIC: Add support for twl6030 codec Thread-Topic: [PATCHv3 1/7] OMAP4: PMIC: Add support for twl6030 codec Thread-Index: AcpGVsO4oebhaK/qRRW+KaQxanLORg== Message-ID: <67059DBF19D7214F9C66BB0EA91BA90E90C2F648@dlee04.ent.ti.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index af4cf47..6432af1 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -108,6 +108,12 @@ #define twl_has_mmc() false #endif +#if defined(CONFIG_SND_SOC_TWL6030) || defined(CONFIG_SND_SOC_TWL6030_MODULE) +#define twl_has_codec() true +#else +#define twl_has_codec() false +#endif + #if defined(CONFIG_TWL4030_USB) || defined(CONFIG_TWL4030_USB_MODULE) #define twl_has_usb() true #else @@ -190,6 +196,7 @@ #define BCI_SUB_CHIP_ID SUB_CHIP_ID1 #define GPIO_SUB_CHIP_ID 0 /* NOT SUPPORTED IN TWL6030 */ #define KEYPAD_SUB_CHIP_ID 0 /* ADDED FOR COMPILATION ONLY */ +#define CODEC_SUB_CHIP_ID SUB_CHIP_ID3 /* subchip/slave 0 0x48 - POWER */ #define TWL6030_BASEADD_RTC 0x0000 @@ -632,6 +639,14 @@ add_children(struct twl_platform_data *pdata, unsigned long features) if (IS_ERR(child)) return PTR_ERR(child); } + + if (twl_has_codec()) { + child = add_child(CODEC_SUB_CHIP_ID, "twl6030_codec", + pdata->codec, sizeof(*pdata->codec), false, + 0, 0); + if (IS_ERR(child)) + return PTR_ERR(child); + } #endif if (twl_has_usb() && pdata->usb) { diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h index b687a8b..e76ca9b 100644 --- a/include/linux/i2c/twl.h +++ b/include/linux/i2c/twl.h @@ -472,6 +472,12 @@ struct twl_usb_data { enum twl_usb_mode usb_mode; }; +struct twl_codec_data { + /* twl6030 */ + int audpwron_gpio; /* audio power-on gpio */ + int naudint_irq; /* audio interrupt */ +}; + struct twl_platform_data { unsigned irq_base, irq_end; struct twl_bci_platform_data *bci; @@ -479,6 +485,7 @@ struct twl_platform_data { struct twl_madc_platform_data *madc; struct twl_keypad_data *keypad; struct twl_usb_data *usb; + struct twl_codec_data *codec; /* LDO regulators common to TWL4030/TWL6030 */ struct regulator_init_data *vdac;