summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
blob: 92f5af88c344561e921daab66cc36f7328b233b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
The ADSP on Renesas SoCs required a reserved memory area to become
enabled, and this needs to be done manually.

This patch adds sound hardware abstraction information for the m3ulcb
and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the
ADSP for dynamically determining sound hardware at runtime, allowing
single binaries to be used between the two boards. 

Future work will incorporate the h3ulcb and Salvator boards into the
abstraction.

Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
---
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
index de2390f009e7..4ccfa8315d17 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
@@ -15,6 +15,39 @@
                     "renesas,r8a7796";
 };
 
+
+&adsp {
+
+	/* ADSP playback setting for pcm3168 */
+	adsp_playback0: adsp,playback {
+		mode  = "tdm";
+		clock-mode = "master";
+		bus-width = <24>;
+		ssi = <3>;
+		bus-if = <0>;
+		channels = <8>;
+		pin-share-ssi = <4>;
+	};
+
+	/* ADSP capture setting for pcm3168 */
+	adsp_capture0: adsp,capture {
+		mode  = "tdm";
+		clock-mode = "slave";
+		bus-width = <24>;
+		ssi = <4>;
+		bus-if = <0>;
+		channels = <8>;
+		pin-share-ssi = <3>;
+	};
+
+	adsp,ports {
+		port@0 {
+			playback = <&adsp_playback0>;
+			capture  = <&adsp_capture0>;
+		};
+	};
+};
+
 &du {
        ports {
                port@0 {