diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-03-05 09:07:33 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-03-05 09:07:33 -0500 |
commit | 650d6e25cde82fda425995ba77ed4b0ad3be5b8d (patch) | |
tree | 44ed9829a0b1797d4eea907aa1ed68273f7e3692 /arch/arm/mach-omap2/board-4430sdp.c | |
parent | 6b21ed851624a03f11ea9ed3f229f56419e03686 (diff) | |
parent | ad20ff920c1fd217578e2c637dd50c1878a21c06 (diff) |
Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc
This has been a very active release for ASoC, as well as the usual raft
of bugfixes and driver updates there's quite a few framework enhancements.
Most are either small or are laying the groundwork for user visible
features (especially dynamic PCM), the most directly visible change is
the dmaengine library. There's also a bunch of regmap API enhancements
pulled into the tree so that either the framework or drivers can take
advantage of the new features.
Changes include:
- Support for widgets not associated with a CODEC, an important part of
the dynamic PCM framework.
- A library factoring out the common code shared by dmaengine based DMA
drivers contributed by Lars-Peter Clausen. This will save a lot of
code and make it much easier to deploy enhancements to dmaengine.
- Support for binary controls, used for providing runtime configuration
of algorithm coefficients.
- A new DAPM widget type for regulator supplies allowing drivers for
devices that can power down unused supplies while active to do without
any per-driver code.
- DAPM widgets for DAIs, initially giving a speed boost for playback
startup and shutdown and also the basis for CODEC<->CODEC DAI link
support.
- Support for specifying the number of significant bits on audio
interfaces, useful for allowing applications to know how much effort to
put into generating data for a larger sample format.
- Conversion of the FSI driver used on some SH processors to DMAEngine.
- New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 7eaeb0806e28..90c76d340fb3 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -53,8 +53,9 @@ | |||
53 | #define ETH_KS8851_QUART 138 | 53 | #define ETH_KS8851_QUART 138 |
54 | #define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184 | 54 | #define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184 |
55 | #define OMAP4_SFH7741_ENABLE_GPIO 188 | 55 | #define OMAP4_SFH7741_ENABLE_GPIO 188 |
56 | #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */ | 56 | #define HDMI_GPIO_CT_CP_HPD 60 /* HPD mode enable/disable */ |
57 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ | 57 | #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ |
58 | #define HDMI_GPIO_HPD 63 /* Hotplug detect */ | ||
58 | #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ | 59 | #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ |
59 | #define DLP_POWER_ON_GPIO 40 | 60 | #define DLP_POWER_ON_GPIO 40 |
60 | 61 | ||
@@ -632,8 +633,9 @@ static void __init omap_sfh7741prox_init(void) | |||
632 | } | 633 | } |
633 | 634 | ||
634 | static struct gpio sdp4430_hdmi_gpios[] = { | 635 | static struct gpio sdp4430_hdmi_gpios[] = { |
635 | { HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_hpd" }, | 636 | { HDMI_GPIO_CT_CP_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ct_cp_hpd" }, |
636 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, | 637 | { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" }, |
638 | { HDMI_GPIO_HPD, GPIOF_DIR_IN, "hdmi_gpio_hpd" }, | ||
637 | }; | 639 | }; |
638 | 640 | ||
639 | static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) | 641 | static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) |
@@ -650,8 +652,7 @@ static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev) | |||
650 | 652 | ||
651 | static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) | 653 | static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) |
652 | { | 654 | { |
653 | gpio_free(HDMI_GPIO_LS_OE); | 655 | gpio_free_array(sdp4430_hdmi_gpios, ARRAY_SIZE(sdp4430_hdmi_gpios)); |
654 | gpio_free(HDMI_GPIO_HPD); | ||
655 | } | 656 | } |
656 | 657 | ||
657 | static struct nokia_dsi_panel_data dsi1_panel = { | 658 | static struct nokia_dsi_panel_data dsi1_panel = { |
@@ -767,6 +768,10 @@ static void sdp4430_lcd_init(void) | |||
767 | pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); | 768 | pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); |
768 | } | 769 | } |
769 | 770 | ||
771 | static struct omap_dss_hdmi_data sdp4430_hdmi_data = { | ||
772 | .hpd_gpio = HDMI_GPIO_HPD, | ||
773 | }; | ||
774 | |||
770 | static struct omap_dss_device sdp4430_hdmi_device = { | 775 | static struct omap_dss_device sdp4430_hdmi_device = { |
771 | .name = "hdmi", | 776 | .name = "hdmi", |
772 | .driver_name = "hdmi_panel", | 777 | .driver_name = "hdmi_panel", |
@@ -774,6 +779,7 @@ static struct omap_dss_device sdp4430_hdmi_device = { | |||
774 | .platform_enable = sdp4430_panel_enable_hdmi, | 779 | .platform_enable = sdp4430_panel_enable_hdmi, |
775 | .platform_disable = sdp4430_panel_disable_hdmi, | 780 | .platform_disable = sdp4430_panel_disable_hdmi, |
776 | .channel = OMAP_DSS_CHANNEL_DIGIT, | 781 | .channel = OMAP_DSS_CHANNEL_DIGIT, |
782 | .data = &sdp4430_hdmi_data, | ||
777 | }; | 783 | }; |
778 | 784 | ||
779 | static struct picodlp_panel_data sdp4430_picodlp_pdata = { | 785 | static struct picodlp_panel_data sdp4430_picodlp_pdata = { |
@@ -837,7 +843,7 @@ static struct omap_dss_board_info sdp4430_dss_data = { | |||
837 | .default_device = &sdp4430_lcd_device, | 843 | .default_device = &sdp4430_lcd_device, |
838 | }; | 844 | }; |
839 | 845 | ||
840 | static void omap_4430sdp_display_init(void) | 846 | static void __init omap_4430sdp_display_init(void) |
841 | { | 847 | { |
842 | int r; | 848 | int r; |
843 | 849 | ||
@@ -858,6 +864,10 @@ static void omap_4430sdp_display_init(void) | |||
858 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); | 864 | omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP); |
859 | else | 865 | else |
860 | omap_hdmi_init(0); | 866 | omap_hdmi_init(0); |
867 | |||
868 | omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT); | ||
869 | omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT); | ||
870 | omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN); | ||
861 | } | 871 | } |
862 | 872 | ||
863 | #ifdef CONFIG_OMAP_MUX | 873 | #ifdef CONFIG_OMAP_MUX |
@@ -870,7 +880,7 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
870 | #define board_mux NULL | 880 | #define board_mux NULL |
871 | #endif | 881 | #endif |
872 | 882 | ||
873 | static void omap4_sdp4430_wifi_mux_init(void) | 883 | static void __init omap4_sdp4430_wifi_mux_init(void) |
874 | { | 884 | { |
875 | omap_mux_init_gpio(GPIO_WIFI_IRQ, OMAP_PIN_INPUT | | 885 | omap_mux_init_gpio(GPIO_WIFI_IRQ, OMAP_PIN_INPUT | |
876 | OMAP_PIN_OFF_WAKEUPENABLE); | 886 | OMAP_PIN_OFF_WAKEUPENABLE); |
@@ -897,12 +907,17 @@ static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = { | |||
897 | .board_tcxo_clock = WL12XX_TCXOCLOCK_26, | 907 | .board_tcxo_clock = WL12XX_TCXOCLOCK_26, |
898 | }; | 908 | }; |
899 | 909 | ||
900 | static void omap4_sdp4430_wifi_init(void) | 910 | static void __init omap4_sdp4430_wifi_init(void) |
901 | { | 911 | { |
912 | int ret; | ||
913 | |||
902 | omap4_sdp4430_wifi_mux_init(); | 914 | omap4_sdp4430_wifi_mux_init(); |
903 | if (wl12xx_set_platform_data(&omap4_sdp4430_wlan_data)) | 915 | ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data); |
904 | pr_err("Error setting wl12xx data\n"); | 916 | if (ret) |
905 | platform_device_register(&omap_vwlan_device); | 917 | pr_err("Error setting wl12xx data: %d\n", ret); |
918 | ret = platform_device_register(&omap_vwlan_device); | ||
919 | if (ret) | ||
920 | pr_err("Error registering wl12xx device: %d\n", ret); | ||
906 | } | 921 | } |
907 | 922 | ||
908 | static void __init omap_4430sdp_init(void) | 923 | static void __init omap_4430sdp_init(void) |