Routines for using the Ethernut CPLD. More...
![]() |
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_NPCS0 0x0008 |
DataFlash CS. | |
#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. | |
int | NplUledStatus (void) |
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. |
Routines for using the Ethernut CPLD.
Nut Programmable Logic.
The CPLD on Ethernut 3 contains a set of registers, which can be used to control various system functions.
* * $Log$ * Revision 1.4 2009/01/17 11:26:46 haraldkipp * Getting rid of two remaining BSD types in favor of stdint. * Replaced 'u_int' by 'unsinged int' and 'uptr_t' by 'uintptr_t'. * * Revision 1.3 2008/08/11 06:59:42 haraldkipp * BSD types replaced by stdint types (feature request #1282721). * * Revision 1.2 2006/05/25 09:30:23 haraldkipp * Compiles for AVR. Still not tested, though. * * Revision 1.1 2006/01/05 16:30:57 haraldkipp * First check-in. * * *
#define NPL_BASE 0xFF00 |
#define NPL_RSCR _SFR_MEM8(NPL_BASE + 0x00) |
#define NPL_IMR _SFR_MEM16(NPL_BASE + 0x04) |
#define NPL_SLR _SFR_MEM16(NPL_BASE + 0x0C) |
#define NPL_SCR _SFR_MEM16(NPL_BASE + 0x10) |
#define NPL_MMCREADY 0x0080 |
MMC shift register ready.
Definition at line 106 of file npl.h.
Referenced by NplSpiBusPollTransfer().
#define NPL_MMCDR _SFR_MEM8(NPL_BASE + 0x14) |
#define NPL_XER _SFR_MEM8(NPL_BASE + 0x18) |
External enable register.
Definition at line 118 of file npl.h.
Referenced by NplUledCntl(), and NplUledStatus().
#define NPL_USRLED 0x0004 |
#define NPL_VIDR _SFR_MEM8(NPL_BASE + 0x1C) |
#define ULED_ON 1 |
#define ULED_OFF 0 |
Definition at line 62 of file npluled.h.
Referenced by NplUledCntl().
int NplRegisterIrqHandler | ( | IRQ_HANDLER * | irq, | |
void(*)(void *) | handler, | |||
void * | arg | |||
) |
Register an NPL interrupt handler.
This function is typically called by device drivers, but applications may also implement their local interrupt handlers.
irq | Interrupt to be associated with this handler. | |
handler | This routine will be called by Nut/OS, when the specified interrupt occurs. | |
arg | Argument to be passed to the interrupt handler. |
Definition at line 267 of file npl.c.
References _BV, IRQ_HANDLER::ir_arg, IRQ_HANDLER::ir_ctl, IRQ_HANDLER::ir_handler, NUT_IRQCTL_INIT, NUT_IRQMODE_LOWLEVEL, NutIrqEnable(), NutIrqSetMode(), NutRegisterIrqHandler(), outr, and sig_INTERRUPT0.
int NplIrqEnable | ( | IRQ_HANDLER * | irq | ) |
Enable a specified NPL interrupt.
irq | Interrupt to enable. |
Definition at line 300 of file npl.c.
References IRQ_HANDLER::ir_ctl, and NUT_IRQCTL_ENABLE.
int NplIrqDisable | ( | IRQ_HANDLER * | irq | ) |
Disable a specified NPL interrupt.
irq | Interrupt to disable. |
Definition at line 312 of file npl.c.
References IRQ_HANDLER::ir_ctl, and NUT_IRQCTL_DISABLE.
void NplUledCntl | ( | int | status | ) |
Low Level User LED (Green) Access.
Low level User LED (Green) hardware routines for the programmable logic provided on the Ethernut 3 reference design.
** * Revision 1.0 2006/01/22 10:01:02 alex (k.vassliev) * First check-in. * * *
User LED control routine.
status | ULED_ON of ULED_OFF |
Activate negated chip select.
Deactivate negated chip select.
Definition at line 64 of file npluled.c.
References inb, NPL_USRLED, NPL_XER, outb, ULED_OFF, and ULED_ON.
int NplUledStatus | ( | void | ) |
User LED status routine.
Definition at line 84 of file npluled.c.
References inb, NPL_USRLED, and NPL_XER.