On 10/24/07, David Gibson <[EMAIL PROTECTED]> wrote: > I'm afraid I still don't understand quite what information this > "fabric" driver is conveying. Is it really inherently platform > specific, or is it something that can be encoded directly in a > sensible way. If the latter we could have a general "device tree" > fabric driver that will handle all systems with the layout correctly > encoded in the device tree.
Codecs are like GPIOs, all of their pins are programmable. So the same codec can be wired into various boards quite differently and then software programmed to work the same. The fabric driver contains the mapping information. People were making a codec driver for each board, but this resulted in lots of similar codec drivers for the same chips. I believe a common Wolfson chip had eight drivers in the kernel. In the new model the codec drivers are generic and the fabric driver describes the mapping. A side effect of this is that we need to load the fabric driver which doesn't have a device associated with it. This is a complex mapping from a STAC9277 used with an Intel hda chip. Codec: SigmaTel STAC9227 Address: 2 Vendor Id: 0x83847618 Subsystem Id: 0x102801db Revision Id: 0x100201 No Modem Function Group found Default PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM Default Amp-In caps: ofs=0x00, nsteps=0x0e, stepsize=0x05, mute=0 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: [0x62 0x62] Power: 0x0 Node 0x03 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xe4 0xe4] Power: 0x0 Node 0x04 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0x62 0x62] Power: 0x0 Node 0x05 [Audio Output] wcaps 0xd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xe4 0xe4] Power: 0x0 Node 0x06 [Vendor Defined Widget] wcaps 0xfd0c05: Stereo Amp-Out Amp-Out caps: N/A Amp-Out vals: [0xff 0xff] Power: 0x0 Node 0x07 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x1b Node 0x08 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x1c Node 0x09 [Audio Input] wcaps 0x1d0541: Stereo Power: 0x0 Connection: 1 0x1d Node 0x0a [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x0221101f: [Jack] HP Out at Ext Front Conn = 1/8, Color = Black Pin-ctls: 0xc0: OUT HP Connection: 2 0x02* 0x03 Node 0x0b [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x02a11020: [Jack] Mic at Ext Front Conn = 1/8, Color = Black Pin-ctls: 0x24: IN Connection: 2 0x02* 0x03 Node 0x0c [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01a19021: [Jack] Mic at Ext Rear Conn = 1/8, Color = Pink Pin-ctls: 0x24: IN Connection: 1 0x03 Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Pincap 0x08173f: IN OUT HP Detect Pin Default 0x01014010: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Green Pin-ctls: 0x40: OUT Connection: 1 0x02 Node 0x0e [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01011012: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Black Pin-ctls: 0x40: OUT Connection: 1 0x04 Node 0x0f [Pin Complex] wcaps 0x400181: Stereo Pincap 0x081737: IN OUT Detect Pin Default 0x01016011: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Orange Pin-ctls: 0x40: OUT Connection: 1 0x05 Node 0x10 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0837: IN OUT Detect Pin Default 0x0181302e: [Jack] Line In at Ext Rear Conn = 1/8, Color = Blue Pin-ctls: 0x20: IN Connection: 1 0x04 Node 0x11 [Pin Complex] wcaps 0x400181: Stereo Pincap 0x0837: IN OUT Detect Pin Default 0x01012014: [Jack] Line Out at Ext Rear Conn = 1/8, Color = Grey Pin-ctls: 0x40: OUT Connection: 1 0x03 Node 0x12 [Pin Complex] wcaps 0x400001: Stereo Pincap 0x0820: IN Pin Default 0x40f000f1: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Node 0x13 [Vendor Defined Widget] wcaps 0xf00001: Stereo Node 0x14 [Vendor Defined Widget] wcaps 0xf00001: Stereo Node 0x15 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e 0x12 0x0f 0x0b 0x0c* 0x0d 0x0a 0x10 0x11 Node 0x16 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e 0x12 0x0f 0x0b 0x0c* 0x0d 0x0a 0x10 0x11 Node 0x17 [Audio Selector] wcaps 0x30010d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0 Amp-Out vals: [0x00 0x00] Connection: 9 0x0e 0x12 0x0f 0x0b 0x0c* 0x0d 0x0a 0x10 0x11 Node 0x18 [Audio Selector] wcaps 0x300103: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x15 Node 0x19 [Audio Selector] wcaps 0x300103: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x16 Node 0x1a [Audio Selector] wcaps 0x300103: Stereo Amp-In Amp-In caps: N/A Amp-In vals: [0x00 0x00] Connection: 1 0x17 Node 0x1b [Audio Selector] wcaps 0x30090d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x18 Node 0x1c [Audio Selector] wcaps 0x30090d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x19 Node 0x1d [Audio Selector] wcaps 0x30090d: Stereo Amp-Out Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1 Amp-Out vals: [0x80 0x80] Connection: 1 0x1a Node 0x1e [Audio Output] wcaps 0x40211: Stereo Digital PCM: rates [0x7e0]: 44100 48000 88200 96000 176400 192000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Node 0x1f [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital Node 0x20 [Audio Input] wcaps 0x140311: Stereo Digital PCM: rates [0x160]: 44100 48000 96000 bits [0xe]: 16 20 24 formats [0x5]: PCM AC3 Connection: 1 0x22 Node 0x21 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x0810: OUT Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear Conn = Optical, Color = Black Pin-ctls: 0x40: OUT Connection: 5 0x1e* 0x1f 0x1b 0x1c 0x1d Node 0x22 [Pin Complex] wcaps 0x430681: Stereo Digital Pincap 0x0810024: IN EAPD Detect Pin Default 0x40f000f0: [N/A] Other at Ext N/A Conn = Unknown, Color = Unknown Pin-ctls: 0x00: Power: 0x0 Node 0x23 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=0 Amp-Out vals: [0x00] Node 0x24 [Volume Knob Widget] wcaps 0x600000: Mono -- Jon Smirl [EMAIL PROTECTED] _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev