Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

* Nut Programmable Logic
[Device Driver API.CPLD Based Devices]

Collaboration diagram for * Nut Programmable Logic:


Detailed Description

Routines for using the Ethernut CPLD.

The CPLD on Ethernut 3 contains a set of registers, which can be used to control various system functions.


Defines

#define NPL_BASE
 CPLD register base address.
#define NPL_RSCR
 RS232 command register.
#define NPL_RSFON
 Force on.
#define NPL_RSFOFF
 Force off.
#define NPL_RSDTR
 DTR handshake.
#define NPL_RSRTS
 RTS handshake.
#define NPL_RSUS0E
 USART0 select.
#define NPL_RSUS1E
 USART1 select.
#define NPL_RSUS1P
 USART1 primary.
#define NPL_IMR
 Interrupt mask register.
#define NPL_SLR
 Signal latch register.
#define NPL_SCR
 Signal clear register.
#define NPL_RSCTS
 RS232 CTS interrupt.
#define NPL_RSDSR
 RS232 DSR interrupt.
#define NPL_RSDCD
 RS232 DCD interrupt.
#define NPL_RSRI
 RS232 RI interrupt.
#define NPL_RTCALARM
 RTC alarm interrupt.
#define NPL_LANWAKEUP
 NIC wakeup interrupt.
#define NPL_FMBUSY
 FLASH ready interrupt.
#define NPL_MMCREADY
 MMC shift register ready.
#define NPL_RSINVAL
 RS232 invalid interrupt.
#define NPL_NRSINVAL
 RS232 valid interrupt.
#define NPL_MMCD
 MMC insert interrupt.
#define NPL_NMMCD
 MMC remove interrupt.
#define NPL_MMCDR
 MMC data register.
#define NPL_XER
 External enable register.
#define NPL_MMCS
 MMC select.
#define NPL_PANCS
 Panel select.
#define NPL_USRLED
 User LED.
#define NPL_VIDR
 Version identifier register.
#define ULED_ON
 ULED status definitions.
#define ULED_OFF

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.Activate negated chip select. Deactivate negated chip select.
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.


Define Documentation

#define NPL_BASE
 

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.


Function Documentation

int NplIrqDisable IRQ_HANDLER *  irq  ) 
 

Disable a specified NPL interrupt.

Parameters:
irq Interrupt to disable.
Returns:
0 on success, -1 otherwise.

int NplIrqEnable IRQ_HANDLER *  irq  ) 
 

Enable a specified NPL interrupt.

Parameters:
irq Interrupt to enable.
Returns:
0 on success, -1 otherwise.

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.

Parameters:
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.
Returns:
0 on success, -1 otherwise.

void NplUledCntl int  status  ) 
 

Low Level User LED (Green) Access.User LED control routine.Activate negated chip select. Deactivate negated chip select.

Parameters:
on ULED_ON of ULED_OFF

int NplUledStatus void   ) 
 

User LED status routine.

Returns:
The ULED Status (ULED_ON or ULED_OFF).


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/