Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75639e7e authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/beep-rename' into topic/core-change

parents 7584af10 ad1cd745
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1454,6 +1454,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

    Module for internal PC-Speaker.

    nopcm	- Disable PC-Speaker PCM sound. Only beeps remain.
    nforce_wa	- enable NForce chipset workaround. Expect bad sound.

    This module supports system beeps, some kind of PCM playback and
@@ -1631,7 +1632,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
  Module snd-sscape
  -----------------

    Module for ENSONIQ SoundScape PnP cards.
    Module for ENSONIQ SoundScape cards.

    port	- Port # (PnP setup)
    wss_port	- WSS Port # (PnP setup)
@@ -1639,10 +1640,11 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
    mpu_irq	- MPU-401 IRQ # (PnP setup)
    dma		- DMA # (PnP setup)
    dma2	- 2nd DMA # (PnP setup, -1 to disable)
    joystick	- Enable gameport - 0 = disable (default), 1 = enable

    This module supports multiple cards.

    This module supports multiple cards.  ISA PnP must be enabled.
    You need sscape_ctl tool in alsa-tools package for loading
    the microcode.
    The driver requires the firmware loader support on kernel.

  Module snd-sun-amd7930 (on sparc only)
  --------------------------------------
+2 −1
Original line number Diff line number Diff line
@@ -18,8 +18,9 @@ SOURCE:
  Master
  Master Mono
  Hardware Master
  Speaker	(internal speaker)
  Headphone
  PC Speaker
  Beep		(beep generator)
  Phone
  Phone Input
  Phone Output
+55 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/irq.h>
#include <sound/sh_dac_audio.h>
#include <asm/hd64461.h>
#include <asm/io.h>
#include <mach/hp6xx.h>
@@ -51,9 +52,63 @@ static struct platform_device jornadakbd_device = {
	.id		= -1,
};

static void dac_audio_start(struct dac_audio_pdata *pdata)
{
	u16 v;
	u8 v8;

	/* HP Jornada 680/690 speaker on */
	v = inw(HD64461_GPADR);
	v &= ~HD64461_GPADR_SPEAKER;
	outw(v, HD64461_GPADR);

	/* HP Palmtop 620lx/660lx speaker on */
	v8 = inb(PKDR);
	v8 &= ~PKDR_SPEAKER;
	outb(v8, PKDR);

	sh_dac_enable(pdata->channel);
}

static void dac_audio_stop(struct dac_audio_pdata *pdata)
{
	u16 v;
	u8 v8;

	/* HP Jornada 680/690 speaker off */
	v = inw(HD64461_GPADR);
	v |= HD64461_GPADR_SPEAKER;
	outw(v, HD64461_GPADR);

	/* HP Palmtop 620lx/660lx speaker off */
	v8 = inb(PKDR);
	v8 |= PKDR_SPEAKER;
	outb(v8, PKDR);

	sh_dac_output(0, pdata->channel);
	sh_dac_disable(pdata->channel);
}

static struct dac_audio_pdata dac_audio_platform_data = {
	.buffer_size		= 64000,
	.channel		= 1,
	.start			= dac_audio_start,
	.stop			= dac_audio_stop,
};

static struct platform_device dac_audio_device = {
	.name		= "dac_audio",
	.id		= -1,
	.dev		= {
		.platform_data	= &dac_audio_platform_data,
	}

};

static struct platform_device *hp6xx_devices[] __initdata = {
	&cf_ide_device,
	&jornadakbd_device,
	&dac_audio_device,
};

static void __init hp6xx_init_irq(void)
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@

#define PKDR_LED_GREEN		0x10

/* HP Palmtop 620lx/660lx speaker on/off */
#define PKDR_SPEAKER		0x20

#define SCPDR_TS_SCAN_ENABLE	0x20
#define SCPDR_TS_SCAN_Y		0x02
#define SCPDR_TS_SCAN_X		0x01
@@ -42,6 +45,7 @@
#define ADC_CHANNEL_BACKUP	4
#define ADC_CHANNEL_CHARGE	5

/* HP Jornada 680/690 speaker on/off */
#define HD64461_GPADR_SPEAKER	0x01
#define HD64461_GPADR_PCMCIA0	(0x02|0x08)

+0 −1
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@ header-y += asound_fm.h
header-y += hdsp.h
header-y += hdspm.h
header-y += sfnt_info.h
header-y += sscape_ioctl.h

unifdef-y += asequencer.h
unifdef-y += asound.h
Loading