Re: [PATCH 4/4] arm64: dts: renesas: ebisu: Enable Audio

2018-10-31 Thread Simon Horman
On Mon, Oct 15, 2018 at 11:59:24AM +0200, Simon Horman wrote:
> From: Takeshi Kihara 
> 
> This patch enables Audio for the Ebisu board on R8A77990 SoC.
> 
> Signed-off-by: Takeshi Kihara 
> [simon: rebased]
> Signed-off-by: Simon Horman 

Applied for v4.21.


[PATCH 4/4] arm64: dts: renesas: ebisu: Enable Audio

2018-10-15 Thread Simon Horman
From: Takeshi Kihara 

This patch enables Audio for the Ebisu board on R8A77990 SoC.

Signed-off-by: Takeshi Kihara 
[simon: rebased]
Signed-off-by: Simon Horman 
---
 arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts | 127 +
 1 file changed, 127 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts 
b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
index f342dd85b152..5490e94ce47b 100644
--- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
@@ -29,6 +29,16 @@
reg = <0x0 0x4800 0x0 0x3800>;
};
 
+   audio_clkout: audio-clkout {
+   /*
+* This is same as <_sound 0>
+* but needed to avoid cs2000/rcar_sound probe dead-lock
+*/
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <11289600>;
+   };
+
cvbs-in {
compatible = "composite-video-connector";
label = "CVBS IN";
@@ -128,6 +138,32 @@
regulator-always-on;
};
 
+   rsnd_ak4613: sound {
+   compatible = "simple-scu-audio-card";
+
+   simple-audio-card,name = "rsnd-ak4613";
+   simple-audio-card,format = "left_j";
+   simple-audio-card,bitclock-master = <>;
+   simple-audio-card,frame-master = <>;
+
+   simple-audio-card,prefix = "ak4613";
+   simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
+   "DAI0 Capture", "ak4613 Capture";
+   sndcpu: simple-audio-card,cpu {
+   sound-dai = <_sound>;
+   };
+
+   sndcodec: simple-audio-card,codec {
+   sound-dai = <>;
+   };
+   };
+
+   x12_clk: x12 {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <24576000>;
+   };
+
x13_clk: x13 {
compatible = "fixed-clock";
#clock-cells = <0>;
@@ -135,6 +171,10 @@
};
 };
 
+_clk_a {
+   clock-frequency = <22579200>;
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
@@ -270,6 +310,37 @@
};
 };
 
+ {
+   status = "okay";
+
+   ak4613: codec@10 {
+   compatible = "asahi-kasei,ak4613";
+   #sound-dai-cells = <0>;
+   reg = <0x10>;
+   clocks = <_sound 3>;
+
+   asahi-kasei,in1-single-end;
+   asahi-kasei,in2-single-end;
+   asahi-kasei,out1-single-end;
+   asahi-kasei,out2-single-end;
+   asahi-kasei,out3-single-end;
+   asahi-kasei,out4-single-end;
+   asahi-kasei,out5-single-end;
+   asahi-kasei,out6-single-end;
+   };
+
+   cs2000: clk-multiplier@4f {
+   #clock-cells = <0>;
+   compatible = "cirrus,cs2000-cp";
+   reg = <0x4f>;
+   clocks = <_clkout>, <_clk>;
+   clock-names = "clk_in", "ref_clk";
+
+   assigned-clocks = <>;
+   assigned-clock-rates = <24576000>; /* 1/1 divide */
+   };
+};
+
  {
status = "okay";
 
@@ -321,6 +392,17 @@
function = "pwm5";
};
 
+   sound_pins: sound {
+   groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data";
+   function = "ssi";
+   };
+
+   sound_clk_pins: sound_clk {
+   groups = "audio_clk_a", "audio_clk_b_a", "audio_clk_c_a",
+"audio_clkout_a", "audio_clkout1_a";
+   function = "audio_clk";
+   };
+
usb0_pins: usb {
groups = "usb0_b";
function = "usb0";
@@ -346,6 +428,47 @@
status = "okay";
 };
 
+_sound {
+   pinctrl-0 = <_pins _clk_pins>;
+   pinctrl-names = "default";
+
+   /* Single DAI */
+   #sound-dai-cells = <0>;
+
+   /* audio_clkout0/1/2/3 */
+   #clock-cells = <1>;
+   clock-frequency = <12288000 11289600>;
+   clkout-lr-synchronous;
+
+   status = "okay";
+
+   /* update  to  */
+   clocks = < CPG_MOD 1005>,
+< CPG_MOD 1006>, < CPG_MOD 1007>,
+< CPG_MOD 1008>, < CPG_MOD 1009>,
+< CPG_MOD 1010>, < CPG_MOD 1011>,
+< CPG_MOD 1012>, < CPG_MOD 1013>,
+< CPG_MOD 1014>, < CPG_MOD 1015>,
+< CPG_MOD 1022>, < CPG_MOD 1023>,
+< CPG_MOD 1024>, < CPG_MOD 1025>,
+< CPG_MOD 1026>, < CPG_MOD 1027>,
+< CPG_MOD 1028>, < CPG_MOD 1029>,
+< CPG_MOD 1030>, < CPG_MOD 1031>,
+< CPG_MOD 1020>, < CPG_MOD 1021>,
+< CPG_MOD 1020>, < CPG_MOD 1021>,
+< CPG_MOD 1019>, < CPG_MOD 1018>,
+<_clk_a>, <>, <_clk_c>,
+