RTEMS 6.1-rc1
lpc-ethernet-config.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (c) 2009 embedded brains GmbH & Co. KG
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36#ifndef LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H
37#define LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H
38
39#include <stdlib.h>
40#include <limits.h>
41
42#include <rtems.h>
43#include <rtems/malloc.h>
44
45#include <bsp.h>
46#include <bsp/lpc32xx.h>
47
48#ifdef __cplusplus
49extern "C" {
50#endif /* __cplusplus */
51
62#define LPC_ETH_CONFIG_INTERRUPT LPC32XX_IRQ_ETHERNET
63
64#define LPC_ETH_CONFIG_REG_BASE LPC32XX_BASE_ETHERNET
65
66#define LPC_ETH_CONFIG_RX_UNIT_COUNT_DEFAULT 16
67#define LPC_ETH_CONFIG_RX_UNIT_COUNT_MAX INT_MAX
68
69#define LPC_ETH_CONFIG_TX_UNIT_COUNT_DEFAULT 128
70#define LPC_ETH_CONFIG_TX_UNIT_COUNT_MAX INT_MAX
71
72#define LPC_ETH_CONFIG_UNIT_MULTIPLE 8U
73
74#ifdef LPC32XX_ETHERNET_RMII
75 #define LPC_ETH_CONFIG_RMII
76
77 static void lpc_eth_config_module_enable(void)
78 {
79 LPC32XX_MAC_CLK_CTRL = 0x1f;
80 }
81#else
82 static void lpc_eth_config_module_enable(void)
83 {
84 LPC32XX_MAC_CLK_CTRL = 0x0f;
85 }
86#endif
87
88static void lpc_eth_config_module_disable(void)
89{
90 LPC32XX_MAC_CLK_CTRL = 0;
91}
92
93#define LPC_ETH_CONFIG_USE_TRANSMIT_DMA
94
95static char *lpc_eth_config_alloc_table_area(size_t size)
96{
98}
99
100static void lpc_eth_config_free_table_area(char *table_area)
101{
102 /* FIXME: Type */
103 free(table_area, NULL);
104}
105
108#ifdef __cplusplus
109}
110#endif /* __cplusplus */
111
112#endif /* LIBBSP_ARM_LPC32XX_LPC_ETHERNET_CONFIG_H */
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.
#define NULL
Requests a GPIO pin group configuration.
Definition: xil_types.h:54
Register base addresses.
This header file defines interfaces to support and use dynamic memory allocation.
This header file defines the RTEMS Classic API.
unsigned size
Definition: tte.h:1