diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-09-15 15:46:31 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2023-10-20 11:16:54 +0200 |
commit | abb2f8bd6635457fcac4ddbd0cb284b623b5c602 (patch) | |
tree | a195c62faecafb702e708bd41bd447152f56f39e /bsps/sparc/leon3/include/bsp | |
parent | bsps/leon3: Simplify clock and CPU counter (diff) | |
download | rtems-abb2f8bd6635457fcac4ddbd0cb284b623b5c602.tar.bz2 |
bsps/leon3: Use custom CPU counter implementation
Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.
Update #4954.
Diffstat (limited to 'bsps/sparc/leon3/include/bsp')
-rw-r--r-- | bsps/sparc/leon3/include/bsp/leon3.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/bsps/sparc/leon3/include/bsp/leon3.h b/bsps/sparc/leon3/include/bsp/leon3.h index 99e16b90dd..06d73cffe3 100644 --- a/bsps/sparc/leon3/include/bsp/leon3.h +++ b/bsps/sparc/leon3/include/bsp/leon3.h @@ -9,7 +9,7 @@ */ /* - * Copyright (C) 2014, 2021 embedded brains GmbH & Co. KG + * Copyright (C) 2014, 2023 embedded brains GmbH & Co. KG * * Copyright (C) 2015 Cobham Gaisler AB * @@ -350,11 +350,33 @@ extern apbuart *leon3_debug_uart; #endif /** + * @brief Represents the LEON3-specific timecounter. + */ +typedef struct { + /** + * @brief This member contains the base timecounter. + */ + struct timecounter base; + + /** + * @brief This member provides a software fall-back counter. + */ + uint32_t software_counter; + +#if !defined(LEON3_HAS_ASR_22_23_UP_COUNTER) + /** + * @brief This member may reference a hardware counter register. + */ + volatile uint32_t *counter_register; +#endif +} leon3_timecounter; + +/** * @brief Provides the LEON3-specific timecounter. * * It is also used by the CPU counter implementation. */ -extern struct timecounter leon3_timecounter_instance; +extern leon3_timecounter leon3_timecounter_instance; /** @} */ |