summaryrefslogtreecommitdiffstats
path: root/bsps/arm/include/bsp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bsps/arm/include/bsp/arm-a9mpcore-clock.h16
-rw-r--r--bsps/arm/include/bsp/arm-a9mpcore-irq.h16
-rw-r--r--bsps/arm/include/bsp/arm-a9mpcore-regs.h20
-rw-r--r--bsps/arm/include/bsp/arm-a9mpcore-start.h16
-rw-r--r--bsps/arm/include/bsp/arm-cp15-start.h2
-rw-r--r--bsps/arm/include/bsp/arm-errata.h2
-rw-r--r--bsps/arm/include/bsp/arm-pl050-regs.h2
-rw-r--r--bsps/arm/include/bsp/arm-pl050.h2
-rw-r--r--bsps/arm/include/bsp/arm-pl111-fb.h2
-rw-r--r--bsps/arm/include/bsp/arm-pl111-regs.h2
-rw-r--r--bsps/arm/include/bsp/arm-release-id.h2
-rw-r--r--bsps/arm/include/bsp/imx-gpio.h28
-rw-r--r--bsps/arm/include/bsp/imx-iomux.h2
-rw-r--r--bsps/arm/include/bsp/linker-symbols.h2
-rw-r--r--bsps/arm/include/bsp/lpc-dma.h2
-rw-r--r--bsps/arm/include/bsp/lpc-emc.h2
-rw-r--r--bsps/arm/include/bsp/lpc-i2s.h2
-rw-r--r--bsps/arm/include/bsp/lpc-lcd.h2
-rw-r--r--bsps/arm/include/bsp/lpc-timer.h2
-rw-r--r--bsps/arm/include/bsp/start.h8
20 files changed, 104 insertions, 28 deletions
diff --git a/bsps/arm/include/bsp/arm-a9mpcore-clock.h b/bsps/arm/include/bsp/arm-a9mpcore-clock.h
index 80e3ca4934..811a2037bd 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-clock.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-clock.h
@@ -1,5 +1,13 @@
/* SPDX-License-Identifier: BSD-2-Clause */
+/**
+ * @file
+ *
+ * @ingroup A9MPCoreSupport
+ *
+ * @brief This header file provides the interfaces of the @ref A9MPCoreSupport.
+ */
+
/*
* Copyright (c) 2013 Chris Johns <chrisj@rtems.org>. All rights reserved.
*
@@ -34,6 +42,12 @@
extern "C" {
#endif /* __cplusplus */
+/**
+ * @addtogroup A9MPCoreSupport
+ *
+ * @{
+ */
+
/*
* Return the peripheral clock. For systems such as the zynq this
* is controlled by the PL logic generation and can vary. Provide this
@@ -41,6 +55,8 @@ extern "C" {
*/
uint32_t a9mpcore_clock_periphclk(void);
+/** @} */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/bsps/arm/include/bsp/arm-a9mpcore-irq.h b/bsps/arm/include/bsp/arm-a9mpcore-irq.h
index 7b0f497498..6cf1ae122a 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-irq.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-irq.h
@@ -1,15 +1,15 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/**
- * @file
+ * @file
*
- * @ingroup RTEMSBSPsARMShared
+ * @ingroup A9MPCoreSupport
*
- * @brief ARM_A9MPCORE_IRQ Support
+ * @brief This header file provides the interfaces of the @ref A9MPCoreSupport.
*/
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,12 +40,20 @@
extern "C" {
#endif /* __cplusplus */
+/**
+ * @addtogroup A9MPCoreSupport
+ *
+ * @{
+ */
+
#define A9MPCORE_IRQ_GT 27
#define A9MPCORE_IRQ_NFIQ 28
#define A9MPCORE_IRQ_PT 29
#define A9MPCORE_IRQ_PW 30
#define A9MPCORE_IRQ_NIRQ 31
+/** @} */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/bsps/arm/include/bsp/arm-a9mpcore-regs.h b/bsps/arm/include/bsp/arm-a9mpcore-regs.h
index 5e3d8d915e..d577b59877 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-regs.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-regs.h
@@ -1,15 +1,15 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/**
- * @file
+ * @file
*
- * @ingroup RTEMSBSPsARMShared
+ * @ingroup A9MPCoreSupport
*
- * @brief ARM_A9MPCORE_REGS Support
+ * @brief This header file provides the interfaces of the @ref A9MPCoreSupport.
*/
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -38,6 +38,16 @@
#include <bsp/utility.h>
+/**
+ * @defgroup A9MPCoreSupport Cortex-A9 MPCore Support
+ *
+ * @ingroup RTEMSBSPsARMShared
+ *
+ * @brief This group contains support interfaces for the Cortex-A9 MPCore.
+ *
+ * @{
+ */
+
typedef struct {
uint32_t ctrl;
#define A9MPCORE_SCU_CTRL_SCU_EN BSP_BIT32(0)
@@ -143,4 +153,6 @@ typedef struct {
a9mpcore_idist idist;
} a9mpcore;
+/** @} */
+
#endif /* LIBBSP_ARM_SHARED_ARM_A9MPCORE_REGS_H */
diff --git a/bsps/arm/include/bsp/arm-a9mpcore-start.h b/bsps/arm/include/bsp/arm-a9mpcore-start.h
index d1238fcb50..807f22d657 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-start.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-start.h
@@ -1,15 +1,15 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/**
- * @file
+ * @file
*
- * @ingroup RTEMSBSPsARMShared
+ * @ingroup A9MPCoreSupport
*
- * @brief A9MPCORE_START Support
+ * @brief This header file provides the interfaces of the @ref A9MPCoreSupport.
*/
/*
- * Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2014 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -51,6 +51,12 @@
extern "C" {
#endif /* __cplusplus */
+/**
+ * @addtogroup A9MPCoreSupport
+ *
+ * @{
+ */
+
BSP_START_TEXT_SECTION static inline void arm_a9mpcore_start_scu_invalidate(
volatile a9mpcore_scu *scu,
uint32_t cpu_id,
@@ -188,6 +194,8 @@ BSP_START_TEXT_SECTION static inline void arm_a9mpcore_start_hook_1(void)
arm_a9mpcore_start_global_timer();
}
+/** @} */
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/bsps/arm/include/bsp/arm-cp15-start.h b/bsps/arm/include/bsp/arm-cp15-start.h
index 318c1d5ecd..efde62f052 100644
--- a/bsps/arm/include/bsp/arm-cp15-start.h
+++ b/bsps/arm/include/bsp/arm-cp15-start.h
@@ -9,7 +9,7 @@
/*
* Copyright (c) 2013 Hesham AL-Matary.
- * Copyright (c) 2009-2019 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2009, 2019 embedded brains GmbH & Co. KG
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
diff --git a/bsps/arm/include/bsp/arm-errata.h b/bsps/arm/include/bsp/arm-errata.h
index 8321511e2b..64c8e23756 100644
--- a/bsps/arm/include/bsp/arm-errata.h
+++ b/bsps/arm/include/bsp/arm-errata.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/arm-pl050-regs.h b/bsps/arm/include/bsp/arm-pl050-regs.h
index 846a229cbf..ef0260837a 100644
--- a/bsps/arm/include/bsp/arm-pl050-regs.h
+++ b/bsps/arm/include/bsp/arm-pl050-regs.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/arm-pl050.h b/bsps/arm/include/bsp/arm-pl050.h
index db7aa6864a..194e0c873d 100644
--- a/bsps/arm/include/bsp/arm-pl050.h
+++ b/bsps/arm/include/bsp/arm-pl050.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2013, 2014 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/arm-pl111-fb.h b/bsps/arm/include/bsp/arm-pl111-fb.h
index 183eacd5fa..81715ddafe 100644
--- a/bsps/arm/include/bsp/arm-pl111-fb.h
+++ b/bsps/arm/include/bsp/arm-pl111-fb.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/arm-pl111-regs.h b/bsps/arm/include/bsp/arm-pl111-regs.h
index 56f7b875fd..6271e1d83e 100644
--- a/bsps/arm/include/bsp/arm-pl111-regs.h
+++ b/bsps/arm/include/bsp/arm-pl111-regs.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/arm-release-id.h b/bsps/arm/include/bsp/arm-release-id.h
index a24008cd29..9195380c41 100644
--- a/bsps/arm/include/bsp/arm-release-id.h
+++ b/bsps/arm/include/bsp/arm-release-id.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2014 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2014 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/imx-gpio.h b/bsps/arm/include/bsp/imx-gpio.h
index dca2d0cfad..5cda22972f 100644
--- a/bsps/arm/include/bsp/imx-gpio.h
+++ b/bsps/arm/include/bsp/imx-gpio.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2020 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -77,6 +77,32 @@ struct imx_gpio_pin {
void imx_gpio_init (struct imx_gpio_pin *pin);
/**
+ * Initialize a GPIO pin from the fields in an FDT property.
+ *
+ * If you have for example the following property in an FDT node:
+ *
+ * some-node {
+ * mixed-stuff = <0>, <&some_node 1>, <&gpio4 22 GPIO_ACTIVE_LOW>, <17>;
+ * };
+ *
+ * You can get the property using fdt_getprop(...) in your code, somehow find
+ * the right start position (the phandle &gpio4) and then pass it to this
+ * function.
+ *
+ * If you pass something != NULL to @a next_prop_pointer, you will get a pointer
+ * to the next part in the attribute. In the example above, that will be a
+ * pointer to the <17>.
+ *
+ * NOTE: The information from the third parameter in the FDT (GPIO_ACTIVE_LOW in
+ * the example) is currently ignored.
+ */
+rtems_status_code imx_gpio_init_from_fdt_property_pointer(
+ struct imx_gpio_pin *pin,
+ const uint32_t *prop_pointer,
+ enum imx_gpio_mode mode,
+ const uint32_t **next_prop_pointer);
+
+/**
* Initialize a GPIO pin from a FDT property.
*
* If you have for example the following property in an FDT node:
diff --git a/bsps/arm/include/bsp/imx-iomux.h b/bsps/arm/include/bsp/imx-iomux.h
index 60421807c0..ea36b74b0a 100644
--- a/bsps/arm/include/bsp/imx-iomux.h
+++ b/bsps/arm/include/bsp/imx-iomux.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 2020 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/linker-symbols.h b/bsps/arm/include/bsp/linker-symbols.h
index 0e8ede996f..2de59c28ae 100644
--- a/bsps/arm/include/bsp/linker-symbols.h
+++ b/bsps/arm/include/bsp/linker-symbols.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2008, 2016 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2008, 2016 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/lpc-dma.h b/bsps/arm/include/bsp/lpc-dma.h
index 714f526d6c..4c9929e1a3 100644
--- a/bsps/arm/include/bsp/lpc-dma.h
+++ b/bsps/arm/include/bsp/lpc-dma.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2010-2012 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2010, 2012 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/lpc-emc.h b/bsps/arm/include/bsp/lpc-emc.h
index 8ec98e556d..4becc5ad51 100644
--- a/bsps/arm/include/bsp/lpc-emc.h
+++ b/bsps/arm/include/bsp/lpc-emc.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2010-2011 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2010, 2011 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/lpc-i2s.h b/bsps/arm/include/bsp/lpc-i2s.h
index 5449cc3ef7..94aa42f766 100644
--- a/bsps/arm/include/bsp/lpc-i2s.h
+++ b/bsps/arm/include/bsp/lpc-i2s.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2010 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2010 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/lpc-lcd.h b/bsps/arm/include/bsp/lpc-lcd.h
index 89e604e0bd..9c8340cf78 100644
--- a/bsps/arm/include/bsp/lpc-lcd.h
+++ b/bsps/arm/include/bsp/lpc-lcd.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2011 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/lpc-timer.h b/bsps/arm/include/bsp/lpc-timer.h
index a1f8fabc97..78508bf533 100644
--- a/bsps/arm/include/bsp/lpc-timer.h
+++ b/bsps/arm/include/bsp/lpc-timer.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2009 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2009 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/bsps/arm/include/bsp/start.h b/bsps/arm/include/bsp/start.h
index e10c2e5df7..d57e6eed38 100644
--- a/bsps/arm/include/bsp/start.h
+++ b/bsps/arm/include/bsp/start.h
@@ -9,7 +9,7 @@
*/
/*
- * Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved.
+ * Copyright (C) 2008, 2013 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -73,6 +73,12 @@ void _start(void);
void bsp_start_hook_0(void);
/**
+* @brief Can be used by bsp_start_hook_0() to jump back to the start code
+* instead of using the link register.
+*/
+void bsp_start_hook_0_done(void);
+
+/**
* @brief Start entry hook 1.
*
* This hook will be called from the start entry code after copying of the