Files
linuxcnc/5i24/utils/dos/source/9056.PAS
Thaddeus-Maximus f3953d66ae ?
2026-04-03 15:58:58 -05:00

56 lines
1.7 KiB
Plaintext
Executable File

const
N056VendorID = $10B5;
N056DeviceID = $9056;
N056PCICR = $04; { PCI Status and control Register }
N056PCIBaseAddress0 = $10; { memory access to local config regs }
N056PCIBaseAddress1 = $14; { I/O access to local config regs }
N056PCIBaseAddress2 = $18; { local address space 0 }
N056PCIBaseAddress3 = $1C; { local address space 1 }
N056PCIIntRegister = $3C; { interrupt routing register }
N056GPIOControlReg = $6C;
N056GPIOControlRegTop = $6E;
{ at N056GPIOControlRegTop }
N056UserOMask = $0001;
N056UserIMask = $0002;
N056UserIIsInputMask : word = $0004;
N056UserOIsOutputMask : word = $0008;
N056EECLKMask : word = $0100; { will probably just use VPD access }
N056EECSMask : word = $0200; { due to the fact that the 9056s muxed }
N056EEDIMask : word = $0400; { EEDI/EEDO messes up normal EEPROM access}
N056EEDOMask : word = $0800;
N056VPDIDNDC : word = $4C;
N056VPDAddr : word = $4E;
N056VPDData : word = $50;
N056VPDFMask : word = $8000; {F bit in VPD address register }
N056LCSPROT : word = $0E;
{ 3X20 Specific masks for access to PCI bridge GPIO bits... }
DoneMask_56 : word = N056UserIMask; { Read at N056GPIOControlRegTop}
ProgramMask_56 : word = N056UserOMask; { Written at N056GPIOControlRegTop}
{DMA registers}
N056DMAMode0Register = $80;
N056DMAPAdr0Register = $84;
N056DMALAdr0Register = $88;
N056DMASiz0Register = $8C;
N056DMADPr0Register = $90;
N056DMACSR0Register = $A8; {Byte register!}
N056DMADAC0Register = $B4;
N056DMAMode1Register = $94;
N056DMAPAdr1Register = $98;
N056DMALAdr1Register = $9C;
N056DMASiz1Register = $A0;
N056DMADPr1Register = $A4;
N056DMACSR1Register = $A9; {Byte register!}
N056DMADAC1Register = $B8;
N056DMAThrRegister = $B0;