From 99648958668d3a33ee57974479b36201fe303f34 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 20 Apr 2018 10:35:35 +0200 Subject: bsps: Move startup files to bsps Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/arm/imx/startup/bspstart.c | 92 ----------------------------- 1 file changed, 92 deletions(-) delete mode 100644 c/src/lib/libbsp/arm/imx/startup/bspstart.c (limited to 'c/src/lib/libbsp/arm/imx/startup/bspstart.c') diff --git a/c/src/lib/libbsp/arm/imx/startup/bspstart.c b/c/src/lib/libbsp/arm/imx/startup/bspstart.c deleted file mode 100644 index 046336655b..0000000000 --- a/c/src/lib/libbsp/arm/imx/startup/bspstart.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2017 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include -#include -#include -#include -#include -#include - -#include - -#define MAGIC_IRQ_OFFSET 32 - -void *imx_get_reg_of_node(const void *fdt, int node) -{ - int len; - const uint32_t *val; - - val = fdt_getprop(fdt, node, "reg", &len); - if (val == NULL || len < 4) { - return NULL; - } - - return (void *) fdt32_to_cpu(val[0]); -} - -rtems_vector_number imx_get_irq_of_node( - const void *fdt, - int node, - size_t index -) -{ - int len; - const uint32_t *val; - - val = fdt_getprop(fdt, node, "interrupts", &len); - if (val == NULL || len < (int) ((index + 1) * 12)) { - return UINT32_MAX; - } - - return fdt32_to_cpu(val[index * 3 + 1]) + MAGIC_IRQ_OFFSET; -} - -uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells) -{ - return intr[1] + MAGIC_IRQ_OFFSET; -} - -void arm_generic_timer_get_config( - uint32_t *frequency, - uint32_t *irq -) -{ - const void *fdt; - int node; - int len; - const uint32_t *val; - - fdt = bsp_fdt_get(); - node = fdt_path_offset(fdt, "/timer"); - - val = fdt_getprop(fdt, node, "clock-frequency", &len); - if (val != NULL && len >= 4) { - *frequency = fdt32_to_cpu(val[0]); - } else { - bsp_fatal(IMX_FATAL_GENERIC_TIMER_FREQUENCY); - } - - /* FIXME: Figure out how Linux gets a proper IRQ number */ - *irq = imx_get_irq_of_node(fdt, node, 0) - 16; -} - -void bsp_start(void) -{ - bsp_interrupt_initialize(); - rtems_cache_coherent_add_area( - bsp_section_nocacheheap_begin, - (uintptr_t) bsp_section_nocacheheap_size - ); -} -- cgit v1.2.3