From 177d8bea33899cef3989a2d0b4ea7213b5f34d0a Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:47:46 -0800 Subject: ARM: shmobile: lager: fixup IIC2 clock frequency Current Lager IIC2 is using default clock frequency, but, ak4643 audio codec chip needs 100kHz This patch clarifies IIC2 clock frequency as 100kHz. Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 830f2e87df49..86fb2ee29782 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -429,6 +429,8 @@ pinctrl-0 = <&iic2_pins>; pinctrl-names = "default"; + clock-frequency = <100000>; + composite-in@20 { compatible = "adi,adv7180"; reg = <0x20>; -- cgit From 8ea7a44a98d6c992ffc0013f7a83d9829121292d Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:47:56 -0800 Subject: ARM: shmobile: lager: Sound PIO support on DTS Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 86fb2ee29782..c2b4f65b904e 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -9,6 +9,18 @@ * kind, whether express or implied. */ +/* + * SSI-AK4643 + * + * SW1: 1: AK4643 + * 2: CN22 + * 3: ADV7511 + * + * This command is required when Playback/Capture + * + * amixer set "LINEOUT Mixer DACL" on + */ + /dts-v1/; #include "r8a7790.dtsi" #include @@ -146,6 +158,23 @@ 1800000 0>; }; + sound { + compatible = "simple-audio-card"; + + simple-audio-card,format = "left_j"; + simple-audio-card,bitclock-master = <&sndcodec>; + simple-audio-card,frame-master = <&sndcodec>; + + sndcpu: simple-audio-card,cpu { + sound-dai = <&rcar_sound>; + }; + + sndcodec: simple-audio-card,codec { + sound-dai = <&ak4643>; + system-clock-frequency = <11289600>; + }; + }; + vga-encoder { compatible = "adi,adv7123"; @@ -292,6 +321,16 @@ renesas,groups = "vin1_data8", "vin1_clk"; renesas,function = "vin1"; }; + + sound_pins: sound { + renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data"; + renesas,function = "ssi"; + }; + + sound_clk_pins: sound_clk { + renesas,groups = "audio_clk_a"; + renesas,function = "audio_clk"; + }; }; ðer { @@ -431,6 +470,12 @@ clock-frequency = <100000>; + ak4643: sound-codec@12 { + compatible = "asahi-kasei,ak4643"; + #sound-dai-cells = <0>; + reg = <0x12>; + }; + composite-in@20 { compatible = "adi,adv7180"; reg = <0x20>; @@ -513,3 +558,28 @@ }; }; }; + +&rcar_sound { + pinctrl-0 = <&sound_pins &sound_clk_pins>; + pinctrl-names = "default"; + + #sound-dai-cells = <0>; + + status = "okay"; + + rcar_sound,dai { + dai0 { + playback = <&ssi0>; + capture = <&ssi1>; + }; + }; +}; + +&ssi0 { + pio-transfer; +}; + +&ssi1 { + pio-transfer; + shared-pin; +}; -- cgit From 67e8877d52e73e4cc73ebc84c41c73717d391da0 Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:48:06 -0800 Subject: ARM: shmobile: lager: Sound DMA support on DTS DMA transfer to/from SSI DMA [MEM] -> [SSI] DMA [MEM] <- [SSI] Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index c2b4f65b904e..93630d088889 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -576,10 +576,10 @@ }; &ssi0 { - pio-transfer; + no-busif; }; &ssi1 { - pio-transfer; + no-busif; shared-pin; }; -- cgit From 1d42e9041cf09c585f4f3844dbc68ec7c2bbe9f6 Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:48:16 -0800 Subject: ARM: shmobile: lager: Sound DMA support via BUSIF on DTS DMA transfer to/from SSIU DMA [MEM] -> [SSIU] -> [SSI] DMA [MEM] <- [SSIU] <- [SSI] Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 5 ----- 1 file changed, 5 deletions(-) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 93630d088889..0634fffaacd2 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -575,11 +575,6 @@ }; }; -&ssi0 { - no-busif; -}; - &ssi1 { - no-busif; shared-pin; }; -- cgit From 7e78eb69a1cd79dfde9fef5256333cddb98b8f7a Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:48:27 -0800 Subject: ARM: shmobile: lager: Sound DMA support via SRC on DTS DMA transfer to/from SRC DMA DMApp [MEM] -> [SRC] -> [SSIU] -> [SSI] DMA DMApp [MEM] <- [SRC] <- [SSIU] <- [SSI] Current sound driver is supporting SSI/SRC random connection. So, this patch is tring SSI0 -> SRC2 SSI1 <- SRC3 Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 0634fffaacd2..a249270a789f 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -569,8 +569,8 @@ rcar_sound,dai { dai0 { - playback = <&ssi0>; - capture = <&ssi1>; + playback = <&ssi0 &src2>; + capture = <&ssi1 &src3>; }; }; }; -- cgit From e110c54107d9095c507645f8d95ec85ca250bc37 Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Mon, 3 Nov 2014 17:48:38 -0800 Subject: ARM: shmobile: lager: Sound DMA support via DVC on DTS DMA transfer uses DVC DMA DMApp [MEM] -> [SRC] -> [DVC] -> [SSIU] -> [SSI] DMA DMApp [MEM] <- [DVC] <- [SRC] <- [SSIU] <- [SSI] Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index a249270a789f..2f91740505fd 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -19,6 +19,13 @@ * This command is required when Playback/Capture * * amixer set "LINEOUT Mixer DACL" on + * amixer set "DVC Out" 100% + * amixer set "DVC In" 100% + * + * You can use Mute + * + * amixer set "DVC Out Mute" on + * amixer set "DVC In Mute" on */ /dts-v1/; @@ -569,8 +576,8 @@ rcar_sound,dai { dai0 { - playback = <&ssi0 &src2>; - capture = <&ssi1 &src3>; + playback = <&ssi0 &src2 &dvc0>; + capture = <&ssi1 &src3 &dvc1>; }; }; }; -- cgit From bd2e4a62ef68b3c5a8542026533bd87c631c544d Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Tue, 11 Nov 2014 04:36:47 +0000 Subject: ARM: shmobile: lager: add Volume Ramp usage on comment Signed-off-by: Kuninori Morimoto Signed-off-by: Simon Horman --- arch/arm/boot/dts/r8a7790-lager.dts | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'arch/arm/boot/dts/r8a7790-lager.dts') diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 2f91740505fd..a2351587dfe4 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts @@ -26,6 +26,15 @@ * * amixer set "DVC Out Mute" on * amixer set "DVC In Mute" on + * + * You can use Volume Ramp + * + * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" + * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" + * amixer set "DVC Out Ramp" on + * aplay xxx.wav & + * amixer set "DVC Out" 80% // Volume Down + * amixer set "DVC Out" 100% // Volume Up */ /dts-v1/; -- cgit