Collaboration diagram for Nut Programmable Logic:
|
The CPLD on Ethernut 3 contains a set of registers, which can be used to control various system functions.
Defines | |
| #define | NPL_BASE 0xFF00 |
| CPLD register base address. | |
| #define | NPL_RSCR _SFR_MEM8(NPL_BASE + 0x00) |
| RS232 command register. | |
| #define | NPL_RSFON 0x0001 |
| Force on. | |
| #define | NPL_RSFOFF 0x0002 |
| Force off. | |
| #define | NPL_RSDTR 0x0004 |
| DTR handshake. | |
| #define | NPL_RSRTS 0x0008 |
| RTS handshake. | |
| #define | NPL_RSUS0E 0x0020 |
| USART0 select. | |
| #define | NPL_RSUS1E 0x0040 |
| USART1 select. | |
| #define | NPL_RSUS1P 0x0080 |
| USART1 primary. | |
| #define | NPL_IMR _SFR_MEM16(NPL_BASE + 0x04) |
| Interrupt mask register. | |
| #define | NPL_SLR _SFR_MEM16(NPL_BASE + 0x0C) |
| Signal latch register. | |
| #define | NPL_SCR _SFR_MEM16(NPL_BASE + 0x10) |
| Signal clear register. | |
| #define | NPL_RSCTS 0x0001 |
| RS232 CTS interrupt. | |
| #define | NPL_RSDSR 0x0002 |
| RS232 DSR interrupt. | |
| #define | NPL_RSDCD 0x0004 |
| RS232 DCD interrupt. | |
| #define | NPL_RSRI 0x0008 |
| RS232 RI interrupt. | |
| #define | NPL_RTCALARM 0x0010 |
| RTC alarm interrupt. | |
| #define | NPL_LANWAKEUP 0x0020 |
| NIC wakeup interrupt. | |
| #define | NPL_FMBUSY 0x0040 |
| FLASH ready interrupt. | |
| #define | NPL_MMCREADY 0x0080 |
| MMC shift register ready. | |
| #define | NPL_RSINVAL 0x0100 |
| RS232 invalid interrupt. | |
| #define | NPL_NRSINVAL 0x0200 |
| RS232 valid interrupt. | |
| #define | NPL_MMCD 0x0400 |
| MMC insert interrupt. | |
| #define | NPL_NMMCD 0x0800 |
| MMC remove interrupt. | |
| #define | NPL_MMCDR _SFR_MEM8(NPL_BASE + 0x14) |
| MMC data register. | |
| #define | NPL_XER _SFR_MEM8(NPL_BASE + 0x18) |
| External enable register. | |
| #define | NPL_MMCS 0x0001 |
| MMC select. | |
| #define | NPL_PANCS 0x0002 |
| Panel select. | |
| #define | NPL_USRLED 0x0004 |
| User LED. | |
| #define | NPL_VIDR _SFR_MEM8(NPL_BASE + 0x1C) |
| Version identifier register. | |
| #define | ULED_ON 1 |
| ULED status definitions. | |
| #define | ULED_OFF 0 |
Functions | |
| int | NplRegisterIrqHandler (IRQ_HANDLER *irq, void(*handler)(void *), void *arg) |
| Register an NPL interrupt handler. | |
| int | NplIrqEnable (IRQ_HANDLER *irq) |
| Enable a specified NPL interrupt. | |
| int | NplIrqDisable (IRQ_HANDLER *irq) |
| Disable a specified NPL interrupt. | |
| void | NplUledCntl (int status) |
| Low Level User LED (Green) Access. User LED control routine. | |
| int | NplUledStatus (void) |
| Activate negated chip select. Deactivate negated chip select. User LED status routine. | |
Variables | |
| IRQ_HANDLER | sig_RSCTS |
| RS232 CTS interrupt handler info. | |
| IRQ_HANDLER | sig_RSDSR |
| RS232 DSR interrupt handler info. | |
| IRQ_HANDLER | sig_RSDCD |
| RS232 DCD interrupt handler info. | |
| IRQ_HANDLER | sig_RSRI |
| RS232 RI interrupt handler info. | |
| IRQ_HANDLER | sig_RTCALARM |
| RTC alarm interrupt handler info. | |
| IRQ_HANDLER | sig_LANWAKEUP |
| LAN wakeup interrupt handler info. | |
| IRQ_HANDLER | sig_FMBUSY |
| Flash memory busy interrupt handler info. | |
| IRQ_HANDLER | sig_RSINVAL |
| RS232 signal invalid interrupt handler info. | |
| IRQ_HANDLER | sig_NRSINVAL |
| RS232 signal valid interrupt handler info. | |
| IRQ_HANDLER | sig_MMCD |
| Multimedia card insertion interrupt handler info. | |
| IRQ_HANDLER | sig_NMMCD |
| Multimedia card removal interrupt handler info. | |
| IRQ_HANDLER | sig_RSCTS |
| RS232 CTS interrupt handler info. | |
| IRQ_HANDLER | sig_RSDSR |
| RS232 DSR interrupt handler info. | |
| IRQ_HANDLER | sig_RSDCD |
| RS232 DCD interrupt handler info. | |
| IRQ_HANDLER | sig_RSRI |
| RS232 RI interrupt handler info. | |
| IRQ_HANDLER | sig_RTCALARM |
| RTC alarm interrupt handler info. | |
| IRQ_HANDLER | sig_LANWAKEUP |
| LAN wakeup interrupt handler info. | |
| IRQ_HANDLER | sig_FMBUSY |
| Flash memory busy interrupt handler info. | |
| IRQ_HANDLER | sig_RSINVAL |
| RS232 signal invalid interrupt handler info. | |
| IRQ_HANDLER | sig_NRSINVAL |
| RS232 signal valid interrupt handler info. | |
| IRQ_HANDLER | sig_MMCD |
| Multimedia card insertion interrupt handler info. | |
| IRQ_HANDLER | sig_NMMCD |
| Multimedia card removal interrupt handler info. | |
|
|
CPLD register base address. On Ethernut 3 the CPLD is selected via NCS2 (GPIO 27), which is configured to 0x21000000 - 0x210FFFFF in the CRT initialization startup file. |
|
||||||||||||||||
|
Register an NPL interrupt handler. This function is typically called by device drivers, but applications may also implement their local interrupt handlers.
|
|
|
Enable a specified NPL interrupt.
|
|
|
Disable a specified NPL interrupt.
|
|
|
Low Level User LED (Green) Access. User LED control routine.
|
|
|
Activate negated chip select. Deactivate negated chip select. User LED status routine.
|
|
|
Initial value: {
NULL,
NULL,
NplRsCtsCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRsDsrCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRsDcdCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRsRiCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRtcAlarmCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplLanWakeupCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplFmBusyCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRsInvalCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplRsValidCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplMmcInsertCtl
}
|
|
|
Initial value: {
NULL,
NULL,
NplMmcRemoveCtl
}
|