Moin,
ich bin zufällig über dISAppointment gestolpert
YT: Add an ISA slot to Modern Motherboards!
dISAppointment - LPC to ISA adapter - ISA on modern motherboards \ VOGONS
Es baut einen ISA-Port der am TPM-Port eines (fast) modernen Mainboards hängt. Dieser Port liefert meist fast alle Signale des LPC, was quasi ein serieller ISA-Bus ist.
Leider scheint es keine vernünftige Webseite zu geben. ich versuch mal hier ein paar wesentliche Sachen zu dokumentieren für die Bevölkerung, die des Lesens mächtig ist.
(ich hasse es, videos nach konkreten fakten durchsuchen zu müssen)
Das Projekt funktioniert bis etwa zur Broadwell Generation. Danach wurde der LPC-Bus abgeschafft und durch einen anderen ersetzt. Ich kann da gerade nichts genaueres zu finden. Doch, hier wird eine Intel doku im Video referenziert bei 7:22.. da geht es aber nur um DMA?
Das würde bedeuten, DMA geht nur bis zum Kabylake Prozessor, Core iX-7xxx.
sollen wir mal ein paar Blanko-Platinen fertigen?
Pinout der Platine. Auf dem Mainboard wird es anders aussehen. Quelle: obiges YT Video.
Signale des LPC-Busses, Quelle: https://en.wikipedia.org/wiki/Low_Pin_Count
Zuordnung habe ich vorgenommen. Bei ein paar Pins bin ich mir nicht sicher, aber das wird sich bei einem konkreten Pinout dann schon finden.
Wenn DMA benutzt werden soll, muss LDRQ bereitstehen, welches aber meist fehlt. Das kann man wohl auch irgendwo an der Southbridge abgreifen.
LPC Name | DISA Name | Description |
---|---|---|
LCLK | PCICLK | 33.3 MHz clock, provided by the host. May be connected to the conventional PCI clock (PCICLK), thereby not requiring a dedicated pin on the host (south bridge). |
LRESET# | PCIRST# | Active-low bus reset. May be connected to PCIRST#. |
LFRAME# | LFRAME# | This active-low signal indicates the beginning of an LPC bus transaction. Driven by the host only. |
LAD0-LAD3 | LAD0-LAD3 | These four bidirectional signals carry multiplexed address, data, and other information. Like the previous two control signals, these signals have weak pull-up resistors on them, so they will remain in the all-ones state if not actively driven by a device. |
LDRQ# | LDRQ# | DMA/bus master request. This is an output from a device that wants to perform direct memory access, either via the Intel 8237 compatible DMA controller, or the LPC-specific bus master protocol. The host must provide one corresponding input pin per device that needs it (minimum two). |
SERIRQ | SERIRQ | Serialized Intel 8259 compatible interrupt signal.[5] One line is shared by all LPC devices and the host. |
CLKRUN# | Open-collector signal used to restart the clock in systems that can stop it for power management. Not required if the host does not stop the clock. May be connected to the equivalent PCI signal. | |
LPME# | Open-collector power management event, to wake the system from a sleep state. Equivalent to the PCI bus PME# signal. | |
LPCPD# | PWRDN# ? | Optional output from the host to warn the LPC device that power is about to be removed and it should not make any interrupt or DMA requests. |
LSMI# | System management interrupt request. This is only required if an LPC device needs to trigger an SMI# in response to a bus access (e.g. to perform software emulation of a missing hardware peripheral). Otherwise, the slower SERIRQ protocol can be used to request an SMI. |