From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753438AbbINMQ2 (ORCPT ); Mon, 14 Sep 2015 08:16:28 -0400 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:55853 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751357AbbINMQ1 (ORCPT ); Mon, 14 Sep 2015 08:16:27 -0400 Date: Mon, 14 Sep 2015 12:52:55 +0100 From: Charles Keepax To: Pavel Machek CC: , , , , , , Subject: Re: System with multiple arizona (wm5102) codecs Message-ID: <20150914115255.GE11200@ck-lbox> References: <20150914115439.GA29646@amd> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20150914115439.GA29646@amd> User-Agent: Mutt/1.5.20 (2009-06-14) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.14.151,1.0.33,0.0.0000 definitions=2015-09-14_02:2015-09-14,2015-09-14,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1508030000 definitions=main-1509140192 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 14, 2015 at 01:54:39PM +0200, Pavel Machek wrote: > Hi! > > I've got an embedded system with two arizona / wm5102 codecs. > > Unfortunately, kernel does not seem to be ready for that > configuration. > > In particular, drivers/regulator/arizona-ldo1.c and > drivers/regulator/arizona-micsupp.c register system-wide "MICVDD" and > "LDO1" regulators, but with two codecs in the system, we really have > wm5102-codec.1.MICVDD, wm5102-codec.2.MICVDD, wm5102-codec.1.LDO1 and > wm5102-codec.2.LDO1. > > That got me second codec working in two-codec configuration, but first > one still stops working as soon as two codecs are enabled. > > If you have idea what else needs fixing, let me know. > > Best regards, > Pavel I must confess I haven't ever tested a system with two Arizona CODECs connected. Yes it seems you would get clashes on the regulator names, I guess that would need to be fixed up. If you were doing so wm831x-ldo.c would probably make a reasonable example. I guess you would need to be careful with the machine driver as well, you will need to use a snd_soc_codec_conf structure for at least one (although I would do both) of the CODECs to give a prefix for all the widget/control names, otherwise those will clash and everything will probably behave very strangely. See sound/soc/samsung/bells.c for an example doing this for wm9081. Those are the only two things that spring to mind at the moment but keep me informed on how you are getting on and I will let you know if I can come up with any other traps. Thanks, Charles From mboxrd@z Thu Jan 1 00:00:00 1970 From: Charles Keepax Subject: Re: System with multiple arizona (wm5102) codecs Date: Mon, 14 Sep 2015 12:52:55 +0100 Message-ID: <20150914115255.GE11200@ck-lbox> References: <20150914115439.GA29646@amd> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by alsa0.perex.cz (Postfix) with ESMTP id 9CEEA260569 for ; Mon, 14 Sep 2015 14:16:16 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20150914115439.GA29646@amd> 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: Pavel Machek Cc: alsa-devel@alsa-project.org, tiwai@suse.de, linux-kernel@vger.kernel.org, patches@opensource.wolfsonmicro.com, lgirdwood@gmail.com, broonie@kernel.org List-Id: alsa-devel@alsa-project.org On Mon, Sep 14, 2015 at 01:54:39PM +0200, Pavel Machek wrote: > Hi! > > I've got an embedded system with two arizona / wm5102 codecs. > > Unfortunately, kernel does not seem to be ready for that > configuration. > > In particular, drivers/regulator/arizona-ldo1.c and > drivers/regulator/arizona-micsupp.c register system-wide "MICVDD" and > "LDO1" regulators, but with two codecs in the system, we really have > wm5102-codec.1.MICVDD, wm5102-codec.2.MICVDD, wm5102-codec.1.LDO1 and > wm5102-codec.2.LDO1. > > That got me second codec working in two-codec configuration, but first > one still stops working as soon as two codecs are enabled. > > If you have idea what else needs fixing, let me know. > > Best regards, > Pavel I must confess I haven't ever tested a system with two Arizona CODECs connected. Yes it seems you would get clashes on the regulator names, I guess that would need to be fixed up. If you were doing so wm831x-ldo.c would probably make a reasonable example. I guess you would need to be careful with the machine driver as well, you will need to use a snd_soc_codec_conf structure for at least one (although I would do both) of the CODECs to give a prefix for all the widget/control names, otherwise those will clash and everything will probably behave very strangely. See sound/soc/samsung/bells.c for an example doing this for wm9081. Those are the only two things that spring to mind at the moment but keep me informed on how you are getting on and I will let you know if I can come up with any other traps. Thanks, Charles