diff options
author | Ning Yang <yangn0@qq.com> | 2024-04-16 18:19:49 +0800 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2024-04-24 16:41:08 -0500 |
commit | d6afec1859b2a589da52a0d26111affa0b6a1662 (patch) | |
tree | 05aced5a1f09b2db35b4790a29cd2920ee11e36e /spec/build/bsps | |
parent | validation: Fix typo (diff) | |
download | rtems-d6afec1859b2a589da52a0d26111affa0b6a1662.tar.bz2 |
The clock from the ARM timer is derived from the system clock. This clock can
change dynamically e.g. if the system goes into reduced power or in low power
mode. Thus the clock speed adapts to the overall system performance
capabilities. For accurate timing it is recommended to use the system timers.
if BSP_CLOCK_USE_SYSTEMTIMER = 1, use the System Timer, otherwise use the ARM
Timer.
Diffstat (limited to 'spec/build/bsps')
-rw-r--r-- | spec/build/bsps/aarch64/grp.yml | 3 | ||||
-rw-r--r-- | spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml | 6 | ||||
-rw-r--r-- | spec/build/bsps/aarch64/raspberrypi/objclock.yml | 31 | ||||
-rw-r--r-- | spec/build/bsps/aarch64/raspberrypi/objsystemtimer.yml | 23 | ||||
-rw-r--r-- | spec/build/bsps/aarch64/raspberrypi/optsystemtimer.yml | 25 |
5 files changed, 83 insertions, 5 deletions
diff --git a/spec/build/bsps/aarch64/grp.yml b/spec/build/bsps/aarch64/grp.yml index 9428fb9435..8f40a9952e 100644 --- a/spec/build/bsps/aarch64/grp.yml +++ b/spec/build/bsps/aarch64/grp.yml @@ -12,9 +12,6 @@ install: source: - bsps/aarch64/include/bsp/linker-symbols.h - bsps/aarch64/include/bsp/start.h -- destination: ${BSP_INCLUDEDIR}/dev/clock - source: - - bsps/include/dev/clock/arm-generic-timer.h - destination: ${BSP_INCLUDEDIR}/dev/irq source: - bsps/aarch64/include/dev/irq/arm-gic-arch.h diff --git a/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml b/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml index a579c094ba..7b6511a8cc 100644 --- a/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml +++ b/spec/build/bsps/aarch64/raspberrypi/bspraspberrypi4.yml @@ -20,6 +20,10 @@ install: - bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h links: - role: build-dependency + uid: objclock +- role: build-dependency + uid: objsystemtimer +- role: build-dependency uid: ../grp - role: build-dependency uid: ../start @@ -50,10 +54,8 @@ source: - bsps/aarch64/raspberrypi/start/bspstart.c - bsps/aarch64/raspberrypi/start/bspstarthooks.c - bsps/aarch64/raspberrypi/start/bspstartmmu.c -- bsps/aarch64/shared/clock/arm-generic-timer-aarch64.c - bsps/aarch64/shared/cache/cache.c - bsps/aarch64/shared/mmu/vmsav8-64.c -- bsps/shared/dev/clock/arm-generic-timer.c - bsps/shared/dev/irq/arm-gicv2.c - bsps/shared/dev/irq/arm-gicv2-get-attributes.c - bsps/shared/dev/serial/console-termios-init.c diff --git a/spec/build/bsps/aarch64/raspberrypi/objclock.yml b/spec/build/bsps/aarch64/raspberrypi/objclock.yml new file mode 100644 index 0000000000..24f61c93c4 --- /dev/null +++ b/spec/build/bsps/aarch64/raspberrypi/objclock.yml @@ -0,0 +1,31 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: + - Copyright (C) 2022 Mohd Noor Aman + - Copyright (C) 2023 Utkarsh Verma + - Copyright (C) 2024 Ning Yang + +type: build +enabled-by: + not: BSP_CLOCK_USE_SYSTEMTIMER + +build-type: objects +cflags: [] +cppflags: [] +cxxflags: [] +includes: [] +install: +- destination: ${BSP_INCLUDEDIR}/dev/clock + source: + - bsps/include/dev/clock/arm-generic-timer.h + +source: + - bsps/aarch64/shared/clock/arm-generic-timer-aarch64.c + - bsps/shared/dev/clock/arm-generic-timer.c + +links: + - role: build-dependency + uid: ../optgtusevirt + - role: build-dependency + uid: ../optgtuseps + - role: build-dependency + uid: optsystemtimer
\ No newline at end of file diff --git a/spec/build/bsps/aarch64/raspberrypi/objsystemtimer.yml b/spec/build/bsps/aarch64/raspberrypi/objsystemtimer.yml new file mode 100644 index 0000000000..1ead15fdd5 --- /dev/null +++ b/spec/build/bsps/aarch64/raspberrypi/objsystemtimer.yml @@ -0,0 +1,23 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: + - Copyright (C) 2024 Ning Yang + +type: build +enabled-by: +- BSP_CLOCK_USE_SYSTEMTIMER + +build-type: objects +cflags: [] +cppflags: [] +cxxflags: [] +includes: [] +install: [] + +source: + - bsps/shared/dev/clock/bcm2835-system-timer.c + - bsps/shared/dev/cpucounter/cpucounterfrequency.c + - bsps/shared/dev/cpucounter/cpucounterread.c + +links: + - role: build-dependency + uid: optsystemtimer
\ No newline at end of file diff --git a/spec/build/bsps/aarch64/raspberrypi/optsystemtimer.yml b/spec/build/bsps/aarch64/raspberrypi/optsystemtimer.yml new file mode 100644 index 0000000000..c20371ab8b --- /dev/null +++ b/spec/build/bsps/aarch64/raspberrypi/optsystemtimer.yml @@ -0,0 +1,25 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: + - Copyright (C) 2024 Ning Yang + +type: build +build-type: option + +enabled-by: true +name: BSP_CLOCK_USE_SYSTEMTIMER +description: | + The clock from the ARM timer is derived from the system clock. This clock can + change dynamically e.g. if the system goes into reduced power or in low power + mode. Thus the clock speed adapts to the overall system performance + capabilities. For accurate timing it is recommended to use the system timers. + +actions: + - get-boolean: null + - define-condition: null + - env-enable: null +default: + - enabled-by: + - aarch64/raspberrypi4b + value: false + +links: []
\ No newline at end of file |