[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d7e7144b-26c7-b96a-663d-03744bb60c36@broadcom.com>
Date: Tue, 15 Aug 2017 12:29:44 -0700
From: Lori Hikichi <lori.hikichi@...adcom.com>
To: Mark Brown <broonie@...nel.org>
Cc: Liam Girdwood <lgirdwood@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Ray Jui <rjui@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
Jon Mason <jonmason@...adcom.com>,
bcm-kernel-feedback-list@...adcom.com,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/9] ASoC: cygnus: Update bindings for audio clock changes
On 8/15/2017 10:14 AM, Mark Brown wrote:
> On Mon, Aug 14, 2017 at 03:06:50PM -0700, Lori Hikichi wrote:
>> Allow each audio port to select which clock (if any) it wants to use.
> Why is this in DT for the port and not either using standard clock
> bindings to configure the clock tree or allowing the machine driver to
> pick?
The previous version of the driver essentially had a clock mapping
that could not be changed. This is fine for 99% of our use cases.
If we need to change the mapping, then we need to modify the audio
port's clock mux. Creating a clock for these muxes was going to be messy.
There is a mux per audio port and the registers used to program the
muxes are staggered throughout the io space used by the audio driver.
Additionally, these registers have bits that are controlled by the
audio driver. Had I used syscon to access these registers this would
have resulted in a very fragmented io space, complicating the audio
drivers access this space.
I have put the mux assignment in DT because the assignment is a
static property and did not need run time programmability from the
machine driver.
Lori.
Powered by blists - more mailing lists