diff options
author | Philippe Rétornaz <philippe.retornaz@epfl.ch> | 2012-05-15 07:53:52 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-05-18 11:42:22 -0400 |
commit | 2f7b945148477e97c4d9d5a484728cd8106828c7 (patch) | |
tree | 5b722e61803f967bf2c4af2ee3083c01457c3748 /arch/arm/mach-imx/mach-mx31moboard.c | |
parent | b77458da957d8fe8296d826397ff591a21cfc8d7 (diff) |
mx31moboard: Add sound support
Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'arch/arm/mach-imx/mach-mx31moboard.c')
-rw-r--r-- | arch/arm/mach-imx/mach-mx31moboard.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/mach-mx31moboard.c b/arch/arm/mach-imx/mach-mx31moboard.c index f17a15f28316..31e5b3d5da73 100644 --- a/arch/arm/mach-imx/mach-mx31moboard.c +++ b/arch/arm/mach-imx/mach-mx31moboard.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <mach/hardware.h> | 47 | #include <mach/hardware.h> |
48 | #include <mach/iomux-mx3.h> | 48 | #include <mach/iomux-mx3.h> |
49 | #include <mach/ulpi.h> | 49 | #include <mach/ulpi.h> |
50 | #include <mach/ssi.h> | ||
50 | 51 | ||
51 | #include "devices-imx31.h" | 52 | #include "devices-imx31.h" |
52 | 53 | ||
@@ -102,6 +103,9 @@ static unsigned int moboard_pins[] = { | |||
102 | MX31_PIN_CSPI3_MOSI__MOSI, MX31_PIN_CSPI3_MISO__MISO, | 103 | MX31_PIN_CSPI3_MOSI__MOSI, MX31_PIN_CSPI3_MISO__MISO, |
103 | MX31_PIN_CSPI3_SCLK__SCLK, MX31_PIN_CSPI3_SPI_RDY__SPI_RDY, | 104 | MX31_PIN_CSPI3_SCLK__SCLK, MX31_PIN_CSPI3_SPI_RDY__SPI_RDY, |
104 | MX31_PIN_CSPI2_SS1__CSPI3_SS1, | 105 | MX31_PIN_CSPI2_SS1__CSPI3_SS1, |
106 | /* SSI */ | ||
107 | MX31_PIN_STXD4__STXD4, MX31_PIN_SRXD4__SRXD4, | ||
108 | MX31_PIN_SCK4__SCK4, MX31_PIN_SFS4__SFS4, | ||
105 | }; | 109 | }; |
106 | 110 | ||
107 | static struct physmap_flash_data mx31moboard_flash_data = { | 111 | static struct physmap_flash_data mx31moboard_flash_data = { |
@@ -276,6 +280,11 @@ static struct mc13xxx_buttons_platform_data moboard_buttons = { | |||
276 | .b1on_key = KEY_POWER, | 280 | .b1on_key = KEY_POWER, |
277 | }; | 281 | }; |
278 | 282 | ||
283 | static struct mc13xxx_codec_platform_data moboard_codec = { | ||
284 | .dac_ssi_port = MC13783_SSI1_PORT, | ||
285 | .adc_ssi_port = MC13783_SSI1_PORT, | ||
286 | }; | ||
287 | |||
279 | static struct mc13xxx_platform_data moboard_pmic = { | 288 | static struct mc13xxx_platform_data moboard_pmic = { |
280 | .regulators = { | 289 | .regulators = { |
281 | .regulators = moboard_regulators, | 290 | .regulators = moboard_regulators, |
@@ -283,7 +292,12 @@ static struct mc13xxx_platform_data moboard_pmic = { | |||
283 | }, | 292 | }, |
284 | .leds = &moboard_leds, | 293 | .leds = &moboard_leds, |
285 | .buttons = &moboard_buttons, | 294 | .buttons = &moboard_buttons, |
286 | .flags = MC13XXX_USE_RTC | MC13XXX_USE_ADC, | 295 | .codec = &moboard_codec, |
296 | .flags = MC13XXX_USE_RTC | MC13XXX_USE_ADC | MC13XXX_USE_CODEC, | ||
297 | }; | ||
298 | |||
299 | static struct imx_ssi_platform_data moboard_ssi_pdata = { | ||
300 | .flags = IMX_SSI_DMA | IMX_SSI_NET, | ||
287 | }; | 301 | }; |
288 | 302 | ||
289 | static struct spi_board_info moboard_spi_board_info[] __initdata = { | 303 | static struct spi_board_info moboard_spi_board_info[] __initdata = { |
@@ -554,6 +568,10 @@ static void __init mx31moboard_init(void) | |||
554 | 568 | ||
555 | moboard_usbh2_init(); | 569 | moboard_usbh2_init(); |
556 | 570 | ||
571 | imx31_add_imx_ssi(0, &moboard_ssi_pdata); | ||
572 | |||
573 | imx_add_platform_device("imx_mc13783", 0, NULL, 0, NULL, 0); | ||
574 | |||
557 | pm_power_off = mx31moboard_poweroff; | 575 | pm_power_off = mx31moboard_poweroff; |
558 | 576 | ||
559 | switch (mx31moboard_baseboard) { | 577 | switch (mx31moboard_baseboard) { |