1 The ADSP on Renesas SoCs required a reserved memory area to become
2 enabled, and this needs to be done manually.
4 This patch adds sound hardware abstraction information for the m3ulcb
5 and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the
6 ADSP for dynamically determining sound hardware at runtime, allowing
7 single binaries to be used between the two boards.
9 Future work will incorporate the h3ulcb and Salvator boards into the
12 Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
14 diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
15 index de2390f009e7..4ccfa8315d17 100644
16 --- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
17 +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
19 compatible = "shimafuji,kingfisher", "renesas,m3ulcb",
25 + /* ADSP playback setting for pcm3168 */
26 + adsp_playback0: adsp,playback {
28 + clock-mode = "master";
33 + pin-share-ssi = <4>;
36 + /* ADSP capture setting for pcm3168 */
37 + adsp_capture0: adsp,capture {
39 + clock-mode = "slave";
44 + pin-share-ssi = <3>;
49 + playback = <&adsp_playback0>;
50 + capture = <&adsp_capture0>;
54 \ No newline at end of file
55 diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
56 index 1cd64c1b3b31..71e59da3528d 100644
57 --- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
58 +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
60 reg = <0x00000000 0x54000000 0x0 0x03000000>;
64 + adsp_reserved: linux,adsp {
65 + compatible = "shared-dma-pool";
67 + reg = <0x00000000 0x57000000 0x0 0x01000000>;
70 /* global autoconfigured region for contiguous allocations */
72 compatible = "shared-dma-pool";
74 - reg = <0x00000000 0x57000000 0x0 0x19000000>;
75 + reg = <0x00000000 0x58000000 0x0 0x18000000>;
80 "dclkin.0", "dclkin.1", "dclkin.2";
85 + clock-frequency = <12288000 11289600>;
86 + audio-clocks = <22579200 24576000>;
87 + memory-region = <&adsp_reserved>;
89 + /* ADSP playback setting for ak4613 */
90 + adsp_playback0: adsp,playback {
92 + clock-mode = "master";
97 + pin-share-ssi = <1>;
100 + /* ADSP capture setting for ak4613 */
101 + adsp_capture0: adsp,capture {
103 + clock-mode = "slave";
108 + pin-share-ssi = <0>;
113 + playback = <&adsp_playback0>;
114 + capture = <&adsp_capture0>;