aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/boards/Kconfig2
-rw-r--r--arch/sh/boards/mach-ecovec24/setup.c26
-rw-r--r--arch/sh/boards/mach-se/7724/setup.c15
3 files changed, 40 insertions, 3 deletions
diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
index 3a74b10922e6..1f56b35d3248 100644
--- a/arch/sh/boards/Kconfig
+++ b/arch/sh/boards/Kconfig
@@ -54,6 +54,7 @@ config SH_7724_SOLUTION_ENGINE
54 select SOLUTION_ENGINE 54 select SOLUTION_ENGINE
55 depends on CPU_SUBTYPE_SH7724 55 depends on CPU_SUBTYPE_SH7724
56 select ARCH_REQUIRE_GPIOLIB 56 select ARCH_REQUIRE_GPIOLIB
57 select SND_SOC_AK4642 if SND_SIMPLE_CARD
57 help 58 help
58 Select 7724 SolutionEngine if configuring for a Hitachi SH7724 59 Select 7724 SolutionEngine if configuring for a Hitachi SH7724
59 evaluation board. 60 evaluation board.
@@ -224,6 +225,7 @@ config SH_ECOVEC
224 bool "EcoVec" 225 bool "EcoVec"
225 depends on CPU_SUBTYPE_SH7724 226 depends on CPU_SUBTYPE_SH7724
226 select ARCH_REQUIRE_GPIOLIB 227 select ARCH_REQUIRE_GPIOLIB
228 select SND_SOC_DA7210 if SND_SIMPLE_CARD
227 help 229 help
228 Renesas "R0P7724LC0011/21RL (EcoVec)" support. 230 Renesas "R0P7724LC0011/21RL (EcoVec)" support.
229 231
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
index 63002c8a0ec8..4158d70c0dea 100644
--- a/arch/sh/boards/mach-ecovec24/setup.c
+++ b/arch/sh/boards/mach-ecovec24/setup.c
@@ -33,6 +33,7 @@
33#include <linux/videodev2.h> 33#include <linux/videodev2.h>
34#include <video/sh_mobile_lcdc.h> 34#include <video/sh_mobile_lcdc.h>
35#include <sound/sh_fsi.h> 35#include <sound/sh_fsi.h>
36#include <sound/simple_card.h>
36#include <media/sh_mobile_ceu.h> 37#include <media/sh_mobile_ceu.h>
37#include <media/soc_camera.h> 38#include <media/soc_camera.h>
38#include <media/tw9910.h> 39#include <media/tw9910.h>
@@ -811,6 +812,30 @@ static struct platform_device fsi_device = {
811 }, 812 },
812}; 813};
813 814
815static struct asoc_simple_dai_init_info fsi_da7210_init_info = {
816 .fmt = SND_SOC_DAIFMT_I2S,
817 .codec_daifmt = SND_SOC_DAIFMT_CBM_CFM,
818 .cpu_daifmt = SND_SOC_DAIFMT_CBS_CFS,
819};
820
821static struct asoc_simple_card_info fsi_da7210_info = {
822 .name = "DA7210",
823 .card = "FSIB-DA7210",
824 .cpu_dai = "fsib-dai",
825 .codec = "da7210.0-001a",
826 .platform = "sh_fsi.0",
827 .codec_dai = "da7210-hifi",
828 .init = &fsi_da7210_init_info,
829};
830
831static struct platform_device fsi_da7210_device = {
832 .name = "asoc-simple-card",
833 .dev = {
834 .platform_data = &fsi_da7210_info,
835 },
836};
837
838
814/* IrDA */ 839/* IrDA */
815static struct resource irda_resources[] = { 840static struct resource irda_resources[] = {
816 [0] = { 841 [0] = {
@@ -947,6 +972,7 @@ static struct platform_device *ecovec_devices[] __initdata = {
947 &camera_devices[1], 972 &camera_devices[1],
948 &camera_devices[2], 973 &camera_devices[2],
949 &fsi_device, 974 &fsi_device,
975 &fsi_da7210_device,
950 &irda_device, 976 &irda_device,
951 &vou_device, 977 &vou_device,
952#if defined(CONFIG_MMC_SH_MMCIF) || defined(CONFIG_MMC_SH_MMCIF_MODULE) 978#if defined(CONFIG_MMC_SH_MMCIF) || defined(CONFIG_MMC_SH_MMCIF_MODULE)
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
index dd931e36daf8..ffbf5bc7366b 100644
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ b/arch/sh/boards/mach-se/7724/setup.c
@@ -29,6 +29,7 @@
29#include <video/sh_mobile_lcdc.h> 29#include <video/sh_mobile_lcdc.h>
30#include <media/sh_mobile_ceu.h> 30#include <media/sh_mobile_ceu.h>
31#include <sound/sh_fsi.h> 31#include <sound/sh_fsi.h>
32#include <sound/simple_card.h>
32#include <asm/io.h> 33#include <asm/io.h>
33#include <asm/heartbeat.h> 34#include <asm/heartbeat.h>
34#include <asm/clock.h> 35#include <asm/clock.h>
@@ -305,17 +306,25 @@ static struct platform_device fsi_device = {
305 }, 306 },
306}; 307};
307 308
308static struct fsi_ak4642_info fsi_ak4642_info = { 309static struct asoc_simple_dai_init_info fsi2_ak4642_init_info = {
310 .fmt = SND_SOC_DAIFMT_LEFT_J,
311 .codec_daifmt = SND_SOC_DAIFMT_CBM_CFM,
312 .cpu_daifmt = SND_SOC_DAIFMT_CBS_CFS,
313 .sysclk = 11289600,
314};
315
316static struct asoc_simple_card_info fsi_ak4642_info = {
309 .name = "AK4642", 317 .name = "AK4642",
310 .card = "FSIA-AK4642", 318 .card = "FSIA-AK4642",
311 .cpu_dai = "fsia-dai", 319 .cpu_dai = "fsia-dai",
312 .codec = "ak4642-codec.0-0012", 320 .codec = "ak4642-codec.0-0012",
313 .platform = "sh_fsi.0", 321 .platform = "sh_fsi.0",
314 .id = FSI_PORT_A, 322 .codec_dai = "ak4642-hifi",
323 .init = &fsi2_ak4642_init_info,
315}; 324};
316 325
317static struct platform_device fsi_ak4642_device = { 326static struct platform_device fsi_ak4642_device = {
318 .name = "fsi-ak4642-audio", 327 .name = "asoc-simple-card",
319 .dev = { 328 .dev = {
320 .platform_data = &fsi_ak4642_info, 329 .platform_data = &fsi_ak4642_info,
321 }, 330 },