summaryrefslogtreecommitdiffstats
path: root/spec/build
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2024-04-10 08:20:23 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2024-04-11 17:01:32 +0200
commit226d51ac2d9d031f5d1216085f7b998ea166e74f (patch)
treea5a9bcb2c9d56059f29b275e133d5b58103be659 /spec/build
parentbsps/xil-ttc: Add XIL_FATAL_TTC_IRQ_INSTALL (diff)
downloadrtems-226d51ac2d9d031f5d1216085f7b998ea166e74f.tar.bz2
bsps/xil-ttc: Improve clock driver
Make the clock driver parameters configurable. Use the maximum counter frequency to get the best time resolution. Decouple the CPU counter from the timecounter. Make the tick catch up handling more robust. Add a validation test for the tick catch up.
Diffstat (limited to 'spec/build')
-rw-r--r--spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml6
-rw-r--r--spec/build/bsps/optxilclockttcbaseaddr.yml18
-rw-r--r--spec/build/bsps/optxilclockttcirq.yml18
-rw-r--r--spec/build/bsps/optxilclockttcrefclk.yml18
-rw-r--r--spec/build/testsuites/validation/bsps/objclockxilttc.yml14
-rw-r--r--spec/build/testsuites/validation/bsps/validation-bsp-0.yml6
6 files changed, 79 insertions, 1 deletions
diff --git a/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml b/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml
index df576368d5..a088c69052 100644
--- a/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml
+++ b/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml
@@ -25,6 +25,12 @@ links:
- role: build-dependency
uid: optconirq
- role: build-dependency
+ uid: ../../optxilclockttcbaseaddr
+- role: build-dependency
+ uid: ../../optxilclockttcirq
+- role: build-dependency
+ uid: ../../optxilclockttcrefclk
+- role: build-dependency
uid: optint0len
- role: build-dependency
uid: optint0ori
diff --git a/spec/build/bsps/optxilclockttcbaseaddr.yml b/spec/build/bsps/optxilclockttcbaseaddr.yml
new file mode 100644
index 0000000000..c6f4769428
--- /dev/null
+++ b/spec/build/bsps/optxilclockttcbaseaddr.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+copyrights:
+- Copyright (C) 2024 embedded brains GmbH & Co. KG
+default:
+- enabled-by: true
+ value: 0xff110000
+description: |
+ This option defines the Xilinx Triple-Timer Counter (TTC) base address used by
+ the Clock Driver.
+enabled-by: true
+format: '{:#010x}'
+links: []
+name: XIL_CLOCK_TTC_BASE_ADDR
+type: build
diff --git a/spec/build/bsps/optxilclockttcirq.yml b/spec/build/bsps/optxilclockttcirq.yml
new file mode 100644
index 0000000000..248e4e313b
--- /dev/null
+++ b/spec/build/bsps/optxilclockttcirq.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-integer: null
+- define: null
+build-type: option
+copyrights:
+- Copyright (C) 2024 embedded brains GmbH & Co. KG
+default:
+- enabled-by: true
+ value: 68
+description: |
+ This option defines the Xilinx Triple-Timer Counter (TTC) interrupt vector
+ number used by the Clock Driver.
+enabled-by: true
+format: '{}'
+links: []
+name: XIL_CLOCK_TTC_IRQ
+type: build
diff --git a/spec/build/bsps/optxilclockttcrefclk.yml b/spec/build/bsps/optxilclockttcrefclk.yml
new file mode 100644
index 0000000000..0a9723828b
--- /dev/null
+++ b/spec/build/bsps/optxilclockttcrefclk.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-integer: null
+- define: null
+build-type: option
+copyrights:
+- Copyright (C) 2024 embedded brains GmbH & Co. KG
+default:
+- enabled-by: true
+ value: 100000000
+description: |
+ This option defines the Xilinx Triple-Timer Counter (TTC) reference clock in
+ Hz used by the Clock Driver.
+enabled-by: true
+format: '{}'
+links: []
+name: XIL_CLOCK_TTC_REFERENCE_CLOCK
+type: build
diff --git a/spec/build/testsuites/validation/bsps/objclockxilttc.yml b/spec/build/testsuites/validation/bsps/objclockxilttc.yml
new file mode 100644
index 0000000000..b080bcdbfb
--- /dev/null
+++ b/spec/build/testsuites/validation/bsps/objclockxilttc.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+build-type: objects
+cflags: []
+copyrights:
+- Copyright (C) 2024 embedded brains GmbH & Co. KG
+cppflags: []
+cxxflags: []
+enabled-by: bsps/arm/xilinx-zynqmp-rpu
+includes: []
+install: []
+links: []
+source:
+- testsuites/validation/tc-dev-clock-xil-ttc.c
+type: build
diff --git a/spec/build/testsuites/validation/bsps/validation-bsp-0.yml b/spec/build/testsuites/validation/bsps/validation-bsp-0.yml
index af811b8502..790e05e0bc 100644
--- a/spec/build/testsuites/validation/bsps/validation-bsp-0.yml
+++ b/spec/build/testsuites/validation/bsps/validation-bsp-0.yml
@@ -5,13 +5,17 @@ copyrights:
- Copyright (C) 2023 embedded brains GmbH & Co. KG
cppflags: []
cxxflags: []
-enabled-by: bsps/sparc/leon3
+enabled-by:
+- bsps/arm/xilinx-zynqmp-rpu
+- bsps/sparc/leon3
features: c cprogram
includes: []
ldflags:
- -Wl,--wrap=_IO_Relax
links:
- role: build-dependency
+ uid: objclockxilttc
+- role: build-dependency
uid: objgrlib
- role: build-dependency
uid: objsparcgr712rc