Hello.

On 09-10-2010 5:12, [email protected] wrote:

From: Victor Rodriguez<[email protected]>

This patch adds sound support for the Hawkboard-L138 system
It is under the machine name "omapl138_hawkboard".
This system is based on the da850 davinci CPU architecture.

Signed-off-by: Victor Rodriguez<[email protected]>
[...]

diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c 
b/arch/arm/mach-davinci/board-omapl138-hawk.c
index 01eef73..ba3718a 100644
--- a/arch/arm/mach-davinci/board-omapl138-hawk.c
+++ b/arch/arm/mach-davinci/board-omapl138-hawk.c
@@ -13,6 +13,7 @@
  #include<linux/init.h>
  #include<linux/console.h>
  #include<linux/gpio.h>
+#include<linux/i2c.h>

  #include<asm/mach-types.h>
  #include<asm/mach/arch.h>
@@ -116,6 +117,37 @@ static struct edma_rsv_info *da850_edma_rsv[2] = {
        &da850_edma_cc1_rsv,
  };

+static struct i2c_board_info __initdata omapl138_hawk_i2c_devices[] = {
+       {
+               I2C_BOARD_INFO("tlv320aic3x", 0x18),
+       },
+};
+
+static struct davinci_i2c_platform_data omapl138_hawk_i2c_0_pdata = {
+       .bus_freq       = 100,  /* kHz */
+       .bus_delay      = 0,    /* usec */
+};
+
+/* davinci da850 evm audio machine driver */
+static u8 da850_iis_serializer_direction[] = {
+       INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,
+       INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,
+       INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,  INACTIVE_MODE,
+       INACTIVE_MODE,  TX_MODE,        RX_MODE,        INACTIVE_MODE,
+};
+
+static struct snd_platform_data omapl138_hawk_snd_data = {
+       .tx_dma_offset  = 0x2000,
+       .rx_dma_offset  = 0x2000,
+       .op_mode        = DAVINCI_MCASP_IIS_MODE,
+       .num_serializer = ARRAY_SIZE(da850_iis_serializer_direction),
+       .tdm_slots      = 2,
+       .serial_dir     = da850_iis_serializer_direction,
+       .asp_chan_q     = EVENTQ_1,
+       .version        = MCASP_VERSION_2,
+       .txnumevt       = 1,
+       .rxnumevt       = 1,
+};

  static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
        .enabled_uarts = 0x7,
@@ -134,6 +166,20 @@ static __init void omapl138_hawk_init(void)

        ret = omapl138_hawk_config_emac();

+       i2c_register_board_info(1, omapl138_hawk_i2c_devices,
+                       ARRAY_SIZE(omapl138_hawk_i2c_devices));
+
+       ret = da8xx_register_i2c(0,&omapl138_hawk_i2c_0_pdata);
+       if (ret)
+               pr_warning("omapl138_hawk_init: "
+                       "i2c0 registration failed: %d\n", ret);

                pr_warning("%s: i2c0 registration failed: %d\n",
                           __func__, ret);



+
+       ret = davinci_cfg_reg_list(da850_mcasp_pins);
+       if (ret)
+               pr_warning("omapl138_hawk_init: "
+                       "mcasp mux setup failed: %d\n", ret);

                pr_warning("%s: mcasp mux setup failed: %d\n", __func__, ret);

diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c
index 63916b9..f033a0a 100644
--- a/arch/arm/mach-davinci/da850.c
+++ b/arch/arm/mach-davinci/da850.c
@@ -591,7 +591,7 @@ const short da850_cpgmac_pins[] __initdata = {
  const short da850_mcasp_pins[] __initdata = {
        DA850_AHCLKX, DA850_ACLKX, DA850_AFSX,
        DA850_AHCLKR, DA850_ACLKR, DA850_AFSR, DA850_AMUTE,
-       DA850_AXR_11, DA850_AXR_12,
+       DA850_AXR_11, DA850_AXR_12, DA850_AXR_13, DA850_AXR_14,
        -1
  };

   Hm, should probably be a sperate patch...

WBR, Sergei

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to