diff options
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r-- | arch/arm/mach-shmobile/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-ap4evb.c | 35 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-mackerel.c | 35 |
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 | ||
68 | choice | 69 | choice |
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 | ||
92 | config MACH_KOTA2 | 94 | config 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 | ||
788 | static struct fsi_ak4642_info fsi2_ak4643_info = { | 789 | static 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 | |||
796 | static 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 | ||
797 | static struct platform_device fsi_ak4643_device = { | 806 | static 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 | ||
912 | static struct asoc_simple_dai_init_info fsi2_hdmi_init_info = { | ||
913 | .cpu_daifmt = SND_SOC_DAIFMT_CBM_CFM, | ||
914 | }; | ||
915 | |||
916 | static 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 | |||
903 | static struct platform_device fsi_hdmi_device = { | 926 | static 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 | ||
907 | static struct gpio_led ap4evb_leds[] = { | 934 | static 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 | ||
506 | static struct asoc_simple_dai_init_info fsi2_hdmi_init_info = { | ||
507 | .cpu_daifmt = SND_SOC_DAIFMT_CBM_CFM, | ||
508 | }; | ||
509 | |||
510 | static 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 | |||
505 | static struct platform_device fsi_hdmi_device = { | 520 | static 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 | ||
509 | static void __init hdmi_init_pm_clock(void) | 528 | static void __init hdmi_init_pm_clock(void) |
@@ -945,17 +964,25 @@ static struct platform_device fsi_device = { | |||
945 | }, | 964 | }, |
946 | }; | 965 | }; |
947 | 966 | ||
948 | static struct fsi_ak4642_info fsi2_ak4643_info = { | 967 | static 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 | |||
974 | static 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 | ||
957 | static struct platform_device fsi_ak4643_device = { | 984 | static 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 | }, |