Hello. On 09-10-2010 5:12, vm.rod25@xxxxxxxxx wrote: > From: Victor Rodriguez<victor.rodriguez@xxxxxxxxxx> > 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<victor.rodriguez@xxxxxxxxxx> [...] > 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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel