From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chih-Chiang Chang Subject: Re: [PATCH v3] ASoC: Add support for NAU8825 codec to ASoC Date: Mon, 27 Jul 2015 14:25:07 +0800 Message-ID: <55B5CEC3.6070405@nuvoton.com> References: <55A369B2.5040500@nuvoton.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from maillog.nuvoton.com (maillog.nuvoton.com [202.39.227.15]) by alsa0.perex.cz (Postfix) with ESMTP id CA247260623 for ; Mon, 27 Jul 2015 08:25:08 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Anatol Pomozov Cc: AP MS30 Linux ALSA , Lars-Peter Clausen , "tiwai@suse.de" , AP MS30 Linux Kernel community , "lgirdwood@gmail.com" , Mark Brown List-Id: alsa-devel@alsa-project.org SGkgQW5hdG9sLAoKVGhhbmtzIGZvciB5b3VyIHN1Z2dlc3Rpb24uIFdlIGFyZSB3b3JraW5nIG9u IGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzIHRvCnN1cHBvcnQgTkFVODgyNSBBTFNBIGRyaXZlciwg YW5kIEkgYWxzbyB0aGluayBpdCBpcyBiZXR0ZXIgd2UgY2FuIGhhdmUgYQpjb29wZXJhdGlvbiBm b3IgZHJpdmVyIGRldmVsb3BtZW50IGFuZCB1cHN0cmVhbS4gV2UgaGF2ZSBjaGVja2VkIHlvdXIK Y29kZSwgYW5kIHdlIHRoaW5rIHlvdXIgaW1wbGVtZW50IHZlcnNpb24gc2hvdWxkIG1vcmUgZm9s bG93IHRoZSBBTFNBCnVwc3RyZWFtIGNvZGluZyBzdGFuZGFyZHMuCgpXZSBoYXZlIGFub3RoZXIg dmVyc2lvbiBvZiBBTFNBIGRyaXZlciwgd2hpY2ggYWxzbyBzdXBwb3J0cyBtb3N0CmZlYXR1cmVz IGFzIHlvdSBsaXN0ZWQuIEFuZCBJIHRoaW5rIHlvdSBhbHJlYWR5IGdvdCBpdCBmcm9tIG91ciBI VwplbmdpbmVlcnMuIFRoZSBtYWpvciBkaWZmZXJlbmNlIGJldHdlZW4gb3VyIGFyY2hpdGVjdHVy ZXMgc2hvdWxkIGJlIHRoZQpmbG93IGFuZCBzZXF1ZW5jZSBpbiBzbGVlcCBtb2RlLCBhbmQgc29t ZSBvdGhlciBhcmNoaXRlY3R1cmUgZGVwZW5kZW5jZQpjb2Rlcy4KCkZvciB0aGUgdXBzdHJlYW0s IHdlIHRoaW5rIGl0IGlzIGJldHRlciB0byBoYXZlIG9ubHkgb25lIHZlcnNpb24gc291cmNlCmFu ZCBjb3VsZCBzdXBwb3J0IGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzLiBEbyB5b3UgYWdyZWUgdG8g dXNlIHlvdXIKdmVyc2lvbiB0byBnbyBvbiB0aGUgdXBzdHJlYW0gaW4gZnV0dXJlPyBJZiB5ZXMs IHdlIGNhbiBwb3J0IHlvdXIgZHJpdmVyCnRvIG91ciB0ZXN0IHBsYXRmb3JtLCBhbmQgdGhlbiBn aXZlIHRoZSBmZWVkYmFjayB0byB5b3UuCgpPbiAyMDE1LzcvMjMg5LiK5Y2IIDAxOjU3LCBBbmF0 b2wgUG9tb3pvdiB3cm90ZToKPiBIaSBDaGloLUNoaWFuZwo+IAo+IE9uIE1vbiwgSnVsIDEzLCAy MDE1IGF0IDEyOjMzIEFNLCBDaGloLUNoaWFuZyBDaGFuZwo+IDxjY2NoYW5nMTJAbnV2b3Rvbi5j b20+IHdyb3RlOgo+PiBUaGUgTkFVODhMMjUgaXMgYW4gdWx0cmEtbG93IHBvd2VyIGhpZ2ggcGVy Zm9ybWFuY2UgYXVkaW8gY29kZWMgZGVzaWduZWQKPj4gZm9yIHNtYXJ0cGhvbmUsIHRhYmxldCBQ QywgYW5kIG90aGVyIHBvcnRhYmxlIGRldmljZXMgYnkgTnV2b3Rvbiwgbm93Cj4+IGFkZCBsaW51 eCBkcml2ZXIgc3VwcG9ydCBmb3IgaXQuCj4gCj4gQXQgQ2hyb21lT1Mgd2Ugd29yayB3aXRoIE51 dm90b24gaHcgZW5naW5lZXJzIG9uIGRyaXZlciBmb3IgdGhpcyBuaWNlCj4gY2hpcCBhcyB3ZWxs Lgo+IAo+IEhlcmUgaXMgY3VycmVudCBkcml2ZXIgY29kZQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9h bmF0b2wvbGludXgvYmxvYi9uYXU4ODI1L3NvdW5kL3NvYy9jb2RlY3MvbmF1ODgyNS5jCj4gCj4g VGhlIGZ1bmN0aW9uYWxpdHkgaXMgbW9zdGx5IHJlYWR5LiBPdXIgZHJpdmVyIGhhbmRsZXMgcGxh eWJhY2ssCj4gY2FwdHVyZSwgbWljIGphY2sgZGV0ZWN0aW9uLCBhbiBidXR0b24gcHJlc3NlcyAo NCBidXR0b25zIGFjY29yZGluZwo+IEFuZHJvaWQgc3BlY2lmaWNhdGlvbikuIFdlIG5lZWQgdG8g cmVzb2x2ZSBhIGZldyByZW1haW5pbmcgaXNzdWVzLAo+IHN1Y2ggYXMKPiAgLSBjaGlwIG5lZWRz IGJldHRlciB3YXkgdG8gcmVjb2duaXplIGhpZ2gtaW1wZWRhbmNlIGlucHV0IChlLmcuIEJvc2UK PiBRdWlldCBDb21mb3J0IDE1IGhlYWRzZXQpCj4gIC0gaW1wbGVtZW50IGhlYWRzZXQgY3Jvc3Mg dGFsayBhdXRvbWF0aWMgY29uZmlndXJhdGlvbgo+ICAtIGdlbmVyYWwgY29kZSBjbGVhbnVwCj4g Cj4gQnV0IG90aGVyd2lzZSBkcml2ZXIgaXMgZnVuY3Rpb25hbCBhbmQgdXNlZCBmb3IgdGVzdGlu ZyBpbiBvdXIgbmV4dAo+IGdlbmVyYXRpb24gZGV2aWNlLgo+IAo+IAo+IFdoYXQgZG8geW91IHRo aW5rIGFib3V0IGpvaW5pbmcgZWZmb3J0cyBvbiB0aGlzIHNvZnR3YXJlIGRldmVsb3BtZW50Cj4g dG8gbWFrZSBncmVhdCBkcml2ZXIgZm9yIHRoaXMgY2hpcD8KPiAKPj4gU2lnbmVkLW9mZi1ieTog Q2hpaC1DaGlhbmcgQ2hhbmcgPGNjY2hhbmcxMkBudXZvdG9uLmNvbT4KPj4gLS0tCj4+IHYzLT52 MjoKPj4gICAgLSBmaXggdGhlIHdyb25nIGRlZmluaXRpb24gb2YgcmVnX2RlZmF1bHQKPj4gICAg LSBmaXggdGhlIGZsb3cgb2Ygc2V0X3N5c19jbGsoKSBhbmQgbmF1ODgyNV9zZXRfYmlhc19sZXZl bCgpCj4+ICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUgaW4gbmF1ODgyNV92b2xhdGlsZV9y ZWdpc3RlcigpIGFuZAo+PiBuYXU4ODI1X2kyY19wcm9iZSgpCj4+ICAgIC0gYWRkIHRyaWdnZXIg ZnVuY3Rpb24gZm9yIEFEQy9EQUMgY29udHJvbAo+PiAgICAtIGFkZCBzb21lIHJlZ2lzdGVyIGRl ZmluaXRpb25zCj4+ICAgIC0gZml4IHNvbWUgY29kaW5nIHN0eWxlIGlzc3Vlcwo+PiB2Mi0+djE6 Cj4+ICAgIC0gZml4ZXMgYWNjb3JkaW5nIHRvIExhcnMtUGV0ZXIgQ2xhdXNlbidzIHJldmlldyBj b21tZW50cwo+PiAgICAtIHJlbW92ZXMgdW51c2VkIHBsYXRmb3JtIGRhdGEgZmlsZQo+PiAgICAt IGNvcnJlY3RzIHRoZSBuYW1pbmcgb2YgREFQTSBpbnB1dCB3aWRnZXQKPj4gICAgLSBmaXhlcyBz b21lIHdyb25nIGNvZGluZyBvZiBTT0Mgd2lkZ2V0cyBhbmQgb3RoZXIgY29kZXMKPj4gICAgLSBh ZGRzIGRlZmluaXRpb24gYW5kIHJlbWFyayBmb3IgY29uZmlnIEZMTCBjbG9jawo+PiAgICAtIG1v dmVzIHRoZSBjb2RlIG9mIHJlc2V0IGhhcmR3YXJlIHJlZ2lzdGVycyBmcm9tIGNvZGVjX3Byb2Jl KCkgdG8KPj4gaTJjX3Byb2JlKCkKPj4gICAgLSByZW1vdmVzIHVudXNlZCBjb2Rlcwo+Pgo+PiAg c291bmQvc29jL2NvZGVjcy9LY29uZmlnICAgfCAgIDUgKwo+PiAgc291bmQvc29jL2NvZGVjcy9N YWtlZmlsZSAgfCAgIDIgKwo+PiAgc291bmQvc29jL2NvZGVjcy9uYXU4ODI1LmMgfCA3MjQKPj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICBzb3VuZC9z b2MvY29kZWNzL25hdTg4MjUuaCB8IDM5OSArKysrKysrKysrKysrKysrKysrKysrKysrCj4+ICA0 IGZpbGVzIGNoYW5nZWQsIDExMzAgaW5zZXJ0aW9ucygrKQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IHNvdW5kL3NvYy9jb2RlY3MvbmF1ODgyNS5jCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQv c29jL2NvZGVjcy9uYXU4ODI1LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZlbEBhbHNhLXByb2pl Y3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bHNhLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751575AbbG0GZQ (ORCPT ); Mon, 27 Jul 2015 02:25:16 -0400 Received: from maillog.nuvoton.com ([202.39.227.15]:51236 "EHLO maillog.nuvoton.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751315AbbG0GZI (ORCPT ); Mon, 27 Jul 2015 02:25:08 -0400 Message-ID: <55B5CEC3.6070405@nuvoton.com> Date: Mon, 27 Jul 2015 14:25:07 +0800 From: Chih-Chiang Chang User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Anatol Pomozov CC: Mark Brown , "tiwai@suse.de" , AP MS30 Linux ALSA , Lars-Peter Clausen , "lgirdwood@gmail.com" , AP MS30 Linux Kernel community Subject: Re: [alsa-devel] [PATCH v3] ASoC: Add support for NAU8825 codec to ASoC References: <55A369B2.5040500@nuvoton.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Anatol, Thanks for your suggestion. We are working on different architectures to support NAU8825 ALSA driver, and I also think it is better we can have a cooperation for driver development and upstream. We have checked your code, and we think your implement version should more follow the ALSA upstream coding standards. We have another version of ALSA driver, which also supports most features as you listed. And I think you already got it from our HW engineers. The major difference between our architectures should be the flow and sequence in sleep mode, and some other architecture dependence codes. For the upstream, we think it is better to have only one version source and could support different architectures. Do you agree to use your version to go on the upstream in future? If yes, we can port your driver to our test platform, and then give the feedback to you. On 2015/7/23 上午 01:57, Anatol Pomozov wrote: > Hi Chih-Chiang > > On Mon, Jul 13, 2015 at 12:33 AM, Chih-Chiang Chang > wrote: >> The NAU88L25 is an ultra-low power high performance audio codec designed >> for smartphone, tablet PC, and other portable devices by Nuvoton, now >> add linux driver support for it. > > At ChromeOS we work with Nuvoton hw engineers on driver for this nice > chip as well. > > Here is current driver code > https://github.com/anatol/linux/blob/nau8825/sound/soc/codecs/nau8825.c > > The functionality is mostly ready. Our driver handles playback, > capture, mic jack detection, an button presses (4 buttons according > Android specification). We need to resolve a few remaining issues, > such as > - chip needs better way to recognize high-impedance input (e.g. Bose > Quiet Comfort 15 headset) > - implement headset cross talk automatic configuration > - general code cleanup > > But otherwise driver is functional and used for testing in our next > generation device. > > > What do you think about joining efforts on this software development > to make great driver for this chip? > >> Signed-off-by: Chih-Chiang Chang >> --- >> v3->v2: >> - fix the wrong definition of reg_default >> - fix the flow of set_sys_clk() and nau8825_set_bias_level() >> - remove unnecessary code in nau8825_volatile_register() and >> nau8825_i2c_probe() >> - add trigger function for ADC/DAC control >> - add some register definitions >> - fix some coding style issues >> v2->v1: >> - fixes according to Lars-Peter Clausen's review comments >> - removes unused platform data file >> - corrects the naming of DAPM input widget >> - fixes some wrong coding of SOC widgets and other codes >> - adds definition and remark for config FLL clock >> - moves the code of reset hardware registers from codec_probe() to >> i2c_probe() >> - removes unused codes >> >> sound/soc/codecs/Kconfig | 5 + >> sound/soc/codecs/Makefile | 2 + >> sound/soc/codecs/nau8825.c | 724 >> +++++++++++++++++++++++++++++++++++++++++++++ >> sound/soc/codecs/nau8825.h | 399 +++++++++++++++++++++++++ >> 4 files changed, 1130 insertions(+) >> create mode 100644 sound/soc/codecs/nau8825.c >> create mode 100644 sound/soc/codecs/nau8825.h