source: rtems/c/src/lib/libbsp/arm/lpc32xx/include/lpc-ethernet-config.h @ 22f107b6

4.104.115
Last change on this file since 22f107b6 was 22f107b6, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on 04/09/10 at 12:25:22

Changes throughout

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc_eth
5 *
6 * @brief Ethernet driver configuration.
7 */
8
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.com/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
35extern "C" {
36#endif /* __cplusplus */
37
38/**
39 * @defgroup lpc_eth Ethernet Support
40 *
41 * @ingroup lpc
42 *
43 * @brief Ethernet support.
44 *
45 * @{
46 */
47
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#define LPC_ETH_CONFIG_USE_TRANSMIT_DMA
75
76static char *lpc_eth_config_alloc_table_area(size_t size)
77{
78  return rtems_heap_allocate_aligned_with_boundary(size, 32, 0);
79}
80
81static void lpc_eth_config_free_table_area(char *table_area)
82{
83  /* FIXME: Type */
84  free(table_area, (int) 0xdeadbeef);
85}
86
87/** @} */
88
89#ifdef __cplusplus
90}
91#endif /* __cplusplus */
92
93#endif /* LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H */
Note: See TracBrowser for help on using the repository browser.