X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=meta-agl-bsp%2Fmeta-rcar-gen3%2Frecipes-kernel%2Flinux%2Ffiles%2F0004-ADSP-enable-and-add-sound-hardware-abstraction.patch;h=9c7f01b26e888d9e846809463e329ccb31794dfd;hb=HEAD;hp=966b006a2756980977ca6b57c4a070c7af8f759d;hpb=4232903d06ebc92dff71e943e7a74b198adfd389;p=AGL%2Fmeta-agl.git diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch index 966b006a2..9c7f01b26 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch @@ -1,10 +1,13 @@ -The ADSP on Renesas SoCs required a reserved memory area to become -enabled, and this needs to be done manually. +From 274657edb779d77ad0fe5ccb52b51634d075adf8 Mon Sep 17 00:00:00 2001 +From: invalid_git config +Date: Wed, 6 Oct 2021 14:42:47 +0000 +Subject: [PATCH 2/2] 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. +single binaries to be used between the two boards. Future work will incorporate the h3ulcb and Salvator boards into the abstraction. @@ -12,39 +15,66 @@ abstraction. Signed-off-by: Ronan Le Martret Signed-off-by: Mark Farrugia --- -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"; - }; + arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts | 45 ++++++++++++++++++- + arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts | 45 ++++++++++++++++++- + 2 files changed, 88 insertions(+), 2 deletions(-) + +diff --git a/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts b/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts +index fbc8c9af6e52..df3bd589d9bb 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts +@@ -62,11 +62,18 @@ lossy_decompress: linux,lossy_decompress@54000000 { + reg = <0x00000000 0x54000000 0x0 0x03000000>; + }; ++ /* For Audio DSP */ ++ adsp_reserved: linux,adsp { ++ compatible = "shared-dma-pool"; ++ reusable; ++ reg = <0x00000000 0x57000000 0x0 0x01000000>; ++ }; + + /* global autoconfigured region for contiguous allocations */ + linux,cma@57000000 { + compatible = "shared-dma-pool"; + reusable; +- reg = <0x00000000 0x57000000 0x0 0x19000000>; ++ reg = <0x00000000 0x58000000 0x0 0x18000000>; + linux,cma-default; + }; + +@@ -126,6 +133,42 @@ &du { + "dclkin.0", "dclkin.1", "dclkin.2"; + }; + +&adsp { ++ status = "okay"; ++ clock-frequency = <12288000 11289600>; ++ audio-clocks = <22579200 24576000>; ++ memory-region = <&adsp_reserved>; + -+ /* ADSP playback setting for pcm3168 */ ++ /* ADSP playback setting for ak4613 */ + adsp_playback0: adsp,playback { -+ mode = "tdm"; ++ mode = "i2s"; + clock-mode = "master"; -+ bus-width = <24>; -+ ssi = <3>; ++ bus-width = <16>; ++ ssi = <0>; + bus-if = <0>; -+ channels = <8>; -+ pin-share-ssi = <4>; ++ channels = <2>; ++ pin-share-ssi = <1>; + }; + -+ /* ADSP capture setting for pcm3168 */ ++ /* ADSP capture setting for ak4613 */ + adsp_capture0: adsp,capture { -+ mode = "tdm"; ++ mode = "i2s"; + clock-mode = "slave"; -+ bus-width = <24>; -+ ssi = <4>; ++ bus-width = <16>; ++ ssi = <1>; + bus-if = <0>; -+ channels = <8>; -+ pin-share-ssi = <3>; ++ channels = <2>; ++ pin-share-ssi = <0>; + }; -+ ++ + adsp,ports { + port@0 { + playback = <&adsp_playback0>; @@ -53,14 +83,14 @@ index de2390f009e7..4ccfa8315d17 100644 + }; +}; + - &du { - ports { - port@0 { -diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts -index 1cd64c1b3b31..71e59da3528d 100644 ---- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts -+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts -@@ -42,11 +42,18 @@ + &vspb { + status = "okay"; + }; +diff --git a/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts b/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts +index e57dd7bb43f7..f583cc6c18bf 100644 +--- a/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts +@@ -41,11 +41,18 @@ lossy_decompress: linux,lossy_decompress@54000000 { reg = <0x00000000 0x54000000 0x0 0x03000000>; }; @@ -80,7 +110,7 @@ index 1cd64c1b3b31..71e59da3528d 100644 linux,cma-default; }; -@@ -110,6 +117,42 @@ +@@ -89,6 +96,42 @@ &du { "dclkin.0", "dclkin.1", "dclkin.2"; }; @@ -123,3 +153,6 @@ index 1cd64c1b3b31..71e59da3528d 100644 &vspb { status = "okay"; }; +-- +2.31.1 +