RTEMS 6.1-rc7
Loading...
Searching...
No Matches
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.
Register base addresses.
This header file defines interfaces to support and use dynamic memory allocation.
This header file defines the RTEMS Classic API.