All of lore.kernel.org
 help / color / mirror / Atom feed
* ALSA Intel HDA MacBook
       [not found] ` <200607081354.33539.rene@exactcode.de>
@ 2006-07-08 19:20   ` Rene Rebe
  2006-07-08 20:36     ` Maya Falmagne
  2006-07-10 10:32     ` Takashi Iwai
  0 siblings, 2 replies; 12+ messages in thread
From: Rene Rebe @ 2006-07-08 19:20 UTC (permalink / raw)
  To: alsa-devel; +Cc: Matt Porter, Nicolas Boichat

Hi all,

I try to figure out how to finalize the Intel HDA driver for MacBook
(not Pro, the normal MacBook). Currently I use this patch on top of
e.g. Linux-2.6.17.x (continue to read below for the problem desc.):

--- ./sound/pci/hda/patch_sigmatel.c.orig	2006-07-08 12:09:09.000000000 +0200
+++ ./sound/pci/hda/patch_sigmatel.c	2006-07-08 12:09:17.000000000 +0200
@@ -41,6 +41,7 @@
 #define STAC_REF		0
 #define STAC_D945GTP3		1
 #define STAC_D945GTP5		2
+#define STAC_APPLE		3 /* Apple MacBook, MacBook Pro, Mac Mini */
 
 struct sigmatel_spec {
 	struct snd_kcontrol_new *mixers[4];
@@ -52,6 +53,7 @@
 	unsigned int mic_switch: 1;
 	unsigned int alt_switch: 1;
 	unsigned int hp_detect: 1;
+	unsigned int gpio_mute: 1;
 
 	/* playback */
 	struct hda_multi_out multiout;
@@ -289,10 +291,17 @@
 	0x02a19320, 0x40000100,
 };
 
+static unsigned int apple_pin_configs[10] = {
+	0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
+	0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
+	0x400000FC, 0x400000FB,
+};
+
 static unsigned int *stac922x_brd_tbl[] = {
 	ref922x_pin_configs,
 	d945gtp3_pin_configs,
 	d945gtp5_pin_configs,
+	apple_pin_configs,
 };
 
 static struct hda_board_config stac922x_cfg_tbl[] = {
@@ -324,6 +333,9 @@
 	{ .pci_subvendor = PCI_VENDOR_ID_INTEL,
 	  .pci_subdevice = 0x0417,
 	  .config = STAC_D945GTP5 },	/* Intel D975XBK - 5 Stack */
+	{ .pci_subvendor = 0x8384,
+	  .pci_subdevice = 0x7680,
+	  .config = STAC_APPLE },       /* Apple Mac Mini (early 2006) / MacBook Pro 
*/
 	{} /* terminator */
 };
 
@@ -841,6 +853,19 @@
 		}
 	}
 
+      if (imux->num_items == 1) {
+              /*
+               * Set the current input for the muxes.
+               * The STAC9221 has two input muxes with identical source
+               * NID lists.  Hopefully this won't get confused.
+               */
+              for (i = 0; i < spec->num_muxes; i++) {
+                      snd_hda_codec_write(codec, spec->mux_nids[i], 0,
+                                          AC_VERB_SET_CONNECT_SEL,
+                                          imux->items[0].index);
+              }
+      }
+
 	return 0;
 }
 
@@ -946,6 +971,45 @@
 	return 1;
 }
 
+/*
+ * Early 2006 Intel Macintoshes with STAC9220X5 codecs seem to have a
+ * funky external mute control using GPIO pins.
+ */
+
+static void stac922x_gpio_mute(struct hda_codec *codec, int pin, int muted)
+{
+      unsigned int gpiostate, gpiomask, gpiodir;
+
+      gpiostate = snd_hda_codec_read(codec, codec->afg, 0,
+                                     AC_VERB_GET_GPIO_DATA, 0);
+
+      if (!muted)
+              gpiostate |= (1 << pin);
+      else
+              gpiostate &= ~(1 << pin);
+
+      gpiomask = snd_hda_codec_read(codec, codec->afg, 0,
+                                    AC_VERB_GET_GPIO_MASK, 0);
+      gpiomask |= (1 << pin);
+
+      gpiodir = snd_hda_codec_read(codec, codec->afg, 0,
+                                   AC_VERB_GET_GPIO_DIRECTION, 0);
+      gpiodir |= (1 << pin);
+
+      /* AppleHDA seems to do this -- WTF is this verb?? */
+      snd_hda_codec_write(codec, codec->afg, 0, 0x7e7, 0);
+
+      snd_hda_codec_write(codec, codec->afg, 0,
+                          AC_VERB_SET_GPIO_MASK, gpiomask);
+      snd_hda_codec_write(codec, codec->afg, 0,
+                          AC_VERB_SET_GPIO_DIRECTION, gpiodir);
+
+      msleep(1);
+
+      snd_hda_codec_write(codec, codec->afg, 0,
+                          AC_VERB_SET_GPIO_DATA, gpiostate);
+}
+
 static int stac92xx_init(struct hda_codec *codec)
 {
 	struct sigmatel_spec *spec = codec->spec;
@@ -982,6 +1046,11 @@
 		stac92xx_auto_set_pinctl(codec, cfg->dig_in_pin,
 					 AC_PINCTL_IN_EN);
 
+      if (spec->gpio_mute) {
+              stac922x_gpio_mute(codec, 0, 0);
+              stac922x_gpio_mute(codec, 1, 0);
+      }
+
 	return 0;
 }
 
@@ -1154,6 +1223,9 @@
 		return err;
 	}
 
+	if (spec->board_config == STAC_APPLE)
+	    spec->gpio_mute = 1;
+
 	codec->patch_ops = stac92xx_patch_ops;
 
 	return 0;

The patch might work on the MacBook Pro, I have none - how-
ever the MacBook has three speakers, a left and right one and
one under the keyboard for the bass and mids. However this
third speaker is only driver when the headphone right channel
is unmuted and consequently continous to play the sound
when the headphone is plugged in and the speakers are suppost
to be muted. Only the left and right channel is muted in that
case - this "below the keyboard" bass speaker still emmits
the audio and it's volume is controlled by the right headphone
channel (???).

Since I have no spec for the Intel HDA or Sigmatel chip
(the SigmaTel STAC9221 A1) I feel a bit lost.

Maybe someone has an idea how to route this properly?

Thanks in advance,

-- 
René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany)
            http://exactcode.de | http://t2-project.org | http://rebe.name
            +49 (0)30 / 255 897 45


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-08 19:20   ` ALSA Intel HDA MacBook Rene Rebe
@ 2006-07-08 20:36     ` Maya Falmagne
  2006-07-08 20:38       ` Lee Revell
  2006-07-10 10:32     ` Takashi Iwai
  1 sibling, 1 reply; 12+ messages in thread
From: Maya Falmagne @ 2006-07-08 20:36 UTC (permalink / raw)
  To: Rene Rebe; +Cc: Nicolas Boichat, Matt Porter, alsa-devel

On Sat, 2006-07-08 at 21:20 +0200, Rene Rebe wrote:
> Hi all,
> 
> I try to figure out how to finalize the Intel HDA driver for MacBook
> (not Pro, the normal MacBook). Currently I use this patch on top of
> e.g. Linux-2.6.17.x (continue to read below for the problem desc.):
> 

First, can you describe what the patch does?  How was it derived
(reverse engineering, from Apple code, etc)?

Lee




-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-08 20:36     ` Maya Falmagne
@ 2006-07-08 20:38       ` Lee Revell
  0 siblings, 0 replies; 12+ messages in thread
From: Lee Revell @ 2006-07-08 20:38 UTC (permalink / raw)
  To: Rene Rebe; +Cc: Matt Porter, alsa-devel, Nicolas Boichat

On Sat, 2006-07-08 at 16:36 -0400, Maya Falmagne wrote:
> On Sat, 2006-07-08 at 21:20 +0200, Rene Rebe wrote:
> > Hi all,
> > 
> > I try to figure out how to finalize the Intel HDA driver for MacBook
> > (not Pro, the normal MacBook). Currently I use this patch on top of
> > e.g. Linux-2.6.17.x (continue to read below for the problem desc.):
> > 
> 
> First, can you describe what the patch does?  How was it derived
> (reverse engineering, from Apple code, etc)?

Sorry, I accidentally selected my girlfriend's account on last message.

Lee



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-08 19:20   ` ALSA Intel HDA MacBook Rene Rebe
  2006-07-08 20:36     ` Maya Falmagne
@ 2006-07-10 10:32     ` Takashi Iwai
  2006-07-10 11:44       ` Rene Rebe
  1 sibling, 1 reply; 12+ messages in thread
From: Takashi Iwai @ 2006-07-10 10:32 UTC (permalink / raw)
  To: Rene Rebe; +Cc: Nicolas Boichat, Matt Porter, alsa-devel

At Sat, 8 Jul 2006 21:20:02 +0200,
Rene Rebe wrote:
> 
> +static unsigned int apple_pin_configs[10] = {
> +	0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
> +	0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
> +	0x400000FC, 0x400000FB,
> +};
> +

Interesting.  How did yo figure this out?

> The patch might work on the MacBook Pro, I have none - how-
> ever the MacBook has three speakers, a left and right one and
> one under the keyboard for the bass and mids. However this
> third speaker is only driver when the headphone right channel
> is unmuted and consequently continous to play the sound
> when the headphone is plugged in and the speakers are suppost
> to be muted. Only the left and right channel is muted in that
> case - this "below the keyboard" bass speaker still emmits
> the audio and it's volume is controlled by the right headphone
> channel (???).

Is the headphone itself controlled via "Headphone" volume mixer?
Or is it unaffected?

Anyway, show /proc/asound/card0/codec#*, and the kernel message
regarding pin detections (after compiling with debug option).

> Since I have no spec for the Intel HDA or Sigmatel chip
> (the SigmaTel STAC9221 A1) I feel a bit lost.

Heh, nor do I ;)


Takashi


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-10 10:32     ` Takashi Iwai
@ 2006-07-10 11:44       ` Rene Rebe
  2006-07-10 12:00         ` Nicolas Boichat
  0 siblings, 1 reply; 12+ messages in thread
From: Rene Rebe @ 2006-07-10 11:44 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Nicolas Boichat, Matt Porter, alsa-devel

Hi,

On Monday 10 July 2006 12:32, Takashi Iwai wrote:
> At Sat, 8 Jul 2006 21:20:02 +0200,
> Rene Rebe wrote:
> > 
> > +static unsigned int apple_pin_configs[10] = {
> > +	0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
> > +	0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
> > +	0x400000FC, 0x400000FB,
> > +};
> > +
> 
> Interesting.  How did yo figure this out?

No idea, as I wrote the best patch "I found" on the internet. I think
it was Nicolas who came up with it.

> > The patch might work on the MacBook Pro, I have none - how-
> > ever the MacBook has three speakers, a left and right one and
> > one under the keyboard for the bass and mids. However this
> > third speaker is only driver when the headphone right channel
> > is unmuted and consequently continous to play the sound
> > when the headphone is plugged in and the speakers are suppost
> > to be muted. Only the left and right channel is muted in that
> > case - this "below the keyboard" bass speaker still emmits
> > the audio and it's volume is controlled by the right headphone
> > channel (???).
> 
> Is the headphone itself controlled via "Headphone" volume mixer?
> Or is it unaffected?

Yes, the headphone is controlled with Headphone volume control
just that it's right channel also controlls this center speaker below
the keyboard.

> Anyway, show /proc/asound/card0/codec#*, and the kernel message
> regarding pin detections (after compiling with debug option).

Codec: SigmaTel STAC9221 A1
Address: 0
Vendor Id: 0x83847680
Subsystem Id: 0x100
Revision Id: 0x103401
Default PCM: rates 0x7e0, bits 0x0e, types 0x1
Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=1
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x02, mute=1
Node 0x02 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Power: 0x0
Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Power: 0x0
Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Power: 0x0
Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Power: 0x0
Node 0x06 [Audio Input] wcaps 0x1d0541: Stereo
  Power: 0x0
  Connection: 1
     0x17
Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo
  Power: 0x0
  Connection: 1
     0x18
Node 0x08 [Audio Output] wcaps 0x40211: Stereo Digital
  PCM: rates 0x7e0, bits 0x0e, types 0x5
Node 0x09 [Audio Input] wcaps 0x140311: Stereo Digital
  PCM: rates 0x160, bits 0x0e, types 0x5
  Connection: 1
     0x11
Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x08173f: IN OUT HP
  Pin Default 0x0121e230: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = White
  Pin-ctls: 0x80: HP
  Connection: 1
     0x02
Node 0x0b [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x081737: IN OUT
  Pin Default 0x90a70120: [Fixed] Mic at Int N/A
    Conn = Analog, Color = Unknown
  Pin-ctls: 0x24: IN
  Connection: 1
     0x04
Node 0x0c [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x081737: IN OUT
  Pin Default 0x9017e110: [Fixed] Speaker at Int N/A
    Conn = Analog, Color = White
  Pin-ctls: 0x60: IN OUT
  Connection: 1
     0x03
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x08173f: IN OUT HP
  Pin Default 0x400000fe: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
  Pin-ctls: 0x40: OUT
  Connection: 1
     0x02
Node 0x0e [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x0824: IN
  Pin Default 0x400000fd: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
  Pin-ctls: 0x20: IN
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0837: IN OUT
  Pin Default 0x0181e021: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = White
  Pin-ctls: 0x20: IN
  Connection: 1
     0x05
Node 0x10 [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x0810: OUT
  Pin Default 0x1145e040: [Jack] SPDIF Out at Int Rear
    Conn = Optical, Color = White
  Pin-ctls: 0x40: OUT
  Connection: 3
     0x08* 0x17 0x19
Node 0x11 [Pin Complex] wcaps 0x430681: Stereo Digital
  Pincap 0x0810024: IN
  Pin Default 0x400000fa: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
  Pin-ctls: 0x00:
  Power: 0x0
Node 0x12 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 7
     0x0e* 0x15 0x0f 0x0b 0x0c 0x0d 0x0a
Node 0x13 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0
  Amp-Out vals:  [0x00 0x00]
  Connection: 7
     0x0e 0x15* 0x0f 0x0b 0x0c 0x0d 0x0a
Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0
  Amp-Out vals:  [0x00]
Node 0x15 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x0820: IN
  Pin Default 0x400000fc: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
  Pin-ctls: 0x00:
Node 0x16 [Volume Knob Widget] wcaps 0x600000: Mono
Node 0x17 [Audio Selector] wcaps 0x300903: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x80 0x80]
  Connection: 1
     0x12
Node 0x18 [Audio Selector] wcaps 0x300903: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x80 0x80]
  Connection: 1
     0x13
Node 0x19 [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital
Node 0x1a [Audio Output] wcaps 0x30201: Stereo Digital
Node 0x1b [Pin Complex] wcaps 0x400301: Stereo Digital
  Pincap 0x0810: OUT
  Pin Default 0x400000fb: [N/A] Line Out at Ext N/A
    Conn = Unknown, Color = Unknown
  Pin-ctls: 0x00:
  Connection: 1
     0x1a

I think there is no printout of the snd-intel-hda driver about pin
config, should there?

> > Since I have no spec for the Intel HDA or Sigmatel chip
> > (the SigmaTel STAC9221 A1) I feel a bit lost.
> 
> Heh, nor do I ;)

Ouhm.

-- 
René Rebe - ExactCODE - Berlin (Europe / Germany)
            http://exactcode.de | http://t2-project.org | http://rene.rebe.name
            +49 (0)30 / 255 897 45


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-10 11:44       ` Rene Rebe
@ 2006-07-10 12:00         ` Nicolas Boichat
  2006-07-11 10:52           ` Takashi Iwai
  0 siblings, 1 reply; 12+ messages in thread
From: Nicolas Boichat @ 2006-07-10 12:00 UTC (permalink / raw)
  To: Rene Rebe; +Cc: Takashi Iwai, Matt Porter, alsa-devel

Hi,

Rene Rebe wrote:
> Hi,
>
> On Monday 10 July 2006 12:32, Takashi Iwai wrote:
>   
>> At Sat, 8 Jul 2006 21:20:02 +0200,
>> Rene Rebe wrote:
>>     
>>> +static unsigned int apple_pin_configs[10] = {
>>> +	0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
>>> +	0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
>>> +	0x400000FC, 0x400000FB,
>>> +};
>>> +
>>>       
>> Interesting.  How did yo figure this out?
>>     
>
> No idea, as I wrote the best patch "I found" on the internet. I think
> it was Nicolas who came up with it.
>   
I also don't know .-) I picked these from an old patch provided by gimli
(mactel-linux), the only infos I have are:

+/* These come from the windows inf files from bootcamp*/
+#if 0
+/*This has mic/line in*/
+static unsigned int minimac_pin_configs[10] = {
+       0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
+       0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
+       0x400000FC, 0x400000FB,
+};
+#else
+/*This has only line in*/
+static unsigned int minimac_pin_configs[10] = {
+       0x0121E220, 0x400000FF, 0x9017E110, 0x400000FE,
+       0x400000FD, 0x0181E040, 0x1145E030, 0x11C5E040,
+       0x400000FC, 0x400000FB,
+};
+#endif
+

I picked up the first one so the mic works.

I have no which inf he got these infos.

Best regards,

Nicolas


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-10 12:00         ` Nicolas Boichat
@ 2006-07-11 10:52           ` Takashi Iwai
  2006-07-16 15:37             ` Rene Rebe
  2006-07-23 14:31             ` Nicolas Boichat
  0 siblings, 2 replies; 12+ messages in thread
From: Takashi Iwai @ 2006-07-11 10:52 UTC (permalink / raw)
  To: Nicolas Boichat; +Cc: Matt Porter, alsa-devel, Rene Rebe

At Mon, 10 Jul 2006 14:00:40 +0200,
Nicolas Boichat wrote:
> 
> Hi,
> 
> Rene Rebe wrote:
> > Hi,
> >
> > On Monday 10 July 2006 12:32, Takashi Iwai wrote:
> >   
> >> At Sat, 8 Jul 2006 21:20:02 +0200,
> >> Rene Rebe wrote:
> >>     
> >>> +static unsigned int apple_pin_configs[10] = {
> >>> +	0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
> >>> +	0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
> >>> +	0x400000FC, 0x400000FB,
> >>> +};
> >>> +
> >>>       
> >> Interesting.  How did yo figure this out?
> >>     
> >
> > No idea, as I wrote the best patch "I found" on the internet. I think
> > it was Nicolas who came up with it.
> >   
> I also don't know .-) I picked these from an old patch provided by gimli
> (mactel-linux), the only infos I have are:
> 
> +/* These come from the windows inf files from bootcamp*/
> +#if 0
> +/*This has mic/line in*/
> +static unsigned int minimac_pin_configs[10] = {
> +       0x0121E230, 0x90A70120, 0x9017E110, 0x400000FE,
> +       0x400000FD, 0x0181E021, 0x1145E040, 0x400000FA,
> +       0x400000FC, 0x400000FB,
> +};
> +#else
> +/*This has only line in*/
> +static unsigned int minimac_pin_configs[10] = {
> +       0x0121E220, 0x400000FF, 0x9017E110, 0x400000FE,
> +       0x400000FD, 0x0181E040, 0x1145E030, 0x11C5E040,
> +       0x400000FC, 0x400000FB,
> +};
> +#endif
> +
> 
> I picked up the first one so the mic works.
> 
> I have no which inf he got these infos.

OK then it's somewhat another black magic :)

Linus made a patch to make MacMini to work.  The patch is below (and
it's already merged to ALSA HG tree, too).
Could you check whether it works for other Intel Mac models?
At least, we need to check that it doesn't break something...


thanks,

Takashi


Subject: x86 MacMini: make built-in speaker sound actually work

The MacMini board table seems to largely look like any bog-standard
Intel 945 board.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>

---
commit 7c3dec0679c66ce177726802adbe2f403942fc27
tree 62d286f0b477a62d6996b6ba2cacdc3cdd4579a9
parent c80dc60b03d633047c7f96be87fd59cdcdbb929f
author Linus Torvalds <torvalds@macmini.osdl.org> Mon, 10 Jul 2006 22:21:43 -0700
committer Linus Torvalds <torvalds@macmini.osdl.org> Mon, 10 Jul 2006 22:21:43 -0700

 sound/pci/hda/patch_sigmatel.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index fb4bed0..ea99083 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -351,6 +351,7 @@ static unsigned int *stac922x_brd_tbl[ST
 	[STAC_REF] =	ref922x_pin_configs,
 	[STAC_D945GTP3] = d945gtp3_pin_configs,
 	[STAC_D945GTP5] = d945gtp5_pin_configs,
+	[STAC_MACMINI] = d945gtp5_pin_configs,
 	[STAC_D965_2112] = d965_2112_pin_configs,
 };
 


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-11 10:52           ` Takashi Iwai
@ 2006-07-16 15:37             ` Rene Rebe
  2006-07-23 14:31             ` Nicolas Boichat
  1 sibling, 0 replies; 12+ messages in thread
From: Rene Rebe @ 2006-07-16 15:37 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Matt Porter, alsa-devel, Nicolas Boichat

Hi Takashi,

as usually i was a bit busy the last days but gave this patch
(ported to 2.6.17) a try:

On Tuesday 11 July 2006 12:52, Takashi Iwai wrote:

> diff --git a/sound/pci/hda/patch_sigmatel.c
> b/sound/pci/hda/patch_sigmatel.c index fb4bed0..ea99083 100644
> --- a/sound/pci/hda/patch_sigmatel.c
> +++ b/sound/pci/hda/patch_sigmatel.c
> @@ -351,6 +351,7 @@ static unsigned int *stac922x_brd_tbl[ST
>  	[STAC_REF] =	ref922x_pin_configs,
>  	[STAC_D945GTP3] = d945gtp3_pin_configs,
>  	[STAC_D945GTP5] = d945gtp5_pin_configs,
> +	[STAC_MACMINI] = d945gtp5_pin_configs,
>  	[STAC_D965_2112] = d965_2112_pin_configs,
>  };

Well, this results in quite a different mixer configuration, that might be
a bit more logical - but still a bit cumbersome to use:

- I have no headphone mixer, plugging the headphone in mutes the
  speakers and only drives the headphone, good

- the line in as Line In as Output switch enables the stereo side speakers

- the side speakers are controlled by a Side mixer element

- the center keyboard speaker is controlled by the Front mixer,
  this element also controls the headphone when plugged in

So far so good, however slightly annoying is that I need to manually
move to slider around to control the speaker ambient sound. Maybe
we ca do something about that?

-- 
René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany)
            http://exactcode.de | http://t2-project.org | http://rebe.name
            +49 (0)30 / 255 897 45


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-11 10:52           ` Takashi Iwai
  2006-07-16 15:37             ` Rene Rebe
@ 2006-07-23 14:31             ` Nicolas Boichat
  2006-07-28 13:19               ` Matt Porter
  1 sibling, 1 reply; 12+ messages in thread
From: Nicolas Boichat @ 2006-07-23 14:31 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Matt Porter, alsa-devel, Rene Rebe

Hi,

Takashi Iwai wrote:
>
> OK then it's somewhat another black magic :)
>
> Linus made a patch to make MacMini to work.  The patch is below (and
> it's already merged to ALSA HG tree, too).
> Could you check whether it works for other Intel Mac models?
> At least, we need to check that it doesn't break something...
>   
I finally found the time to test this patch on my Macbook Pro (I'm
running 2.6.18-rc2, which includes this patch).

I have the following results:
- "Side" controls internal speakers, if no headphone is plugged
- "Front" controls headphones
- Line-in is always set as output ("Line In as output" has no effect),
"Center" controls line-"out" left channel, "LFE" the right channel.
- "Surround" has no effect.

However, the internal mic doesn't work anymore (whatever value I put in
"Capture", "Input Source" and "Mux")...

Best regards,

Nicolas
>
> Subject: x86 MacMini: make built-in speaker sound actually work
>
> The MacMini board table seems to largely look like any bog-standard
> Intel 945 board.
>
> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
>
> ---
> commit 7c3dec0679c66ce177726802adbe2f403942fc27
> tree 62d286f0b477a62d6996b6ba2cacdc3cdd4579a9
> parent c80dc60b03d633047c7f96be87fd59cdcdbb929f
> author Linus Torvalds <torvalds@macmini.osdl.org> Mon, 10 Jul 2006 22:21:43 -0700
> committer Linus Torvalds <torvalds@macmini.osdl.org> Mon, 10 Jul 2006 22:21:43 -0700
>
>  sound/pci/hda/patch_sigmatel.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
> index fb4bed0..ea99083 100644
> --- a/sound/pci/hda/patch_sigmatel.c
> +++ b/sound/pci/hda/patch_sigmatel.c
> @@ -351,6 +351,7 @@ static unsigned int *stac922x_brd_tbl[ST
>  	[STAC_REF] =	ref922x_pin_configs,
>  	[STAC_D945GTP3] = d945gtp3_pin_configs,
>  	[STAC_D945GTP5] = d945gtp5_pin_configs,
> +	[STAC_MACMINI] = d945gtp5_pin_configs,
>  	[STAC_D965_2112] = d965_2112_pin_configs,
>  };
>  
>   


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-23 14:31             ` Nicolas Boichat
@ 2006-07-28 13:19               ` Matt Porter
  2006-07-28 13:21                 ` Takashi Iwai
  0 siblings, 1 reply; 12+ messages in thread
From: Matt Porter @ 2006-07-28 13:19 UTC (permalink / raw)
  To: Nicolas Boichat; +Cc: Takashi Iwai, alsa-devel, Rene Rebe

On Sun, Jul 23, 2006 at 04:31:17PM +0200, Nicolas Boichat wrote:
> Hi,
> 
> Takashi Iwai wrote:
> >
> > OK then it's somewhat another black magic :)
> >
> > Linus made a patch to make MacMini to work.  The patch is below (and
> > it's already merged to ALSA HG tree, too).
> > Could you check whether it works for other Intel Mac models?
> > At least, we need to check that it doesn't break something...
> >   
> I finally found the time to test this patch on my Macbook Pro (I'm
> running 2.6.18-rc2, which includes this patch).
> 
> I have the following results:
> - "Side" controls internal speakers, if no headphone is plugged
> - "Front" controls headphones
> - Line-in is always set as output ("Line In as output" has no effect),
> "Center" controls line-"out" left channel, "LFE" the right channel.
> - "Surround" has no effect.
> 
> However, the internal mic doesn't work anymore (whatever value I put in
> "Capture", "Input Source" and "Mux")...

Hrm, I finally caught up on this stuff after holiday.  I've got the
spec, obviously, and even better I have a macbook pro (not yet running
linux) so I can do some direct work on this. I'll see what I can sort
out.

-Matt

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-28 13:19               ` Matt Porter
@ 2006-07-28 13:21                 ` Takashi Iwai
  2006-07-28 19:00                   ` Nicolas Boichat
  0 siblings, 1 reply; 12+ messages in thread
From: Takashi Iwai @ 2006-07-28 13:21 UTC (permalink / raw)
  To: Matt Porter; +Cc: Rene Rebe, alsa-devel, Nicolas Boichat

At Fri, 28 Jul 2006 09:19:24 -0400,
Matt Porter wrote:
> 
> On Sun, Jul 23, 2006 at 04:31:17PM +0200, Nicolas Boichat wrote:
> > Hi,
> > 
> > Takashi Iwai wrote:
> > >
> > > OK then it's somewhat another black magic :)
> > >
> > > Linus made a patch to make MacMini to work.  The patch is below (and
> > > it's already merged to ALSA HG tree, too).
> > > Could you check whether it works for other Intel Mac models?
> > > At least, we need to check that it doesn't break something...
> > >   
> > I finally found the time to test this patch on my Macbook Pro (I'm
> > running 2.6.18-rc2, which includes this patch).
> > 
> > I have the following results:
> > - "Side" controls internal speakers, if no headphone is plugged
> > - "Front" controls headphones
> > - Line-in is always set as output ("Line In as output" has no effect),
> > "Center" controls line-"out" left channel, "LFE" the right channel.
> > - "Surround" has no effect.
> > 
> > However, the internal mic doesn't work anymore (whatever value I put in
> > "Capture", "Input Source" and "Mux")...
> 
> Hrm, I finally caught up on this stuff after holiday.  I've got the
> spec, obviously, and even better I have a macbook pro (not yet running
> linux) so I can do some direct work on this. I'll see what I can sort
> out.

That's great.

I still wonder how we can distinguish the different intel mac models.
Apparently all models have the same PCI SSID :-<


Takashi

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ALSA Intel HDA MacBook
  2006-07-28 13:21                 ` Takashi Iwai
@ 2006-07-28 19:00                   ` Nicolas Boichat
  0 siblings, 0 replies; 12+ messages in thread
From: Nicolas Boichat @ 2006-07-28 19:00 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Rene Rebe, alsa-devel, Matt Porter

Takashi Iwai wrote:
> At Fri, 28 Jul 2006 09:19:24 -0400,
> Matt Porter wrote:
>   
>> On Sun, Jul 23, 2006 at 04:31:17PM +0200, Nicolas Boichat wrote:
>>     
>>> Hi,
>>>
>>> Takashi Iwai wrote:
>>>       
>>>> OK then it's somewhat another black magic :)
>>>>
>>>> Linus made a patch to make MacMini to work.  The patch is below (and
>>>> it's already merged to ALSA HG tree, too).
>>>> Could you check whether it works for other Intel Mac models?
>>>> At least, we need to check that it doesn't break something...
>>>>   
>>>>         
>>> I finally found the time to test this patch on my Macbook Pro (I'm
>>> running 2.6.18-rc2, which includes this patch).
>>>
>>> I have the following results:
>>> - "Side" controls internal speakers, if no headphone is plugged
>>> - "Front" controls headphones
>>> - Line-in is always set as output ("Line In as output" has no effect),
>>> "Center" controls line-"out" left channel, "LFE" the right channel.
>>> - "Surround" has no effect.
>>>
>>> However, the internal mic doesn't work anymore (whatever value I put in
>>> "Capture", "Input Source" and "Mux")...
>>>       
>> Hrm, I finally caught up on this stuff after holiday.  I've got the
>> spec, obviously, and even better I have a macbook pro (not yet running
>> linux) so I can do some direct work on this. I'll see what I can sort
>> out.
>>     
>
> That's great.
>
> I still wonder how we can distinguish the different intel mac models.
> Apparently all models have the same PCI SSID :-<
>   
Maybe by using DMI data? That's what I used for the accelerometer driver...

Best regards,

Nicolas

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2006-07-28 19:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200607081323.17265.rene@exactcode.de>
     [not found] ` <200607081354.33539.rene@exactcode.de>
2006-07-08 19:20   ` ALSA Intel HDA MacBook Rene Rebe
2006-07-08 20:36     ` Maya Falmagne
2006-07-08 20:38       ` Lee Revell
2006-07-10 10:32     ` Takashi Iwai
2006-07-10 11:44       ` Rene Rebe
2006-07-10 12:00         ` Nicolas Boichat
2006-07-11 10:52           ` Takashi Iwai
2006-07-16 15:37             ` Rene Rebe
2006-07-23 14:31             ` Nicolas Boichat
2006-07-28 13:19               ` Matt Porter
2006-07-28 13:21                 ` Takashi Iwai
2006-07-28 19:00                   ` Nicolas Boichat

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.