aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/mach-mx31moboard.c
diff options
context:
space:
mode:
authorPhilippe Rétornaz <philippe.retornaz@epfl.ch>2012-05-15 07:53:52 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-05-18 11:42:22 -0400
commit2f7b945148477e97c4d9d5a484728cd8106828c7 (patch)
tree5b722e61803f967bf2c4af2ee3083c01457c3748 /arch/arm/mach-imx/mach-mx31moboard.c
parentb77458da957d8fe8296d826397ff591a21cfc8d7 (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.c20
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
107static struct physmap_flash_data mx31moboard_flash_data = { 111static 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
283static struct mc13xxx_codec_platform_data moboard_codec = {
284 .dac_ssi_port = MC13783_SSI1_PORT,
285 .adc_ssi_port = MC13783_SSI1_PORT,
286};
287
279static struct mc13xxx_platform_data moboard_pmic = { 288static 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
299static struct imx_ssi_platform_data moboard_ssi_pdata = {
300 .flags = IMX_SSI_DMA | IMX_SSI_NET,
287}; 301};
288 302
289static struct spi_board_info moboard_spi_board_info[] __initdata = { 303static 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) {