From: peter.ujfalusi@ti.com (Peter Ujfalusi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/11] MFD: twl4030-audio: Add DT support
Date: Wed, 08 Aug 2012 16:43:16 +0300 [thread overview]
Message-ID: <50226CF4.1010202@ti.com> (raw)
In-Reply-To: <20120808131356.GS16861@opensource.wolfsonmicro.com>
On 08/08/2012 04:13 PM, Mark Brown wrote:
> On Wed, Aug 08, 2012 at 12:41:20PM +0300, Peter Ujfalusi wrote:
>
>> +Required properties:
>> +- compatible : must be "ti,twl4030-audio"
>
> So, as I mentioned before I find this sort of direct mapping of the
> Linux device representation into the device tree really troubling.
> I'm just way too aware of the fact that even the Linux split of these
> things can change over time and often represents internal Linux
> considerations.
Yes, I remember. This is however a bit different case compared to the twl6040.
The twl4030 series of PMIC includes the following parts:
twl4030, twl5030, twl5031, tps65950, tps65930 - contains audio block
tps65920, tps65921 - does not contain audio block
So the audio block within these PMICs are really a block, it is present on
some PMIC and it is missing on other's.
This is what we discussed regarding to twl6040. I only expose the audio block
and not the Linux implementation (that we have separate driver for vibra and
codec sub functionality).
>> +-ti,hs_extmute: Use external mute for HS pop reduction
>> +-ti,hs_extmute_gpio: Use external GPIO to control the external mute
>> +-ti,hs_extmute_disable_level: The desired level of the GPIO line when the
>> + external mute is disabled. valuse: 0 or 1
>
> This doesn't seem like something that should be in the CODEC driver
> really, there's a general need for something which can unmute controls
> at the end of the power up sequence and mute before power down. Also,
> if this is going to be part of the binding shouldn't we just omit the
> first property and simply check for the presence of the property which
> specifies the GPIO?
The hs_extmute is used for reducing pop noise on the headset. The sequence is
described in the TRM and it need to be done within the codec driver since it
is within the sequence.
Now there's two ways for boards to implement it:
using the dedicated pin from twl4030 PMIC (MUTE/GPIO6) - if only
"ti,hs_extmute" present we use this mode.
Some boards are using the GPIO6 from twl4030 for other purposes, in this case
an external GPIO is used for the same purpose - thus we have
ti,hs_extmute_gpio and ti,hs_extmute_disable_level to tell the driver this.
As for the ti,hs_extmute_disable_level: some boards chosen that the mute is
disabled when the signal is high on the GPIO (don't ask me why). This property
tells this.
All of this has to be in the driver due to the sequencing requirements.
>
>> +#ifdef CONFIG_OF
>> + if (of_find_node_by_name(node, "codec"))
>> + return true;
>> +#endif
>
> This really seems like we should be stubbing out of_find_node_by_name()
> to return false in non-OF cases.
Yes, most likely the of_find_node_by_name() deserves the same treatment as
some selected of_* function in case CONFIG_OF is not selected.
But at the moment this is not the case, we need to protect with ifdef since we
might break other randconfigs where CONFIG_OF is not set.
>> +#ifdef CONFIG_OF
>> + if (!of_property_read_u32(node, "ti,enable-vibra", &vibra) && vibra)
>> + return true;
>> +#endif
>
> Similarly here.
Here the ifdef is no needed. of_property_read_u32() return -ENOSYS in case
CONFIG_OF is not selected.
--
P?ter
next prev parent reply other threads:[~2012-08-08 13:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-08 9:41 [PATCH 00/11] MFD/ASoC/Input: twl4030-audio submodule DT support Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 01/11] MFD: twl4030-audio: Clean up MODULE_* and platform_driver part Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 02/11] MFD: twl4030-audio: Convert to use devm_kzalloc Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 03/11] MFD: twl4030-audio: Rearange and clean-up the probe function Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 04/11] MFD: twl4030-audio: Add DT support Peter Ujfalusi
2012-08-08 11:50 ` Benoit Cousson
2012-08-08 12:43 ` Peter Ujfalusi
2012-08-08 12:52 ` Mark Brown
2012-08-08 14:35 ` Peter Ujfalusi
2012-08-08 14:39 ` Mark Brown
2012-08-08 15:41 ` Benoit Cousson
2012-08-08 13:13 ` Mark Brown
2012-08-08 13:43 ` Peter Ujfalusi [this message]
2012-08-08 13:52 ` Mark Brown
2012-08-08 14:16 ` Peter Ujfalusi
2012-08-08 14:18 ` Mark Brown
2012-08-08 14:31 ` Peter Ujfalusi
2012-08-08 14:49 ` Mark Brown
2012-08-09 10:18 ` Peter Ujfalusi
2012-08-09 10:36 ` Mark Brown
2012-08-09 13:53 ` Peter Ujfalusi
2012-08-12 18:50 ` Mark Brown
2012-08-08 9:41 ` [PATCH 05/11] Input: twl4030-vibra: Support for DT booted kernel Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 06/11] ASoC: twl4030: Move hs_extmute GPIO handling to driver Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 07/11] ARM: OMAP/ASoC: Zoom2: Let the codec to handle the hs_extmute GPIO Peter Ujfalusi
2012-08-10 6:28 ` Tony Lindgren
2012-08-08 9:41 ` [PATCH 08/11] ASoC/MFD: twl4030: Remove set_hs_extmute callback from platform data Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 09/11] ASoC: twl4030: Convert to use devm_kzalloc Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 10/11] ASoC: twl4030: Add pointer to pdata within the private data Peter Ujfalusi
2012-08-08 9:41 ` [PATCH 11/11] ASoC: twl4030: Support for DT booted kernel Peter Ujfalusi
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=50226CF4.1010202@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).