aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/Kconfig2
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c35
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c35
3 files changed, 64 insertions, 8 deletions
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 98327b7a503c..f31383c32f9c 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -64,6 +64,7 @@ config MACH_AP4EVB
64 depends on ARCH_SH7372 64 depends on ARCH_SH7372
65 select ARCH_REQUIRE_GPIOLIB 65 select ARCH_REQUIRE_GPIOLIB
66 select SH_LCD_MIPI_DSI 66 select SH_LCD_MIPI_DSI
67 select SND_SOC_AK4642 if SND_SIMPLE_CARD
67 68
68choice 69choice
69 prompt "AP4EVB LCD panel selection" 70 prompt "AP4EVB LCD panel selection"
@@ -88,6 +89,7 @@ config MACH_MACKEREL
88 bool "mackerel board" 89 bool "mackerel board"
89 depends on ARCH_SH7372 90 depends on ARCH_SH7372
90 select ARCH_REQUIRE_GPIOLIB 91 select ARCH_REQUIRE_GPIOLIB
92 select SND_SOC_AK4642 if SND_SIMPLE_CARD
91 93
92config MACH_KOTA2 94config MACH_KOTA2
93 bool "KOTA2 board" 95 bool "KOTA2 board"
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index 0c3caeba2f3e..b540b8eb20ca 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -50,6 +50,7 @@
50#include <media/soc_camera.h> 50#include <media/soc_camera.h>
51 51
52#include <sound/sh_fsi.h> 52#include <sound/sh_fsi.h>
53#include <sound/simple_card.h>
53 54
54#include <video/sh_mobile_hdmi.h> 55#include <video/sh_mobile_hdmi.h>
55#include <video/sh_mobile_lcdc.h> 56#include <video/sh_mobile_lcdc.h>
@@ -785,17 +786,25 @@ static struct platform_device fsi_device = {
785 }, 786 },
786}; 787};
787 788
788static struct fsi_ak4642_info fsi2_ak4643_info = { 789static struct asoc_simple_dai_init_info fsi2_ak4643_init_info = {
790 .fmt = SND_SOC_DAIFMT_LEFT_J,
791 .codec_daifmt = SND_SOC_DAIFMT_CBM_CFM,
792 .cpu_daifmt = SND_SOC_DAIFMT_CBS_CFS,
793 .sysclk = 11289600,
794};
795
796static struct asoc_simple_card_info fsi2_ak4643_info = {
789 .name = "AK4643", 797 .name = "AK4643",
790 .card = "FSI2A-AK4643", 798 .card = "FSI2A-AK4643",
791 .cpu_dai = "fsia-dai", 799 .cpu_dai = "fsia-dai",
792 .codec = "ak4642-codec.0-0013", 800 .codec = "ak4642-codec.0-0013",
793 .platform = "sh_fsi2", 801 .platform = "sh_fsi2",
794 .id = FSI_PORT_A, 802 .codec_dai = "ak4642-hifi",
803 .init = &fsi2_ak4643_init_info,
795}; 804};
796 805
797static struct platform_device fsi_ak4643_device = { 806static struct platform_device fsi_ak4643_device = {
798 .name = "fsi-ak4642-audio", 807 .name = "asoc-simple-card",
799 .dev = { 808 .dev = {
800 .platform_data = &fsi2_ak4643_info, 809 .platform_data = &fsi2_ak4643_info,
801 }, 810 },
@@ -900,8 +909,26 @@ static struct platform_device lcdc1_device = {
900 }, 909 },
901}; 910};
902 911
912static struct asoc_simple_dai_init_info fsi2_hdmi_init_info = {
913 .cpu_daifmt = SND_SOC_DAIFMT_CBM_CFM,
914};
915
916static struct asoc_simple_card_info fsi2_hdmi_info = {
917 .name = "HDMI",
918 .card = "FSI2B-HDMI",
919 .cpu_dai = "fsib-dai",
920 .codec = "sh-mobile-hdmi",
921 .platform = "sh_fsi2",
922 .codec_dai = "sh_mobile_hdmi-hifi",
923 .init = &fsi2_hdmi_init_info,
924};
925
903static struct platform_device fsi_hdmi_device = { 926static struct platform_device fsi_hdmi_device = {
904 .name = "sh_fsi2_b_hdmi", 927 .name = "asoc-simple-card",
928 .id = 1,
929 .dev = {
930 .platform_data = &fsi2_hdmi_info,
931 },
905}; 932};
906 933
907static struct gpio_led ap4evb_leds[] = { 934static struct gpio_led ap4evb_leds[] = {
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index aae2e24fde46..50c67b22d087 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -53,6 +53,7 @@
53#include <media/soc_camera.h> 53#include <media/soc_camera.h>
54#include <media/soc_camera_platform.h> 54#include <media/soc_camera_platform.h>
55#include <sound/sh_fsi.h> 55#include <sound/sh_fsi.h>
56#include <sound/simple_card.h>
56 57
57#include <mach/common.h> 58#include <mach/common.h>
58#include <mach/irqs.h> 59#include <mach/irqs.h>
@@ -502,8 +503,26 @@ static struct platform_device hdmi_lcdc_device = {
502 }, 503 },
503}; 504};
504 505
506static struct asoc_simple_dai_init_info fsi2_hdmi_init_info = {
507 .cpu_daifmt = SND_SOC_DAIFMT_CBM_CFM,
508};
509
510static struct asoc_simple_card_info fsi2_hdmi_info = {
511 .name = "HDMI",
512 .card = "FSI2B-HDMI",
513 .cpu_dai = "fsib-dai",
514 .codec = "sh-mobile-hdmi",
515 .platform = "sh_fsi2",
516 .codec_dai = "sh_mobile_hdmi-hifi",
517 .init = &fsi2_hdmi_init_info,
518};
519
505static struct platform_device fsi_hdmi_device = { 520static struct platform_device fsi_hdmi_device = {
506 .name = "sh_fsi2_b_hdmi", 521 .name = "asoc-simple-card",
522 .id = 1,
523 .dev = {
524 .platform_data = &fsi2_hdmi_info,
525 },
507}; 526};
508 527
509static void __init hdmi_init_pm_clock(void) 528static void __init hdmi_init_pm_clock(void)
@@ -945,17 +964,25 @@ static struct platform_device fsi_device = {
945 }, 964 },
946}; 965};
947 966
948static struct fsi_ak4642_info fsi2_ak4643_info = { 967static struct asoc_simple_dai_init_info fsi2_ak4643_init_info = {
968 .fmt = SND_SOC_DAIFMT_LEFT_J,
969 .codec_daifmt = SND_SOC_DAIFMT_CBM_CFM,
970 .cpu_daifmt = SND_SOC_DAIFMT_CBS_CFS,
971 .sysclk = 11289600,
972};
973
974static struct asoc_simple_card_info fsi2_ak4643_info = {
949 .name = "AK4643", 975 .name = "AK4643",
950 .card = "FSI2A-AK4643", 976 .card = "FSI2A-AK4643",
951 .cpu_dai = "fsia-dai", 977 .cpu_dai = "fsia-dai",
952 .codec = "ak4642-codec.0-0013", 978 .codec = "ak4642-codec.0-0013",
953 .platform = "sh_fsi2", 979 .platform = "sh_fsi2",
954 .id = FSI_PORT_A, 980 .codec_dai = "ak4642-hifi",
981 .init = &fsi2_ak4643_init_info,
955}; 982};
956 983
957static struct platform_device fsi_ak4643_device = { 984static struct platform_device fsi_ak4643_device = {
958 .name = "fsi-ak4642-audio", 985 .name = "asoc-simple-card",
959 .dev = { 986 .dev = {
960 .platform_data = &fsi2_ak4643_info, 987 .platform_data = &fsi2_ak4643_info,
961 }, 988 },