diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/boards/Kconfig | 2 | ||||
-rw-r--r-- | arch/sh/boards/mach-ecovec24/setup.c | 26 | ||||
-rw-r--r-- | arch/sh/boards/mach-se/7724/setup.c | 15 |
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 | ||
815 | static 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 | |||
821 | static 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 | |||
831 | static 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 */ |
815 | static struct resource irda_resources[] = { | 840 | static 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 | ||
308 | static struct fsi_ak4642_info fsi_ak4642_info = { | 309 | static 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 | |||
316 | static 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 | ||
317 | static struct platform_device fsi_ak4642_device = { | 326 | static 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 | }, |