Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753955AbbDHC2X (ORCPT ); Tue, 7 Apr 2015 22:28:23 -0400 Received: from mail-gw3-out.broadcom.com ([216.31.210.64]:22333 "EHLO mail-gw3-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753100AbbDHC2V (ORCPT ); Tue, 7 Apr 2015 22:28:21 -0400 X-IronPort-AV: E=Sophos;i="5.11,541,1422950400"; d="scan'208";a="61375689" Message-ID: <55249258.1020907@broadcom.com> Date: Tue, 7 Apr 2015 19:28:40 -0700 From: Lori Hikichi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 MIME-Version: 1.0 To: Mark Brown , Scott Branden CC: Rob Herring , Pawel Moll , "Mark Rutland" , Ian Campbell , Kumar Gala , "Liam Girdwood" , Jaroslav Kysela , "Takashi Iwai" , , , , , , Dmitry Torokhov , Anatol Pomazao , , , , Subject: Re: [PATCH 0/2] Cygnus Audio Driver References: <1427771784-29950-1-git-send-email-sbranden@broadcom.com> <20150331064338.GE2869@sirena.org.uk> <551EEAF8.7050108@broadcom.com> <20150406095803.GD6023@sirena.org.uk> In-Reply-To: <20150406095803.GD6023@sirena.org.uk> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1944 Lines: 39 On 15-04-06 02:58 AM, Mark Brown wrote: > On Fri, Apr 03, 2015 at 12:33:12PM -0700, Scott Branden wrote: >> On 15-03-30 11:43 PM, Mark Brown wrote: >>> On Mon, Mar 30, 2015 at 08:16:22PM -0700, Scott Branden wrote: > >>>> The audio PLL is embedded in the audio block and only used >>>> by the audio block. The audio PLL registers are also in the middle of >>>> the audio register map. > >>> When you say it's only used by the audio block do you mean to say that >>> the audio block exposes no clock signals other than the bit and frame >>> clocks? > >> The audio block exposes the MCLK in addition to the bit and frame clock. > > OK, then it's going to need to be a clock provider at some point - the > clock will be going into external devices which are going to need to be > able to interact with the clock (for example, to get the rate). > Currently, the ASoC machine driver is responsible for requesting a certain frequency of MCLK be generated from our driver and then also sending the frequency information along to the external device (codec). This is done via the snd_soc_dai_set_sysclk. That is the only clock interaction we have needed for the core part of the driver. For enhanced features, we also have the need to make minor adjustments (tweaks) to the PLL. The tweaks are used to make the PLLs output frequency match as closely as possible to a true reference frequency. As such, we would like to provide the finest adjustment resolution as possible. The clocking framework only seems to allow for a 1 Hz adjustment. This limitation and the fact that no other device seems to need to interact directly will the PLL are why we have not put it in the clocking framework. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/