From 031df3914990db0336a0d386fb53558b05de467e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 23 Apr 2018 09:53:31 +0200 Subject: bsps: Move legacy network drivers to bsps This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/arm/rtl22xx/Makefile.am | 2 +- c/src/lib/libbsp/arm/rtl22xx/network/network.c | 126 ------------------------- 2 files changed, 1 insertion(+), 127 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/rtl22xx/network/network.c (limited to 'c/src/lib/libbsp/arm/rtl22xx') diff --git a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am index 94fadf0507..5227f3b291 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/Makefile.am +++ b/c/src/lib/libbsp/arm/rtl22xx/Makefile.am @@ -42,7 +42,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/rtl22xx/irq/irq.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/cache/nocache.c if HAS_NETWORKING -librtemsbsp_a_SOURCES += network/network.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/rtl22xx/net/network.c endif include $(top_srcdir)/../../../../automake/local.am diff --git a/c/src/lib/libbsp/arm/rtl22xx/network/network.c b/c/src/lib/libbsp/arm/rtl22xx/network/network.c deleted file mode 100644 index b269a6ddfc..0000000000 --- a/c/src/lib/libbsp/arm/rtl22xx/network/network.c +++ /dev/null @@ -1,126 +0,0 @@ -/*Note: this file is copy from 7312 BSP, and untested yet*/ - -#define __INSIDE_RTEMS_BSD_TCPIP_STACK__ - -#include -#include -#include -#include -#include -#include - -#define CS8900_BASE 0x20000300 -unsigned int bsp_cs8900_io_base = 0; -unsigned int bsp_cs8900_memory_base = 0; -static void cs8900_isr(void *); - -char g_enetbuf[1520]; - -static void cs8900_isr(void *arg) -{ - cs8900_interrupt(LPC22xx_INTERRUPT_EINT2, arg); -} - -/* cs8900_io_set_reg - set one of the I/O addressed registers */ -void cs8900_io_set_reg (cs8900_device *cs, unsigned short reg, unsigned short data) -{ - /* works the same for all values of dev */ -/* - printf("cs8900_io_set_reg: reg: %#6x, val %#6x\n", - CS8900_BASE + reg, - data); -*/ - *(unsigned short *)(CS8900_BASE + reg) = data; -} - -/* cs8900_io_get_reg - reads one of the I/O addressed registers */ -unsigned short cs8900_io_get_reg (cs8900_device *cs, unsigned short reg) -{ - unsigned short val; - /* works the same for all values of dev */ - val = *(unsigned short *)(CS8900_BASE + reg); -/* - printf("cs8900_io_get_reg: reg: %#6x, val %#6x\n", reg, val); -*/ - return val; -} - -/* cs8900_mem_set_reg - sets one of the registers mapped through - * PacketPage - */ -void cs8900_mem_set_reg (cs8900_device *cs, unsigned long reg, unsigned short data) -{ - /* works the same for all values of dev */ - cs8900_io_set_reg(cs, CS8900_IO_PACKET_PAGE_PTR, reg); - cs8900_io_set_reg(cs, CS8900_IO_PP_DATA_PORT0, data); -} - -/* cs8900_mem_get_reg - reads one of the registers mapped through - * PacketPage - */ -unsigned short cs8900_mem_get_reg (cs8900_device *cs, unsigned long reg) -{ - /* works the same for all values of dev */ - cs8900_io_set_reg(cs, CS8900_IO_PACKET_PAGE_PTR, reg); - return cs8900_io_get_reg(cs, CS8900_IO_PP_DATA_PORT0); -} - -void cs8900_attach_interrupt (cs8900_device *cs) -{ - rtems_status_code status = RTEMS_SUCCESSFUL; - status = rtems_interrupt_handler_install( - LPC22xx_INTERRUPT_EINT2, - "Network", - RTEMS_INTERRUPT_UNIQUE, - cs8900_isr, - cs - ); - assert(status == RTEMS_SUCCESSFUL); -} - -void cs8900_detach_interrupt (cs8900_device *cs) -{ - rtems_status_code status = RTEMS_SUCCESSFUL; - status = rtems_interrupt_handler_remove( - LPC22xx_INTERRUPT_EINT2, - cs8900_isr, - cs - ); - assert(status == RTEMS_SUCCESSFUL); -} - -unsigned short cs8900_get_data_block (cs8900_device *cs, unsigned char *data) -{ - int len; - int i; - - len = cs8900_mem_get_reg(cs, CS8900_PP_RxLength); - - for (i = 0; i < ((len + 1) / 2); i++) { - ((short *)data)[i] = cs8900_io_get_reg(cs, - CS8900_IO_RX_TX_DATA_PORT0); - } - return len; -} - -void cs8900_tx_load (cs8900_device *cs, struct mbuf *m) -{ - int len; - unsigned short *data; - int i; - - len = 0; - - do { - memcpy(&g_enetbuf[len], mtod(m, const void *), m->m_len); - len += m->m_len; - m = m->m_next; - } while (m != 0); - - data = (unsigned short *) &g_enetbuf[0]; - for (i = 0; i < ((len + 1) / 2); i++) { - cs8900_io_set_reg(cs, - CS8900_IO_RX_TX_DATA_PORT0, - data[i]); - } -} -- cgit v1.2.3