RTEMS 6.1-rc7
Loading...
Searching...
No Matches
bsp.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
9/*
10 * Copyright (C) 2020 embedded brains GmbH & Co. KG
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#ifndef LIBBSP_ARM_IMXRT_BSP_H
35#define LIBBSP_ARM_IMXRT_BSP_H
36
47#include <bspopts.h>
48
49#include <rtems.h>
50
52
53#ifdef __cplusplus
54extern "C" {
55#endif /* __cplusplus */
56
57#define BSP_FEATURE_IRQ_EXTENSION
58
59#define BSP_FDT_IS_SUPPORTED
60extern const unsigned char imxrt_dtb[] __attribute__(( __aligned__(8) ));
61extern const size_t imxrt_dtb_size;
62
63void *imx_get_reg_of_node(const void *fdt, int node);
64
65rtems_vector_number imx_get_irq_of_node(
66 const void *fdt,
67 int node,
68 size_t index
69);
70
71bool imxrt_fdt_node_is_enabled(const void *fdt, int node);
72
73/*
74 * About 50% between `basepri` in arm_interrupt_disable and the maximum for this
75 * chip.
76 */
77#define BSP_ARMV7M_IRQ_PRIORITY_DEFAULT (13 << 4)
78#define BSP_ARMV7M_SYSTICK_PRIORITY (14 << 4)
79
80#define BSP_ARMV7M_SYSTICK_FREQUENCY imxrt_systick_frequency()
81uint32_t imxrt_systick_frequency(void);
82
83void imxrt_lpspi_init(void);
84void imxrt_lpi2c_init(void);
85void imxrt_ffec_init(void);
86void BOARD_InitDEBUG_UARTPins(void);
87
88#ifdef __cplusplus
89}
90#endif /* __cplusplus */
91
92/* @} */
93
94#endif /* LIBBSP_ARM_IMXRT_BSP_H */
This header file provides the default definition of BSP_INITIAL_EXTENSION.
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
This header file defines the RTEMS Classic API.
Definition: xnandpsu_onfi.h:185