source: rtems/bsps/arm/imx/include/bsp.h

Last change on this file was bcef89f2, checked in by Sebastian Huber <sebastian.huber@…>, on 05/19/23 at 06:18:25

Update company name

The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.

  • Property mode set to 100644
File size: 3.1 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/**
4 * @file
5 *
6 * @ingroup RTEMSBSPsARMimx
7 */
8
9/*
10 * Copyright (c) 2017 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_IMX_BSP_H
35#define LIBBSP_ARM_IMX_BSP_H
36
37/**
38 * @defgroup RTEMSBSPsARMimx NXP i.MX
39 *
40 * @ingroup RTEMSBSPsARM
41 *
42 * @brief NXP i.MX Board Support Package.
43 *
44 * @{
45 */
46
47#include <bspopts.h>
48
49#define BSP_FEATURE_IRQ_EXTENSION
50
51#define BSP_FDT_IS_SUPPORTED
52
53#ifndef ASM
54
55#include <rtems.h>
56
57#include <bsp/default-initial-extension.h>
58
59#ifdef __cplusplus
60extern "C" {
61#endif /* __cplusplus */
62
63extern uintptr_t imx_gic_dist_base;
64
65#define BSP_ARM_GIC_DIST_BASE imx_gic_dist_base
66
67#define BSP_ARM_GIC_CPUIF_BASE (BSP_ARM_GIC_DIST_BASE + 0x1000)
68
69#define BSP_ARM_A9MPCORE_GT_BASE 0
70
71#define BSP_ARM_A9MPCORE_SCU_BASE 0
72
73void *imx_get_reg_of_node(const void *fdt, int node);
74
75rtems_vector_number imx_get_irq_of_node(
76  const void *fdt,
77  int node,
78  size_t index
79);
80
81void imx_uart_console_drain(void);
82
83/**
84 * @brief Registers an IMX I2C bus driver.
85 *
86 * @param[in] bus_path The I2C bus driver device path, e.g. "/dev/i2c-0".
87 * @param[in] alias_or_path The FDT alias or path, e.g. "i2c0".
88 *
89 * @retval 0 Successful operation.
90 * @retval -1 An error occurred.  The errno is set to indicate the error.
91 */
92int i2c_bus_register_imx(const char *bus_path, const char *alias_or_path);
93
94/**
95 * @brief Registers an IMX ECSPI bus driver.
96 *
97 * @param[in] bus_path The ECSPI bus driver device path, e.g. "/dev/spi-0".
98 * @param[in] alias_or_path The FDT alias or path, e.g. "spi0".
99 *
100 * @retval 0 Successful operation.
101 * @retval -1 An error occurred.  The errno is set to indicate the error.
102 */
103int spi_bus_register_imx(const char *bus_path, const char *alias_or_path);
104
105#ifdef __cplusplus
106}
107#endif /* __cplusplus */
108
109#endif /* ASM */
110
111/* @} */
112
113#endif /* LIBBSP_ARM_IMX_BSP_H */
Note: See TracBrowser for help on using the repository browser.