From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chih-Chiang Chang Subject: Re: [PATCH] ASoC: Add support for NAU8824 codec to ASoC Date: Fri, 6 Mar 2015 15:28:33 +0800 Message-ID: <54F95721.7040103@nuvoton.com> References: <1423986570-6355-1-git-send-email-Vincent.wan@amd.com> <20150224141314.GI6236@finisterre.sirena.org.uk> <54F6FC28.4030403@nuvoton.com> <20150304125527.GM21293@sirena.org.uk> 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 D54CA265AB2 for ; Fri, 6 Mar 2015 08:28:36 +0100 (CET) In-Reply-To: <20150304125527.GM21293@sirena.org.uk> 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: Mark Brown Cc: "alsa-devel@alsa-project.org" , "mcuos.com@gmail.com" , "tiwai@suse.de" , "lgirdwood@gmail.com" , "linux-kernel@vger.kernel.org" , "liam.r.girdwood@intel.com" List-Id: alsa-devel@alsa-project.org CgpPbiAyMDE1LzMvNCDkuIvljYggMDg6NTUsIE1hcmsgQnJvd24gd3JvdGU6Cj4gT24gV2VkLCBN YXIgMDQsIDIwMTUgYXQgMDg6MzU6NTJQTSArMDgwMCwgQ2hpaC1DaGlhbmcgQ2hhbmcgd3JvdGU6 Cj4+IE9uIDIwMTUvMi8yNCDkuIvljYggMTA6MTMsIE1hcmsgQnJvd24gd3JvdGU6Cj4gCj4+PiBJ IHdvdWxkIGhhdmUgZXhwZWN0ZWQgdGhlIGhlYWRwaG9uZSB2b2x1bWUgY29udHJvbCB0byBiZSBh IHN0ZXJlbwo+Pj4gKGRvdWJsZSkgY29udHJvbCAtIHNhbWUgZm9yIHNwZWFrZXJzLgo+IAo+PiBU aGUgbmF1ODgyNCByZWxhdGVkIHJlZ2lzdGVycyB3aGljaCBjb250cm9sIGxlZnQvcmlnaHQgdm9s dW1lIGFyZSBsb2NhdGVkCj4+IGluIGRpZmZlcmVudCBhZGRyZXNzZXMgYW5kIGRpZmZlcmVudCBz aGlmdCBiaXRzLiBTaW5jZSB0aGVyZSBpcyBubyBhdmFpbGFibGUKPj4gcHJlcHJvY2Vzc29yIG1h Y3JvIHRvIG1lZXQgb3VyIHJlcXVpcmVtZW50cywgdGhlIGRyaXZlciBjb25zaXN0cyBvZiBsZWZ0 L3JpZ2h0Cj4+IHZvbHVtZSBjb250cm9sIHNlcGFyYXRlbHkuCj4gCj4gQWRkIHJlbGV2YW50IGNv bnRyb2wgdHlwZXMgaWYgeW91IG5lZWQgdGhlbSwgaXQncyBpbXBvcnRhbnQgdG8gaGF2ZQo+IHBy b3BlciBzdGVyZW8gY29udHJvbHMgYXZhaWxhYmxlIHRvIHVzZXJzcGFjZS4KV2UgY2Fubm90IGZp bmQgc3VpdGFibGUgbWFjcm8gaW4gZmlsZSAiaW5jbHVkZVxzb3VuZFxzb2MuaCIsIHNvIHdlIHdh bnQgdG8gYWRkIGJlbG93IHR3byBtYWNybyBmb3Igb3VyIGNoaXAuClNPQ19ET1VCTEVfTF9SX1ZB TFVFClNPQ19ET1VCTEVfTF9SX1RMVgo+IAo+Pj4+ICtzdHJ1Y3QgbmF1ODgyNF9pbml0X3JlZyB7 Cj4+Pj4gKyAgICB1OCByZWc7Cj4+Pj4gKyAgICB1MTYgdmFsOwo+Pj4+ICt9Owo+IAo+Pj4gVGhp cyBsb29rcyBsaWtlIHlvdSdyZSByZWltcGxlbWVudGluZyByZWdtYXAncyByZWdpc3RlciBzZXF1 ZW5jZQo+Pj4gc3R1ZmYuLi4gIEl0J3MgYWxzbyBhICp2ZXJ5KiBsYXJnZSBzZXF1ZW5jZSB5b3Ug aGF2ZSwgYXJlIHlvdSBzdXJlIGl0J3MKPj4+IGFsbCByZXF1aXJlZD8gIEl0IHNlZW1zIGxpa2Ug dGhpcyBtYXkgYmUgZG9pbmcgYSBidW5jaCBvZiBtYWNoaW5lCj4+PiBzcGVjaWZpYyBjb25maWd1 cmF0aW9uIGJ1dCBzaW5jZSBpdCdzIGFsbCBtYWdpYyBudW1iZXJzIGl0J3MgaGFyZCB0bwo+Pj4g dGVsbC4KPiAKPj4gSW5pdGlhbCBzZXR0aW5ncyBhcmUgYXJyYW5nZWQgaW4gb3JkZXIKPiAKPiBU aGlzIGRvZXNuJ3QgYW5zd2VyIG9yIGFkZHJlc3MgbXkgY29uY2Vybi4KVGhlc2UgbGFyZ2UgbnVt YmVyIG9mIHJlZ2lzdGVyIHNldHRpbmcgaXMgdXNlZCB0byBpbml0aWFsIG91ciBjb2RlYywgYW5k IHNvbWUgb2Ygb3RoZXIgY29kZWMgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvci4gV2Ugd2lsbCByZW1v dmUgZmV3IHVubmVjZXNzYXJ5IHJlZ2lzdGVyIGRlZmF1bHQgc2V0dGluZyBhbmQgYWRkIHNvbWUg cmVtYXJrIGZvciByZWdpc3RlcnMuCj4gCj4+Pj4gKyAgICAvKiBEeW5hbWljIEhlYWRzZXQgZGV0 ZWN0aW9uIGVuYWJsZWQgKi8KPj4+PiArICAgIHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIDB4 MDEsIDB4NDAwLCAweDQwMCk7Cj4+Pj4gKyAgICBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCAw eDAyLCAweDAwMDgsIDB4MDAwOCk7Cj4+Pj4gKyAgICBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVj LCAweDBmLCAweDAzMDAsIDB4MDEwMCk7Cj4+Pj4gKyAgICBzbmRfc29jX3dyaXRlKGNvZGVjLCAw eDA5LCAweEUwMDApOwo+Pj4+ICsgICAgc25kX3NvY193cml0ZShjb2RlYywgTkFVODgyNF9JUlFf U0VUVElORywgMHgxMDA2KTsKPj4+PiArICAgIHNuZF9zb2Nfd3JpdGUoY29kZWMsIDB4MTMsIDB4 MTYxNSk7Cj4+Pj4gKyAgICBzbmRfc29jX3dyaXRlKGNvZGVjLCAweDE1LCAweDA0MTQpOwo+Pj4+ ICsgICAgc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgMHgxNiwgMHhGRjAwLCAweDU5MDApOwo+ Pj4+ICsgICAgc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgMHg2NiwgMHgwMDcwLCAweDAwNjAp Owo+IAo+Pj4gVG9vIG1hbnkgbWFnaWMgbnVtYmVycyBoZXJlIEkgdGhpbmsgYW5kIHRoaXMgbG9v a3MgbGlrZSBpdCBzaG91bGQgYmUKPj4+IGNvbmZpZ3VyZWQgdXNpbmcgcGxhdGZvcm0gZGF0YSBh bmQvb3IgdGhlIG1hY2hpbmUgZHJpdmVyICh3aGF0IGlmIHRoZQo+Pj4gaGVhZHBob25lIGRldGVj dGlvbi9JUlEgYXJlbid0IHdpcmVkIHVwPykuICBJJ2QgYWxzbyBleHBlY3QgdG8gc2VlCj4+PiBy ZXBvcnRpbmcgdmlhIHRoZSBzdGFuZGFyZCBpbnRlcmZhY2VzIGZvciBqYWNrIHJlcG9ydGluZy4K PiAKPj4gVGhlIGFib3ZlIGluaXRpYWwgc2V0dGluZ3MgYXJlIGZvciBqYWNrIGRldGVjdGlvbi4g QXMgZm9yIG90aGVyIGphY2sKPj4gZGV0ZWN0aW9uIGZsb3csIGl0IHdpbGwgYmUgaW1wbGVtZW50 ZWQgaW4gbWFjaGluZSBkcml2ZXIgYnV0IG5vdCBiZSBpbmNsdWRlZCBpbgo+PiB0aGlzIGFwcGxp Y2F0aW9uLgo+IAo+IFBsZWFzZSBlaXRoZXIgcmVtb3ZlIHRoaXMgZm9yIG5vdyBvciBpbXBsZW1l bnQgaXQgcHJvcGVybHkuCldlIHdpbGwgcmVtb3ZlIGl0Lgo+IAo+PiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Cj4+IFRoZSBwcml2aWxlZ2VkIGNvbmZpZGVudGlhbCBpbmZvcm1h dGlvbiBjb250YWluZWQgaW4gdGhpcyBlbWFpbCBpcyBpbnRlbmRlZCBmb3IgdXNlIG9ubHkgYnkg dGhlIGFkZHJlc3NlZXMgYXMgaW5kaWNhdGVkIGJ5IHRoZSBvcmlnaW5hbCBzZW5kZXIgb2YgdGhp cyBlbWFpbC4gSWYgeW91IGFyZSBub3QgdGhlIGFkZHJlc3NlZSBpbmRpY2F0ZWQgaW4gdGhpcyBl bWFpbCBvciBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBkZWxpdmVyeSBvZiB0aGUgZW1haWwgdG8g c3VjaCBhIHBlcnNvbiwgcGxlYXNlIGtpbmRseSByZXBseSB0byB0aGUgc2VuZGVyIGluZGljYXRp bmcgdGhpcyBmYWN0IGFuZCBkZWxldGUgYWxsIGNvcGllcyBvZiBpdCBmcm9tIHlvdXIgY29tcHV0 ZXIgYW5kIG5ldHdvcmsgc2VydmVyIGltbWVkaWF0ZWx5LiBZb3VyIGNvb3BlcmF0aW9uIGlzIGhp Z2hseSBhcHByZWNpYXRlZC4gSXQgaXMgYWR2aXNlZCB0aGF0IGFueSB1bmF1dGhvcml6ZWQgdXNl IG9mIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBvZiBOdXZvdG9uIGlzIHN0cmljdGx5IHByb2hp Yml0ZWQ7IGFuZCBhbnkgaW5mb3JtYXRpb24gaW4gdGhpcyBlbWFpbCBpcnJlbGV2YW50IHRvIHRo ZSBvZmZpY2lhbCBidXNpbmVzcyBvZiBOdXZvdG9uIHNoYWxsIGJlIGRlZW1lZCBhcyBuZWl0aGVy IGdpdmVuIG5vciBlbmRvcnNlZCBieSBOdXZvdG9uLgo+IAo+IERvbid0IGluY2x1ZGUgbm9pc2Ug bGlrZSB0aGlzIGluIHVwc3RyZWFtIGNvbW11bmljYXRpb24sIGlmIHlvdXIgY29tcGFueQo+IHdv bid0IGZpeCB0aGlzIHRoZW4gcGxlYXNlIHVzZSBhbiBleHRlcm5hbCBtYWlsIGFjY291bnQgZm9y IHVwc3RyZWFtCj4gY29tbXVuaWNhdGlvbi4KT3VyIE1JUyByZXBvcnQgdGhleSBoYXZlIGRpc2Fi bGVkIHRvIGFwcGVuZCBtZXNzYWdlIGluIG1haWwuIEhvcGUgeW91IGRvIG5vdCBzZWUgaXQgaW4g dGhpcyBtYWlsLgo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5vcmcK aHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Fsc2EtZGV2 ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932161AbbCFH2l (ORCPT ); Fri, 6 Mar 2015 02:28:41 -0500 Received: from maillog.nuvoton.com ([202.39.227.15]:57762 "EHLO maillog.nuvoton.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753297AbbCFH2g (ORCPT ); Fri, 6 Mar 2015 02:28:36 -0500 Message-ID: <54F95721.7040103@nuvoton.com> Date: Fri, 6 Mar 2015 15:28:33 +0800 From: Chih-Chiang Chang User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Mark Brown CC: "mcuos.com@gmail.com" , "tiwai@suse.de" , "alsa-devel@alsa-project.org" , "lgirdwood@gmail.com" , "linux-kernel@vger.kernel.org" , "liam.r.girdwood@intel.com" Subject: Re: [PATCH] ASoC: Add support for NAU8824 codec to ASoC References: <1423986570-6355-1-git-send-email-Vincent.wan@amd.com> <20150224141314.GI6236@finisterre.sirena.org.uk> <54F6FC28.4030403@nuvoton.com> <20150304125527.GM21293@sirena.org.uk> In-Reply-To: <20150304125527.GM21293@sirena.org.uk> 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 On 2015/3/4 下午 08:55, Mark Brown wrote: > On Wed, Mar 04, 2015 at 08:35:52PM +0800, Chih-Chiang Chang wrote: >> On 2015/2/24 下午 10:13, Mark Brown wrote: > >>> I would have expected the headphone volume control to be a stereo >>> (double) control - same for speakers. > >> The nau8824 related registers which control left/right volume are located >> in different addresses and different shift bits. Since there is no available >> preprocessor macro to meet our requirements, the driver consists of left/right >> volume control separately. > > Add relevant control types if you need them, it's important to have > proper stereo controls available to userspace. We cannot find suitable macro in file "include\sound\soc.h", so we want to add below two macro for our chip. SOC_DOUBLE_L_R_VALUE SOC_DOUBLE_L_R_TLV > >>>> +struct nau8824_init_reg { >>>> + u8 reg; >>>> + u16 val; >>>> +}; > >>> This looks like you're reimplementing regmap's register sequence >>> stuff... It's also a *very* large sequence you have, are you sure it's >>> all required? It seems like this may be doing a bunch of machine >>> specific configuration but since it's all magic numbers it's hard to >>> tell. > >> Initial settings are arranged in order > > This doesn't answer or address my concern. These large number of register setting is used to initial our codec, and some of other codec have the same behavior. We will remove few unnecessary register default setting and add some remark for registers. > >>>> + /* Dynamic Headset detection enabled */ >>>> + snd_soc_update_bits(codec, 0x01, 0x400, 0x400); >>>> + snd_soc_update_bits(codec, 0x02, 0x0008, 0x0008); >>>> + snd_soc_update_bits(codec, 0x0f, 0x0300, 0x0100); >>>> + snd_soc_write(codec, 0x09, 0xE000); >>>> + snd_soc_write(codec, NAU8824_IRQ_SETTING, 0x1006); >>>> + snd_soc_write(codec, 0x13, 0x1615); >>>> + snd_soc_write(codec, 0x15, 0x0414); >>>> + snd_soc_update_bits(codec, 0x16, 0xFF00, 0x5900); >>>> + snd_soc_update_bits(codec, 0x66, 0x0070, 0x0060); > >>> Too many magic numbers here I think and this looks like it should be >>> configured using platform data and/or the machine driver (what if the >>> headphone detection/IRQ aren't wired up?). I'd also expect to see >>> reporting via the standard interfaces for jack reporting. > >> The above initial settings are for jack detection. As for other jack >> detection flow, it will be implemented in machine driver but not be included in >> this application. > > Please either remove this for now or implement it properly. We will remove it. > >> =========================================================================================== >> The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton. > > Don't include noise like this in upstream communication, if your company > won't fix this then please use an external mail account for upstream > communication. Our MIS report they have disabled to append message in mail. Hope you do not see it in this mail. >