| /* |
| * Copyright (c) 2021 DENX Software Engineering GmbH |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <zephyr/linker/iterable_sections.h> |
| |
| /** |
| * @file |
| * @brief Linker command/script file |
| * |
| * This is the linker script for ip_k66f board to allow ethernet |
| * interfaces placement. |
| */ |
| |
| /* |
| * Explicit placement of the ethernet interfaces |
| * |
| * eth0 is the "master" port for the DSA switch and hence shall be |
| * placed on the index (position) 1 (as net_if_get_by_index() uses |
| * internally '_net_if_list_start[index - 1]' linker generated symbol). |
| * |
| * lan{123} shall be placed afterwards (sorted) so the order will be |
| * correctly preserved. |
| * |
| * If ip_k66f have had eth1 interface - it shall be placed afterwards |
| * |
| * The last entry with `._net_if.static.*` is to accommodate ethernet |
| * interfaces created in tests/samples - like e.g. _net_if.static.eth_test) |
| * in tests/net/vlan/src/main.c |
| */ |
| |
| #define NETWORK_RAM_SECTIONS \ |
| SECTION_DATA_PROLOGUE(net_if_area,,SUBALIGN(4)) \ |
| { \ |
| _net_if_list_start = .; \ |
| KEEP(*(._net_if.static.dts*)); \ |
| KEEP(*(SORT_BY_NAME(._net_if.static.dsa_slave*))); \ |
| KEEP(*(SORT_BY_NAME(._net_if.static.*))); \ |
| _net_if_list_end = .; \ |
| } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) \ |
| ITERABLE_SECTION_RAM(net_if_dev, 4) \ |
| ITERABLE_SECTION_RAM(net_l2, 4) \ |
| ITERABLE_SECTION_RAM(eth_bridge, 4) |
| |
| #include <zephyr/arch/arm/aarch32/cortex_m/scripts/linker.ld> |