Thread (5 messages) 5 messages, 3 authors, 2014-07-01

Re: [PATCH v2] ASoC: tas2552: Support TI TAS2552 Amplifier

From: Mark Rutland <mark.rutland@arm.com>
Date: 2014-06-30 17:21:29
Also in: alsa-devel, linux-sound, lkml

Hi,

On Mon, Jun 30, 2014 at 06:10:59PM +0100, Dan Murphy wrote:
quoted hunk ↗ jump to hunk
Support the TI TAS2552 Class D amplifier.

The TAS2552 is a high efficiency Class-D audio
power amplifier with advanced battery current
management and an integrated Class-G boost
The device constantly measures the
current and voltage across the load and provides a
digital stream of this information.

Signed-off-by: Dan Murphy <redacted>
---

v2 - Address RFC comments- Added regmap, and snd_soc calls
removed debug code, address checkpatch errors -https://patchwork.kernel.org/patch/4378281/

 .../devicetree/bindings/sound/tas2552.txt          |   22 +
 include/sound/tas2552-plat.h                       |   25 ++
 sound/soc/codecs/Kconfig                           |    5 +
 sound/soc/codecs/Makefile                          |    2 +
 sound/soc/codecs/tas2552.c                         |  462 ++++++++++++++++++++
 sound/soc/codecs/tas2552.h                         |   75 ++++
 6 files changed, 591 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/tas2552.txt
 create mode 100644 include/sound/tas2552-plat.h
 create mode 100644 sound/soc/codecs/tas2552.c
 create mode 100644 sound/soc/codecs/tas2552.h
diff --git a/Documentation/devicetree/bindings/sound/tas2552.txt b/Documentation/devicetree/bindings/sound/tas2552.txt
new file mode 100644
index 0000000..58e931b
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tas2552.txt
@@ -0,0 +1,22 @@
+Texas Instruments - tas2552 Codec module
+
+The tas2552 serial control bus communicates through I2C protocols
+
+Required properties:
+
+- compatible - "string" - One of:
+    "ti,tas2552" - TAS2552
Drop the "string". The compatible list is a standard property and its
type (string list) is well-known.

You could change "One of:" to "should contain:", which will look less
weird with a single entry.
+- reg - <int> -  I2C slave address
Similarly to "string" we can get rid of <int> here. i2c addresses are
well-known to be described in a single u32 cell.
+
+Optional properties:
+
+- power-gpio - gpio pin to enable/disable the device
The code below seems to look for "enable-gpio". Searching for
"power-gpio" only hits in the line above and the example below. I assume
the code is in error?
+
+Example:
+
+tas2552: tas2552@41 {
+       compatible = "ti,tas2552";
+       reg = <0x41>;
+       power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
+};
[...]
+       if (pdata) {
+               data->power_gpio = pdata->power_gpio;
+       } else if (np) {
+               data->power_gpio = of_get_named_gpio(np, "enable-gpio", 0);
Usually I see this logic the other way around, looking for DT data first
then falling back to platform data if no DT information was present.

Cheers,
Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help