From 81528aacc64df60f2471873deca3f1092d47b6ae Mon Sep 17 00:00:00 2001 From: tienphitran Date: Mon, 15 Oct 2018 17:56:29 +0700 Subject: [PATCH 4/4] Update device tree for ADSP sound driver Signed-off-by: tienphitran 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