Thread (13 messages) 13 messages, 3 authors, 2018-03-13

[PATCH v2 4/6] ASoC: sun4i-i2s: Add multi-lane functionality

From: Code Kipper <hidden>
Date: 2018-03-13 08:59:05
Also in: alsa-devel, lkml

On 13 March 2018 at 09:23, Maxime Ripard [off-list ref] wrote:
On Tue, Mar 13, 2018 at 09:15:49AM +0100, Code Kipper wrote:
quoted
On 13 March 2018 at 09:00, Maxime Ripard [off-list ref] wrote:
quoted
On Mon, Mar 12, 2018 at 04:57:51PM +0100, codekipper at gmail.com wrote:
quoted
From: Marcus Cooper <redacted>

The i2s block supports multi-lane i2s output however this functionality
is only possible in earlier SoCs where the pins are exposed and for
the i2s block used for HDMI audio on the later SoCs.

To enable this functionality, an optional property has been added to
the bindings.

Signed-off-by: Marcus Cooper <redacted>
---
 .../devicetree/bindings/sound/sun4i-i2s.txt        |  3 ++
 sound/soc/sunxi/sun4i-i2s.c                        | 48 +++++++++++++++++-----
 2 files changed, 41 insertions(+), 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/sun4i-i2s.txt b/Documentation/devicetree/bindings/sound/sun4i-i2s.txt
index 48addef65b8f..3f966ac61b9e 100644
--- a/Documentation/devicetree/bindings/sound/sun4i-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/sun4i-i2s.txt
@@ -33,6 +33,9 @@ Optional properties:
                              configured to extend the slot width to the
                              value specified. Min 8, Max 32.

+- allwinner,playback-channels:  if this property is present then the number
+                             of available channels is extended and the
+                             outputs enabled.
Isn't it something that is fixed for each generation of SoCs? Can't we
attach it to the compatible?
I'm not sure as the documentation is pretty poor. It looks like it is
supported by all of the variations that we've seen but only exposed as
pins on A10 and A20. I'm also not sure who would ever use it with
external devices.
Well, you were saying that it was the case on the older SoCs in your
commit log, so this needs to be figured out.
quoted
The reason why I've added it is that it is required by HDMI for
supporting surround sound on the newer SoCs.
Why isn't that mentionned in your commit log?

Can you post the whole set of changes needed for HDMI audio? this
would make things much easier to see where you're going.
Maybe we should drop this change for now as basic HDMI audio for two
channels doesn't require it. I've also not tested multi-channel audio
yet.

To get HDMI audio working the following patches are required for the dts
https://github.com/codekipper/linux-sunxi/commit/997c622ae10ef136bae0a35a0e9bf9c6dd27910a
and
https://github.com/codekipper/linux-sunxi/commit/4a81676d30a0262c57ffc0827e46c7934fb3b358

they don't need this patch but do need the slot-width-override patch.

CK
Maxime

--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help