bsp/lpc24xx: Ethernet support for LPC17XX

This commit is contained in:
Sebastian Huber
2012-06-12 09:55:52 +02:00
parent 8462a96d4f
commit e7395c7753

View File

@@ -7,7 +7,7 @@
*/ */
/* /*
* Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved. * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved.
* *
* embedded brains GmbH * embedded brains GmbH
* Obere Lagerstr. 30 * Obere Lagerstr. 30
@@ -27,6 +27,8 @@
#include <bsp/io.h> #include <bsp/io.h>
#include <bsp/lpc24xx.h> #include <bsp/lpc24xx.h>
#include <limits.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@@ -35,13 +37,31 @@ extern "C" {
#define LPC_ETH_CONFIG_REG_BASE MAC_BASE_ADDR #define LPC_ETH_CONFIG_REG_BASE MAC_BASE_ADDR
#define LPC_ETH_CONFIG_RX_UNIT_COUNT_DEFAULT 16 #ifdef ARM_MULTILIB_ARCH_V4
#define LPC_ETH_CONFIG_RX_UNIT_COUNT_MAX 54 #define LPC_ETH_CONFIG_RX_UNIT_COUNT_DEFAULT 16
#define LPC_ETH_CONFIG_RX_UNIT_COUNT_MAX 54
#define LPC_ETH_CONFIG_TX_UNIT_COUNT_DEFAULT 10 #define LPC_ETH_CONFIG_TX_UNIT_COUNT_DEFAULT 10
#define LPC_ETH_CONFIG_TX_UNIT_COUNT_MAX 10 #define LPC_ETH_CONFIG_TX_UNIT_COUNT_MAX 10
#define LPC_ETH_CONFIG_UNIT_MULTIPLE 1U #define LPC_ETH_CONFIG_UNIT_MULTIPLE 1U
#define LPC24XX_ETH_RAM_BEGIN 0x7fe00000U
#define LPC24XX_ETH_RAM_SIZE (16U * 1024U)
#else
#define LPC_ETH_CONFIG_RX_UNIT_COUNT_DEFAULT 16
#define LPC_ETH_CONFIG_RX_UNIT_COUNT_MAX INT_MAX
#define LPC_ETH_CONFIG_TX_UNIT_COUNT_DEFAULT 32
#define LPC_ETH_CONFIG_TX_UNIT_COUNT_MAX INT_MAX
#define LPC_ETH_CONFIG_UNIT_MULTIPLE 8U
#define LPC_ETH_CONFIG_USE_TRANSMIT_DMA
#define LPC24XX_ETH_RAM_BEGIN 0x20000000U
#define LPC24XX_ETH_RAM_SIZE (32U * 1024U)
#endif
#ifdef LPC24XX_ETHERNET_RMII #ifdef LPC24XX_ETHERNET_RMII
#define LPC_ETH_CONFIG_RMII #define LPC_ETH_CONFIG_RMII
@@ -72,9 +92,6 @@ extern "C" {
} }
#endif #endif
#define LPC24XX_ETH_RAM_BEGIN 0x7fe00000U
#define LPC24XX_ETH_RAM_SIZE (16U * 1024U)
static char *lpc_eth_config_alloc_table_area(size_t size) static char *lpc_eth_config_alloc_table_area(size_t size)
{ {
if (size < LPC24XX_ETH_RAM_SIZE) { if (size < LPC24XX_ETH_RAM_SIZE) {