From: Damien Horsley <Damien.Horsley@imgtec.com>
To: Mark Brown <broonie@kernel.org>
Cc: <alsa-devel@alsa-project.org>, Rob Herring <robh+dt@kernel.org>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
James Hartley <james.hartley@imgtec.com>
Subject: Re: [RFC V2 1/2] ASoC: img: Add binding document for Pistachio audio card
Date: Thu, 28 Jan 2016 14:17:37 +0000 [thread overview]
Message-ID: <56AA2301.9070604@imgtec.com> (raw)
In-Reply-To: <20160127201457.GC25316@sirena.org.uk>
On 27/01/16 20:14, Mark Brown wrote:
> On Wed, Jan 27, 2016 at 05:13:09PM +0000, Damien Horsley wrote:
>
>> audio_pll is referenced exclusively by the card device
>
> That one *may* be plausible.
>
>> i2s_mclk and dac_mclk can also be referenced by other devices. The i2s
>> out controller references i2s_mclk, and codec devices can reference
>> i2s_mclk/dac_mclk dependent on their system clock requirements
>
> The clock API copes perfectly happily with this.
>
>> without a reference to i2s_mclk and dac_mclk in the card driver, it
>> would not be possible to control the divisors and gates for these clocks
>> in the following cases:
>
>> Simplistic codecs that do not have drivers
>
>> Codec drivers that do not call clk_set_rate and clk_enable/clk_disable
>
> Nonsense, if there is no driver or the driver doesn't do what you want
> then fix that. Don't bodge things at the wrong abstraction layer, that
> just creates problems later on when someone comes along and does things
> properly or tries to use the device tree outside of your particular
> implementation (eg, when working with a differnet OS).
>
Okay. If it can be expected that the codec driver will call these then
the references will not be required in the card driver for the codecs.
The i2s out controller also uses i2s_mclk, and calls clk_set_rate in
hw_params at present. Would creating a set_sysclk callback for the i2s
out controller, then calling snd_soc_dai_set_sysclk on the cpu dai in
addition to the codec dais in the card driver be the correct way to
manage this?
next prev parent reply other threads:[~2016-01-28 14:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1453818867-16322-1-git-send-email-Damien.Horsley@imgtec.com>
[not found] ` <1453818867-16322-2-git-send-email-Damien.Horsley@imgtec.com>
2016-01-27 14:57 ` [RFC V2 1/2] ASoC: img: Add binding document for Pistachio audio card Mark Brown
2016-01-27 15:18 ` Damien Horsley
2016-01-27 16:00 ` Mark Brown
2016-01-27 17:13 ` Damien Horsley
2016-01-27 20:14 ` Mark Brown
2016-01-28 14:17 ` Damien Horsley [this message]
2016-01-28 23:25 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56AA2301.9070604@imgtec.com \
--to=damien.horsley@imgtec.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=james.hartley@imgtec.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox