Merge remote-tracking branch 'agl/next'
[AGL/meta-agl.git] / meta-agl-bsp / meta-rcar-gen3-adas / recipes-kernel / linux / linux-renesas / 0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
new file mode 100644 (file)
index 0000000..92f5af8
--- /dev/null
@@ -0,0 +1,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 {