summaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch')
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch249
1 files changed, 249 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch
new file mode 100644
index 0000000..2586dac
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-Update-device-tree-for-ADSP-sound-driver.patch
@@ -0,0 +1,249 @@
+From 81528aacc64df60f2471873deca3f1092d47b6ae Mon Sep 17 00:00:00 2001
+From: tienphitran <tien.tran.uw@renesas.com>
+Date: Mon, 15 Oct 2018 17:56:29 +0700
+Subject: [PATCH 4/4] Update device tree for ADSP sound driver
+
+Signed-off-by: tienphitran <tien.tran.uw@renesas.com>
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+index 1c8e713..1331a09 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+@@ -2161,6 +2161,11 @@
+ status = "disabled";
+ };
+
++ rcar_adsp_sound: adsp_sound@0 {
++ compatible = "renesas,rcar_adsp_sound_gen3";
++ status = "disabled";
++ };
++
+ rcar_sound: sound@ec500000 {
+ /*
+ * #sound-dai-cells is required
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index f25b476..ed332e7 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -2067,6 +2067,11 @@
+ status = "disabled";
+ };
+
++ rcar_adsp_sound: adsp_sound@0 {
++ compatible = "renesas,rcar_adsp_sound_gen3";
++ status = "disabled";
++ };
++
+ rcar_sound: sound@ec500000 {
+ /*
+ * #sound-dai-cells is required
+diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+index d86bf9e..05861b4 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+@@ -1478,6 +1478,11 @@
+ };
+ };
+
++ rcar_adsp_sound: adsp_sound@0 {
++ compatible = "renesas,rcar_adsp_sound_gen3";
++ status = "disabled";
++ };
++
+ rcar_sound: sound@ec500000 {
+ /*
+ * #sound-dai-cells is required
+diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
+index 10a3403..b96ae07 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
++++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
+@@ -356,11 +356,26 @@
+ };
+
+ sound_card: sound {
+- compatible = "audio-graph-card";
++ compatible = "audio-graph-scu-card";
+
+ label = "rcar-sound";
+-
+- dais = <&rsnd_port0>;
++ prefix = "ak4613";
++ routing = "ak4613 Playback", "DAI0 Playback",
++ "DAI0 Capture", "ak4613 Capture",
++ "ak4613 Playback", "Playback0",
++ "ak4613 Playback", "Playback1",
++ "ak4613 Playback", "Playback2",
++ "ak4613 Playback", "Playback3",
++ "Capture0", "ak4613 Capture",
++ "Capture1", "ak4613 Capture",
++ "Capture2", "ak4613 Capture",
++ "Capture3", "ak4613 Capture";
++
++ dais = <&adsp_port0
++ &adsp_port1
++ &adsp_port2
++ &adsp_port3
++ &rsnd_port0>;
+ };
+ };
+
+@@ -567,7 +582,19 @@
+ asahi-kasei,out6-single-end;
+
+ port {
+- ak4613_endpoint: endpoint {
++ ak4613_endpoint0: endpoint@0 {
++ remote-endpoint = <&adsp_endpoint0>;
++ };
++ ak4613_endpoint1: endpoint@1 {
++ remote-endpoint = <&adsp_endpoint1>;
++ };
++ ak4613_endpoint2: endpoint@2 {
++ remote-endpoint = <&adsp_endpoint2>;
++ };
++ ak4613_endpoint3: endpoint@3 {
++ remote-endpoint = <&adsp_endpoint3>;
++ };
++ ak4613_endpoint4: endpoint@4 {
+ remote-endpoint = <&rsnd_endpoint0>;
+ };
+ };
+@@ -766,6 +793,39 @@
+ shared-pin;
+ };
+
++&rcar_adsp_sound {
++ status = "okay";
++ /* Multiple DAI */
++ #sound-dai-cells = <1>;
++
++ ports {
++ adsp_port0: port@0 {
++ adsp_endpoint0: endpoint@0 {
++ remote-endpoint = <&ak4613_endpoint0>;
++ dai-format = "left_j";
++ };
++ };
++ adsp_port1: port@1 {
++ adsp_endpoint1: endpoint@1 {
++ remote-endpoint = <&ak4613_endpoint1>;
++ dai-format = "left_j";
++ };
++ };
++ adsp_port2: port@2 {
++ adsp_endpoint2: endpoint@2 {
++ remote-endpoint = <&ak4613_endpoint2>;
++ dai-format = "left_j";
++ };
++ };
++ adsp_port3: port@3 {
++ adsp_endpoint3: endpoint@3 {
++ remote-endpoint = <&ak4613_endpoint3>;
++ dai-format = "left_j";
++ };
++ };
++ };
++};
++
+ &rcar_sound {
+ pinctrl-0 = <&sound_pins &sound_clk_pins>;
+ pinctrl-names = "default";
+@@ -801,7 +861,7 @@
+ ports {
+ rsnd_port0: port@0 {
+ rsnd_endpoint0: endpoint {
+- remote-endpoint = <&ak4613_endpoint>;
++ remote-endpoint = <&ak4613_endpoint4>;
+
+ dai-format = "left_j";
+ bitclock-master = <&rsnd_endpoint0>;
+diff --git a/arch/arm64/boot/dts/renesas/r8a77990.dtsi b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
+index 242de2c..870bd4e 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77990.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77990.dtsi
+@@ -1276,6 +1276,11 @@
+ };
+ };
+
++ rcar_adsp_sound: adsp_sound@0 {
++ compatible = "renesas,rcar_adsp_sound_gen3";
++ status = "disabled";
++ };
++
+ rcar_sound: sound@ec500000 {
+ /*
+ * #sound-dai-cells is required
+diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+index 6cda028..89fbcf6 100644
+--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
++++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+@@ -125,12 +125,43 @@
+ regulator-boot-on;
+ regulator-always-on;
+ };
++
+ rsnd_ak4613: sound {
+- compatible = "simple-audio-card";
++ compatible = "simple-scu-audio-card";
+ simple-audio-card,format = "left_j";
+ simple-audio-card,bitclock-master = <&sndcpu>;
+ simple-audio-card,frame-master = <&sndcpu>;
+- sndcpu: simple-audio-card,cpu {
++
++ simple-audio-card,name = "audio-card";
++ simple-audio-card,prefix = "ak4613";
++ simple-audio-card,routing = "ak4613 Playback", "Playback0",
++ "ak4613 Playback", "Playback1",
++ "ak4613 Playback", "Playback2",
++ "ak4613 Playback", "Playback3",
++ "Capture0", "ak4613 Capture",
++ "Capture1", "ak4613 Capture",
++ "Capture2", "ak4613 Capture",
++ "Capture3", "ak4613 Capture",
++ "ak4613 Playback", "DAI0 Playback",
++ "DAI0 Capture", "ak4613 Capture";
++
++ sndcpu: simple-audio-card,cpu@0 {
++ sound-dai = <&rcar_adsp_sound 0>;
++ };
++
++ simple-audio-card,cpu@1 {
++ sound-dai = <&rcar_adsp_sound 1>;
++ };
++
++ simple-audio-card,cpu@2 {
++ sound-dai = <&rcar_adsp_sound 2>;
++ };
++
++ simple-audio-card,cpu@3 {
++ sound-dai = <&rcar_adsp_sound 3>;
++ };
++
++ simple-audio-card,cpu@4 {
+ sound-dai = <&rcar_sound>;
+ };
+
+@@ -139,7 +170,6 @@
+ };
+ };
+
+-
+ vbus0_usb2: regulator-vbus0-usb2 {
+ compatible = "regulator-fixed";
+
+@@ -763,6 +793,12 @@
+ status = "okay";
+ };
+
++&rcar_adsp_sound {
++ status = "okay";
++ /* Multiple DAI */
++ #sound-dai-cells = <1>;
++};
++
+ &rcar_sound {
+ pinctrl-0 = <&sound_pins &sound_clk_pins>;
+ pinctrl-names = "default";
+--
+2.7.4
+