You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ...
This commit is contained in:
@@ -300,6 +300,74 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
control correctly. If you have problems regarding this, try
|
||||
another ALSA compliant mixer (alsamixer works).
|
||||
|
||||
Module snd-azt1605
|
||||
------------------
|
||||
|
||||
Module for Aztech Sound Galaxy soundcards based on the Aztech AZT1605
|
||||
chipset.
|
||||
|
||||
port - port # for BASE (0x220,0x240,0x260,0x280)
|
||||
wss_port - port # for WSS (0x530,0x604,0xe80,0xf40)
|
||||
irq - IRQ # for WSS (7,9,10,11)
|
||||
dma1 - DMA # for WSS playback (0,1,3)
|
||||
dma2 - DMA # for WSS capture (0,1), -1 = disabled (default)
|
||||
mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
|
||||
mpu_irq - IRQ # for MPU-401 UART (3,5,7,9), -1 = disabled (default)
|
||||
fm_port - port # for OPL3 (0x388), -1 = disabled (default)
|
||||
|
||||
This module supports multiple cards. It does not support autoprobe: port,
|
||||
wss_port, irq and dma1 have to be specified. The other values are
|
||||
optional.
|
||||
|
||||
"port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
|
||||
or the value stored in the card's EEPROM for cards that have an EEPROM and
|
||||
their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
|
||||
be choosen freely from the options enumerated above.
|
||||
|
||||
If dma2 is specified and different from dma1, the card will operate in
|
||||
full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
|
||||
enable capture since only channels 0 and 1 are available for capture.
|
||||
|
||||
Generic settings are "port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
|
||||
mpu_port=0x330 mpu_irq=9 fm_port=0x388".
|
||||
|
||||
Whatever IRQ and DMA channels you pick, be sure to reserve them for
|
||||
legacy ISA in your BIOS.
|
||||
|
||||
Module snd-azt2316
|
||||
------------------
|
||||
|
||||
Module for Aztech Sound Galaxy soundcards based on the Aztech AZT2316
|
||||
chipset.
|
||||
|
||||
port - port # for BASE (0x220,0x240,0x260,0x280)
|
||||
wss_port - port # for WSS (0x530,0x604,0xe80,0xf40)
|
||||
irq - IRQ # for WSS (7,9,10,11)
|
||||
dma1 - DMA # for WSS playback (0,1,3)
|
||||
dma2 - DMA # for WSS capture (0,1), -1 = disabled (default)
|
||||
mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disabled (default)
|
||||
mpu_irq - IRQ # for MPU-401 UART (5,7,9,10), -1 = disabled (default)
|
||||
fm_port - port # for OPL3 (0x388), -1 = disabled (default)
|
||||
|
||||
This module supports multiple cards. It does not support autoprobe: port,
|
||||
wss_port, irq and dma1 have to be specified. The other values are
|
||||
optional.
|
||||
|
||||
"port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
|
||||
or the value stored in the card's EEPROM for cards that have an EEPROM and
|
||||
their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
|
||||
be choosen freely from the options enumerated above.
|
||||
|
||||
If dma2 is specified and different from dma1, the card will operate in
|
||||
full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
|
||||
enable capture since only channels 0 and 1 are available for capture.
|
||||
|
||||
Generic settings are "port=0x220 wss_port=0x530 irq=10 dma1=1 dma2=0
|
||||
mpu_port=0x330 mpu_irq=9 fm_port=0x388".
|
||||
|
||||
Whatever IRQ and DMA channels you pick, be sure to reserve them for
|
||||
legacy ISA in your BIOS.
|
||||
|
||||
Module snd-aw2
|
||||
--------------
|
||||
|
||||
@@ -1641,20 +1709,6 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
|
||||
This card is also known as Audio Excel DSP 16 or Zoltrix AV302.
|
||||
|
||||
Module snd-sgalaxy
|
||||
------------------
|
||||
|
||||
Module for Aztech Sound Galaxy sound card.
|
||||
|
||||
sbport - Port # for SB16 interface (0x220,0x240)
|
||||
wssport - Port # for WSS interface (0x530,0xe80,0xf40,0x604)
|
||||
irq - IRQ # (7,9,10,11)
|
||||
dma1 - DMA #
|
||||
|
||||
This module supports multiple cards.
|
||||
|
||||
The power-management is supported.
|
||||
|
||||
Module snd-sscape
|
||||
-----------------
|
||||
|
||||
|
||||
@@ -57,9 +57,11 @@ dead. However, this detection isn't perfect on some devices. In such
|
||||
a case, you can change the default method via `position_fix` option.
|
||||
|
||||
`position_fix=1` means to use LPIB method explicitly.
|
||||
`position_fix=2` means to use the position-buffer. 0 is the default
|
||||
value, the automatic check and fallback to LPIB as described in the
|
||||
above. If you get a problem of repeated sounds, this option might
|
||||
`position_fix=2` means to use the position-buffer.
|
||||
`position_fix=3` means to use a combination of both methods, needed
|
||||
for some VIA and ATI controllers. 0 is the default value for all other
|
||||
controllers, the automatic check and fallback to LPIB as described in
|
||||
the above. If you get a problem of repeated sounds, this option might
|
||||
help.
|
||||
|
||||
In addition to that, every controller is known to be broken regarding
|
||||
|
||||
@@ -295,6 +295,18 @@ static void davinci_init_wdt(void)
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
struct platform_device davinci_pcm_device = {
|
||||
.name = "davinci-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static void davinci_init_pcm(void)
|
||||
{
|
||||
platform_device_register(&davinci_pcm_device);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
struct davinci_timer_instance davinci_timer_instance[2] = {
|
||||
{
|
||||
.base = DAVINCI_TIMER0_BASE,
|
||||
@@ -315,6 +327,7 @@ static int __init davinci_init_devices(void)
|
||||
/* please keep these calls, and their implementations above,
|
||||
* in alphabetical order so they're easier to sort through.
|
||||
*/
|
||||
davinci_init_pcm();
|
||||
davinci_init_wdt();
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -776,9 +776,15 @@ static struct platform_device ep93xx_i2s_device = {
|
||||
.resource = ep93xx_i2s_resource,
|
||||
};
|
||||
|
||||
static struct platform_device ep93xx_pcm_device = {
|
||||
.name = "ep93xx-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
void __init ep93xx_register_i2s(void)
|
||||
{
|
||||
platform_device_register(&ep93xx_i2s_device);
|
||||
platform_device_register(&ep93xx_pcm_device);
|
||||
}
|
||||
|
||||
#define EP93XX_SYSCON_DEVCFG_I2S_MASK (EP93XX_SYSCON_DEVCFG_I2SONSSP | \
|
||||
@@ -826,6 +832,40 @@ void ep93xx_i2s_release(void)
|
||||
}
|
||||
EXPORT_SYMBOL(ep93xx_i2s_release);
|
||||
|
||||
/*************************************************************************
|
||||
* EP93xx AC97 audio peripheral handling
|
||||
*************************************************************************/
|
||||
static struct resource ep93xx_ac97_resources[] = {
|
||||
{
|
||||
.start = EP93XX_AAC_PHYS_BASE,
|
||||
.end = EP93XX_AAC_PHYS_BASE + 0xb0 - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{
|
||||
.start = IRQ_EP93XX_AACINTR,
|
||||
.end = IRQ_EP93XX_AACINTR,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device ep93xx_ac97_device = {
|
||||
.name = "ep93xx-ac97",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(ep93xx_ac97_resources),
|
||||
.resource = ep93xx_ac97_resources,
|
||||
};
|
||||
|
||||
void __init ep93xx_register_ac97(void)
|
||||
{
|
||||
/*
|
||||
* Make sure that the AC97 pins are not used by I2S.
|
||||
*/
|
||||
ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_I2SONAC97);
|
||||
|
||||
platform_device_register(&ep93xx_ac97_device);
|
||||
platform_device_register(&ep93xx_pcm_device);
|
||||
}
|
||||
|
||||
extern void ep93xx_gpio_init(void);
|
||||
|
||||
void __init ep93xx_init_devices(void)
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
#define EP93XX_GPIO_B_INT_STATUS EP93XX_GPIO_REG(0xbc)
|
||||
#define EP93XX_GPIO_EEDRIVE EP93XX_GPIO_REG(0xc8)
|
||||
|
||||
#define EP93XX_AAC_PHYS_BASE EP93XX_APB_PHYS(0x00080000)
|
||||
#define EP93XX_AAC_BASE EP93XX_APB_IOMEM(0x00080000)
|
||||
|
||||
#define EP93XX_SPI_PHYS_BASE EP93XX_APB_PHYS(0x000a0000)
|
||||
|
||||
@@ -61,6 +61,7 @@ void ep93xx_keypad_release_gpio(struct platform_device *pdev);
|
||||
void ep93xx_register_i2s(void);
|
||||
int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config);
|
||||
void ep93xx_i2s_release(void);
|
||||
void ep93xx_register_ac97(void);
|
||||
|
||||
void ep93xx_init_devices(void);
|
||||
extern struct sys_timer ep93xx_timer;
|
||||
|
||||
@@ -61,6 +61,7 @@ static void __init simone_init_machine(void)
|
||||
ep93xx_register_fb(&simone_fb_info);
|
||||
ep93xx_register_i2c(&simone_i2c_gpio_data, simone_i2c_board_info,
|
||||
ARRAY_SIZE(simone_i2c_board_info));
|
||||
ep93xx_register_ac97();
|
||||
}
|
||||
|
||||
MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
|
||||
|
||||
@@ -903,10 +903,16 @@ static struct platform_device kirkwood_i2s_device = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device kirkwood_pcm_device = {
|
||||
.name = "kirkwood-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
void __init kirkwood_audio_init(void)
|
||||
{
|
||||
kirkwood_clk_ctrl |= CGC_AUDIO;
|
||||
platform_device_register(&kirkwood_i2s_device);
|
||||
platform_device_register(&kirkwood_pcm_device);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <mach/gpio.h>
|
||||
#include <plat/mmc.h>
|
||||
#include <plat/omap7xx.h>
|
||||
#include <plat/mcbsp.h>
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
@@ -195,6 +196,30 @@ static inline void omap_init_spi100k(void)
|
||||
|
||||
static inline void omap_init_sti(void) {}
|
||||
|
||||
#if defined(CONFIG_SND_SOC) || defined(CONFIG_SND_SOC_MODULE)
|
||||
|
||||
static struct platform_device omap_pcm = {
|
||||
.name = "omap-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(1);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(2);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(3);
|
||||
|
||||
static void omap_init_audio(void)
|
||||
{
|
||||
platform_device_register(&omap_mcbsp1);
|
||||
platform_device_register(&omap_mcbsp2);
|
||||
if (!cpu_is_omap7xx())
|
||||
platform_device_register(&omap_mcbsp3);
|
||||
platform_device_register(&omap_pcm);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void omap_init_audio(void) {}
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
@@ -227,6 +252,7 @@ static int __init omap1_init_devices(void)
|
||||
omap_init_rtc();
|
||||
omap_init_spi100k();
|
||||
omap_init_sti();
|
||||
omap_init_audio();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <sound/tlv320aic3x.h>
|
||||
|
||||
#include <plat/mcspi.h>
|
||||
#include <plat/board.h>
|
||||
@@ -689,7 +690,6 @@ static struct twl4030_power_data rx51_t2scripts_data __initdata = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
static struct twl4030_platform_data rx51_twldata __initdata = {
|
||||
.irq_base = TWL4030_IRQ_BASE,
|
||||
.irq_end = TWL4030_IRQ_END,
|
||||
@@ -710,10 +710,6 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
|
||||
.vio = &rx51_vio,
|
||||
};
|
||||
|
||||
static struct aic3x_pdata rx51_aic3x_data __initdata = {
|
||||
.gpio_reset = 60,
|
||||
};
|
||||
|
||||
static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata = {
|
||||
.id = TPA6130A2,
|
||||
.power_gpio = 98,
|
||||
@@ -728,6 +724,17 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = {
|
||||
},
|
||||
};
|
||||
|
||||
/* Audio setup data */
|
||||
static struct aic3x_setup_data rx51_aic34_setup = {
|
||||
.gpio_func[0] = AIC3X_GPIO1_FUNC_DISABLED,
|
||||
.gpio_func[1] = AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT,
|
||||
};
|
||||
|
||||
static struct aic3x_pdata rx51_aic3x_data = {
|
||||
.setup = &rx51_aic34_setup,
|
||||
.gpio_reset = 60,
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("tlv320aic3x", 0x18),
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <plat/common.h>
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include <mach/board-zoom.h>
|
||||
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
|
||||
@@ -238,6 +240,11 @@ static int zoom_twl_gpio_setup(struct device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EXTMUTE callback function */
|
||||
void zoom2_set_hs_extmute(int mute)
|
||||
{
|
||||
gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
|
||||
}
|
||||
|
||||
static int zoom_batt_table[] = {
|
||||
/* 0 C*/
|
||||
@@ -307,6 +314,11 @@ static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {
|
||||
|
||||
static int __init omap_i2c_init(void)
|
||||
{
|
||||
if (machine_is_omap_zoom2()) {
|
||||
zoom_audio_data.ramp_delay_value = 3; /* 161 ms */
|
||||
zoom_audio_data.hs_extmute = 1;
|
||||
zoom_audio_data.set_hs_extmute = zoom2_set_hs_extmute;
|
||||
}
|
||||
omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo,
|
||||
ARRAY_SIZE(zoom_i2c_boardinfo));
|
||||
omap_register_i2c_bus(2, 400, NULL, 0);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/i2c/twl.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@@ -34,41 +35,6 @@ static void __init omap_zoom2_init_irq(void)
|
||||
omap_gpio_init();
|
||||
}
|
||||
|
||||
/* REVISIT: These audio entries can be removed once MFD code is merged */
|
||||
#if 0
|
||||
|
||||
static struct twl4030_madc_platform_data zoom2_madc_data = {
|
||||
.irq_line = 1,
|
||||
};
|
||||
|
||||
static struct twl4030_codec_audio_data zoom2_audio_data = {
|
||||
.audio_mclk = 26000000,
|
||||
};
|
||||
|
||||
static struct twl4030_codec_data zoom2_codec_data = {
|
||||
.audio_mclk = 26000000,
|
||||
.audio = &zoom2_audio_data,
|
||||
};
|
||||
|
||||
static struct twl4030_platform_data zoom2_twldata = {
|
||||
.irq_base = TWL4030_IRQ_BASE,
|
||||
.irq_end = TWL4030_IRQ_END,
|
||||
|
||||
/* platform_data for children goes here */
|
||||
.bci = &zoom2_bci_data,
|
||||
.madc = &zoom2_madc_data,
|
||||
.usb = &zoom2_usb_data,
|
||||
.gpio = &zoom2_gpio_data,
|
||||
.keypad = &zoom2_kp_twl4030_data,
|
||||
.codec = &zoom2_codec_data,
|
||||
.vmmc1 = &zoom2_vmmc1,
|
||||
.vmmc2 = &zoom2_vmmc2,
|
||||
.vsim = &zoom2_vsim,
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OMAP_MUX
|
||||
static struct omap_board_mux board_mux[] __initdata = {
|
||||
/* WLAN IRQ - GPIO 162 */
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <plat/control.h>
|
||||
#include <plat/tc.h>
|
||||
#include <plat/board.h>
|
||||
#include <plat/mcbsp.h>
|
||||
#include <mach/gpio.h>
|
||||
#include <plat/mmc.h>
|
||||
#include <plat/dma.h>
|
||||
@@ -235,6 +236,43 @@ static inline void omap_init_mbox(void) { }
|
||||
|
||||
static inline void omap_init_sti(void) {}
|
||||
|
||||
#if defined(CONFIG_SND_SOC) || defined(CONFIG_SND_SOC_MODULE)
|
||||
|
||||
static struct platform_device omap_pcm = {
|
||||
.name = "omap-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
/*
|
||||
* OMAP2420 has 2 McBSP ports
|
||||
* OMAP2430 has 5 McBSP ports
|
||||
* OMAP3 has 5 McBSP ports
|
||||
* OMAP4 has 4 McBSP ports
|
||||
*/
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(1);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(2);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(3);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(4);
|
||||
OMAP_MCBSP_PLATFORM_DEVICE(5);
|
||||
|
||||
static void omap_init_audio(void)
|
||||
{
|
||||
platform_device_register(&omap_mcbsp1);
|
||||
platform_device_register(&omap_mcbsp2);
|
||||
if (cpu_is_omap243x() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
|
||||
platform_device_register(&omap_mcbsp3);
|
||||
platform_device_register(&omap_mcbsp4);
|
||||
}
|
||||
if (cpu_is_omap243x() || cpu_is_omap34xx())
|
||||
platform_device_register(&omap_mcbsp5);
|
||||
|
||||
platform_device_register(&omap_pcm);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline void omap_init_audio(void) {}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)
|
||||
|
||||
#include <plat/mcspi.h>
|
||||
@@ -917,6 +955,7 @@ static int __init omap2_init_devices(void)
|
||||
* in alphabetical order so they're easier to sort through.
|
||||
*/
|
||||
omap_hsmmc_reset();
|
||||
omap_init_audio();
|
||||
omap_init_camera();
|
||||
omap_init_mbox();
|
||||
omap_init_mcspi();
|
||||
|
||||
@@ -9,3 +9,5 @@
|
||||
extern void __init board_nand_init(struct mtd_partition *, u8 nr_parts, u8 cs);
|
||||
extern int __init zoom_debugboard_init(void);
|
||||
extern void __init zoom_peripherals_init(void);
|
||||
|
||||
#define ZOOM2_HEADSET_EXTMUTE_GPIO 153
|
||||
|
||||
@@ -382,6 +382,31 @@ struct platform_device pxa_device_i2s = {
|
||||
.num_resources = ARRAY_SIZE(pxai2s_resources),
|
||||
};
|
||||
|
||||
struct platform_device pxa_device_asoc_ssp1 = {
|
||||
.name = "pxa-ssp-dai",
|
||||
.id = 0,
|
||||
};
|
||||
|
||||
struct platform_device pxa_device_asoc_ssp2= {
|
||||
.name = "pxa-ssp-dai",
|
||||
.id = 1,
|
||||
};
|
||||
|
||||
struct platform_device pxa_device_asoc_ssp3 = {
|
||||
.name = "pxa-ssp-dai",
|
||||
.id = 2,
|
||||
};
|
||||
|
||||
struct platform_device pxa_device_asoc_ssp4 = {
|
||||
.name = "pxa-ssp-dai",
|
||||
.id = 3,
|
||||
};
|
||||
|
||||
struct platform_device pxa_device_asoc_platform = {
|
||||
.name = "pxa-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static u64 pxaficp_dmamask = ~(u32)0;
|
||||
|
||||
struct platform_device pxa_device_ficp = {
|
||||
|
||||
@@ -39,4 +39,10 @@ extern struct platform_device pxa3xx_device_i2c_power;
|
||||
|
||||
extern struct platform_device pxa3xx_device_gcu;
|
||||
|
||||
extern struct platform_device pxa_device_asoc_platform;
|
||||
extern struct platform_device pxa_device_asoc_ssp1;
|
||||
extern struct platform_device pxa_device_asoc_ssp2;
|
||||
extern struct platform_device pxa_device_asoc_ssp3;
|
||||
extern struct platform_device pxa_device_asoc_ssp4;
|
||||
|
||||
void __init pxa_register_device(struct platform_device *dev, void *data);
|
||||
|
||||
@@ -385,6 +385,10 @@ static struct platform_device *devices[] __initdata = {
|
||||
&pxa27x_device_udc,
|
||||
&pxa_device_pmu,
|
||||
&pxa_device_i2s,
|
||||
&pxa_device_asoc_ssp1,
|
||||
&pxa_device_asoc_ssp2,
|
||||
&pxa_device_asoc_ssp3,
|
||||
&pxa_device_asoc_platform,
|
||||
&sa1100_device_rtc,
|
||||
&pxa_device_rtc,
|
||||
&pxa27x_device_ssp1,
|
||||
|
||||
@@ -593,6 +593,11 @@ static struct platform_device *devices[] __initdata = {
|
||||
&pxa27x_device_udc,
|
||||
&pxa_device_pmu,
|
||||
&pxa_device_i2s,
|
||||
&pxa_device_asoc_ssp1,
|
||||
&pxa_device_asoc_ssp2,
|
||||
&pxa_device_asoc_ssp3,
|
||||
&pxa_device_asoc_ssp4,
|
||||
&pxa_device_asoc_platform,
|
||||
&sa1100_device_rtc,
|
||||
&pxa_device_rtc,
|
||||
&pxa27x_device_ssp1,
|
||||
|
||||
@@ -45,6 +45,16 @@ int wm9713_irq;
|
||||
int lcd_id;
|
||||
int lcd_orientation;
|
||||
|
||||
struct platform_device pxa_device_wm9713_audio = {
|
||||
.name = "wm9713-codec",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static void __init zylonite_init_wm9713_audio(void)
|
||||
{
|
||||
platform_device_register(&pxa_device_wm9713_audio);
|
||||
}
|
||||
|
||||
static struct resource smc91x_resources[] = {
|
||||
[0] = {
|
||||
.start = ZYLONITE_ETH_PHYS + 0x300,
|
||||
@@ -408,6 +418,7 @@ static void __init zylonite_init(void)
|
||||
zylonite_init_nand();
|
||||
zylonite_init_leds();
|
||||
zylonite_init_ohci();
|
||||
zylonite_init_wm9713_audio();
|
||||
}
|
||||
|
||||
MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)")
|
||||
|
||||
@@ -43,8 +43,10 @@ static int s3c64xx_i2sv3_cfg_gpio(struct platform_device *pdev)
|
||||
s3c_gpio_cfgpin(S3C64XX_GPE(2), S3C64XX_GPE2_I2S1_LRCLK);
|
||||
s3c_gpio_cfgpin(S3C64XX_GPE(3), S3C64XX_GPE3_I2S1_DI);
|
||||
s3c_gpio_cfgpin(S3C64XX_GPE(4), S3C64XX_GPE4_I2S1_D0);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "Invalid I2S Controller number!");
|
||||
printk(KERN_DEBUG "Invalid I2S Controller number: %d\n",
|
||||
pdev->id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -184,7 +186,8 @@ static int s3c64xx_pcm_cfg_gpio(struct platform_device *pdev)
|
||||
s3c_gpio_cfgpin(S3C64XX_GPE(4), S3C64XX_GPE4_PCM1_SOUT);
|
||||
break;
|
||||
default:
|
||||
printk(KERN_DEBUG "Invalid PCM Controller number!");
|
||||
printk(KERN_DEBUG "Invalid PCM Controller number: %d\n",
|
||||
pdev->id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@@ -333,3 +336,16 @@ void __init s3c64xx_ac97_setup_gpio(int num)
|
||||
else
|
||||
s3c_ac97_pdata.cfg_gpio = s3c64xx_ac97_cfg_gpe;
|
||||
}
|
||||
|
||||
static u64 s3c_device_audio_dmamask = 0xffffffffUL;
|
||||
|
||||
struct platform_device s3c_device_pcm = {
|
||||
.name = "s3c24xx-pcm-audio",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.dma_mask = &s3c_device_audio_dmamask,
|
||||
.coherent_dma_mask = 0xffffffffUL
|
||||
}
|
||||
};
|
||||
EXPORT_SYMBOL(s3c_device_pcm);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user