RTEMS  5.1
lpc-ethernet-config.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2009
11  * embedded brains GmbH
12  * Obere Lagerstr. 30
13  * D-82178 Puchheim
14  * Germany
15  * <rtems@embedded-brains.de>
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H
23 #define LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H
24 
25 #include <stdlib.h>
26 #include <limits.h>
27 
28 #include <rtems.h>
29 #include <rtems/malloc.h>
30 
31 #include <bsp.h>
32 #include <bsp/lpc32xx.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif /* __cplusplus */
37 
48 #define LPC_ETH_CONFIG_INTERRUPT LPC32XX_IRQ_ETHERNET
49 
50 #define LPC_ETH_CONFIG_REG_BASE LPC32XX_BASE_ETHERNET
51 
52 #define LPC_ETH_CONFIG_RX_UNIT_COUNT_DEFAULT 16
53 #define LPC_ETH_CONFIG_RX_UNIT_COUNT_MAX INT_MAX
54 
55 #define LPC_ETH_CONFIG_TX_UNIT_COUNT_DEFAULT 32
56 #define LPC_ETH_CONFIG_TX_UNIT_COUNT_MAX INT_MAX
57 
58 #define LPC_ETH_CONFIG_UNIT_MULTIPLE 8U
59 
60 #ifdef LPC32XX_ETHERNET_RMII
61  #define LPC_ETH_CONFIG_RMII
62 
63  static void lpc_eth_config_module_enable(void)
64  {
65  LPC32XX_MAC_CLK_CTRL = 0x1f;
66  }
67 #else
68  static void lpc_eth_config_module_enable(void)
69  {
70  LPC32XX_MAC_CLK_CTRL = 0x0f;
71  }
72 #endif
73 
74 static void lpc_eth_config_module_disable(void)
75 {
76  LPC32XX_MAC_CLK_CTRL = 0;
77 }
78 
79 #define LPC_ETH_CONFIG_USE_TRANSMIT_DMA
80 
81 static char *lpc_eth_config_alloc_table_area(size_t size)
82 {
84 }
85 
86 static void lpc_eth_config_free_table_area(char *table_area)
87 {
88  /* FIXME: Type */
89  free(table_area, (int) 0xdeadbeef);
90 }
91 
94 #ifdef __cplusplus
95 }
96 #endif /* __cplusplus */
97 
98 #endif /* LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H */
Register base addresses.
void * rtems_heap_allocate_aligned_with_boundary(size_t size, uintptr_t alignment, uintptr_t boundary) RTEMS_MALLOCLIKE RTEMS_ALLOC_SIZE(1) RTEMS_ALLOC_ALIGN(2) RTEMS_WARN_UNUSED_RESULT
Allocates a memory area of size size bytes from the heap.
unsigned size
Definition: tte.h:74