diff options
Diffstat (limited to '')
23 files changed, 202 insertions, 26 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 diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml index a00490a826..00b1060be6 100644 --- a/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml @@ -39,8 +39,6 @@ links: - role: build-dependency uid: optclkuart - role: build-dependency - uid: ../../optconminor -- role: build-dependency uid: ../../obj - role: build-dependency uid: ../../objirq diff --git a/spec/build/bsps/arm/raspberrypi/obj.yml b/spec/build/bsps/arm/raspberrypi/obj.yml index ec5c82a8fb..ea370829df 100644 --- a/spec/build/bsps/arm/raspberrypi/obj.yml +++ b/spec/build/bsps/arm/raspberrypi/obj.yml @@ -26,7 +26,6 @@ install: - bsps/arm/raspberrypi/include/bsp/vc.h links: [] source: -- bsps/arm/raspberrypi/clock/clockdrv.c - bsps/arm/raspberrypi/console/console-config.c - bsps/arm/raspberrypi/console/fb.c - bsps/arm/raspberrypi/console/fbcons.c @@ -47,6 +46,7 @@ source: - bsps/arm/shared/cp15/arm-cp15-set-exception-handler.c - bsps/arm/shared/cp15/arm-cp15-set-ttb-entries.c - bsps/arm/shared/start/bsp-start-memcpy.S +- bsps/shared/dev/clock/bcm2835-system-timer.c - bsps/shared/dev/cpucounter/cpucounterfrequency.c - bsps/shared/dev/cpucounter/cpucounterread.c - bsps/shared/dev/getentropy/getentropy-cpucounter.c diff --git a/spec/build/bsps/arm/xilinx-zynq/grp.yml b/spec/build/bsps/arm/xilinx-zynq/grp.yml index eeffea0e63..529fdb320f 100644 --- a/spec/build/bsps/arm/xilinx-zynq/grp.yml +++ b/spec/build/bsps/arm/xilinx-zynq/grp.yml @@ -35,8 +35,6 @@ links: - role: build-dependency uid: optconirq - role: build-dependency - uid: ../../optconminor -- role: build-dependency uid: optint0len - role: build-dependency uid: optint0ori diff --git a/spec/build/bsps/arm/xilinx-zynq/obj.yml b/spec/build/bsps/arm/xilinx-zynq/obj.yml index 505c2afcc4..bc7259c10a 100644 --- a/spec/build/bsps/arm/xilinx-zynq/obj.yml +++ b/spec/build/bsps/arm/xilinx-zynq/obj.yml @@ -26,9 +26,7 @@ source: - bsps/arm/shared/cp15/arm-cp15-set-exception-handler.c - bsps/arm/shared/cp15/arm-cp15-set-ttb-entries.c - bsps/arm/shared/start/bsp-start-memcpy.S -- bsps/arm/xilinx-zynq/console/console-config.c - bsps/arm/xilinx-zynq/console/console-init.c -- bsps/arm/xilinx-zynq/console/debug-console.c - bsps/shared/dev/i2c/cadence-i2c.c - bsps/arm/xilinx-zynq/start/bspreset.c - bsps/arm/xilinx-zynq/start/bspstart.c diff --git a/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml b/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml index b886948d47..a088c69052 100644 --- a/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml +++ b/spec/build/bsps/arm/xilinx-zynqmp-rpu/grp.yml @@ -25,7 +25,11 @@ links: - role: build-dependency uid: optconirq - role: build-dependency - uid: ../../optconminor + uid: ../../optxilclockttcbaseaddr +- role: build-dependency + uid: ../../optxilclockttcirq +- role: build-dependency + uid: ../../optxilclockttcrefclk - role: build-dependency uid: optint0len - role: build-dependency diff --git a/spec/build/bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml b/spec/build/bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml index 53c5b4d7d2..d947123247 100644 --- a/spec/build/bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml +++ b/spec/build/bsps/arm/xilinx-zynqmp/bspxilinxzynqmp.yml @@ -43,8 +43,6 @@ links: - role: build-dependency uid: optconirq - role: build-dependency - uid: ../../optconminor -- role: build-dependency uid: optint0len - role: build-dependency uid: optint0ori diff --git a/spec/build/bsps/objdevserialzynq.yml b/spec/build/bsps/objdevserialzynq.yml index deb3c83a33..a187ebfc10 100644 --- a/spec/build/bsps/objdevserialzynq.yml +++ b/spec/build/bsps/objdevserialzynq.yml @@ -12,8 +12,13 @@ install: source: - bsps/include/dev/serial/zynq-uart-regs.h - bsps/include/dev/serial/zynq-uart.h -links: [] + - bsps/include/dev/serial/zynq-uart-zynq.h + - bsps/include/dev/serial/zynq-uart-zynqmp.h +links: +- role: build-dependency + uid: optzynquartkernbase source: +- bsps/shared/dev/serial/zynq-uart-kernel-io.c - bsps/shared/dev/serial/zynq-uart-polled.c - bsps/shared/dev/serial/zynq-uart.c type: build 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/optconminor.yml b/spec/build/bsps/optxilclockttcirq.yml index 9bb84e0c9e..248e4e313b 100644 --- a/spec/build/bsps/optconminor.yml +++ b/spec/build/bsps/optxilclockttcirq.yml @@ -4,18 +4,15 @@ actions: - define: null build-type: option copyrights: -- Copyright (C) 2020 embedded brains GmbH & Co. KG +- Copyright (C) 2024 embedded brains GmbH & Co. KG default: -- enabled-by: - - bsps/aarch64/xilinx-zynqmp - - arm/xilinx_zynq_microzed - value: 0 - enabled-by: true - value: 1 + value: 68 description: | - minor number of console device + This option defines the Xilinx Triple-Timer Counter (TTC) interrupt vector + number used by the Clock Driver. enabled-by: true format: '{}' links: [] -name: BSP_CONSOLE_MINOR +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/bsps/optzynquartkernbase.yml b/spec/build/bsps/optzynquartkernbase.yml new file mode 100644 index 0000000000..8aba1c224f --- /dev/null +++ b/spec/build/bsps/optzynquartkernbase.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- define-unquoted: null +build-type: option +copyrights: +- Copyright (C) 2024 embedded brains GmbH & Co. KG +default: +- enabled-by: + - bsps/aarch64/xilinx-zynqmp + - arm/xilinx_zynq_microzed + value: ZYNQ_UART_0_BASE_ADDR +- enabled-by: true + value: ZYNQ_UART_1_BASE_ADDR +description: | + This option defines the Xilinx Zynq UART base address used by the kernel I/O + device. +enabled-by: true +format: '{}' +links: [] +name: ZYNQ_UART_KERNEL_IO_BASE_ADDR +type: build diff --git a/spec/build/bsps/powerpc/qoriq/obj.yml b/spec/build/bsps/powerpc/qoriq/obj.yml index b0ab1e6ca2..046ad4166b 100644 --- a/spec/build/bsps/powerpc/qoriq/obj.yml +++ b/spec/build/bsps/powerpc/qoriq/obj.yml @@ -60,7 +60,6 @@ source: - bsps/powerpc/qoriq/start/restart.S - bsps/powerpc/shared/cache/cache.c - bsps/powerpc/shared/exceptions/ppc-exc-handler-table.c -- bsps/powerpc/shared/mmu/e500-mmu.c - bsps/powerpc/shared/start/bsp-start-zero.S - bsps/powerpc/shared/start/bspidle.c - bsps/powerpc/shared/start/tictac.c diff --git a/spec/build/cpukit/librtemscpu.yml b/spec/build/cpukit/librtemscpu.yml index f40dae98db..196a8acd4e 100644 --- a/spec/build/cpukit/librtemscpu.yml +++ b/spec/build/cpukit/librtemscpu.yml @@ -380,6 +380,7 @@ install: - cpukit/include/rtems/score/prioritybitmapimpl.h - cpukit/include/rtems/score/priorityimpl.h - cpukit/include/rtems/score/processormask.h + - cpukit/include/rtems/score/processormaskimpl.h - cpukit/include/rtems/score/profiling.h - cpukit/include/rtems/score/protectedheap.h - cpukit/include/rtems/score/rbtree.h diff --git a/spec/build/testsuites/validation/bsps/fatal-clock-xil-ttc-irq-install.yml b/spec/build/testsuites/validation/bsps/fatal-clock-xil-ttc-irq-install.yml new file mode 100644 index 0000000000..253131551d --- /dev/null +++ b/spec/build/testsuites/validation/bsps/fatal-clock-xil-ttc-irq-install.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2024 embedded brains GmbH & Co. KG +cppflags: [] +cxxflags: [] +enabled-by: bsps/arm/xilinx-zynqmp-rpu +features: c cprogram +includes: [] +ldflags: [] +links: [] +source: +- testsuites/validation/bsps/tr-fatal-clock-xil-ttc-irq-install.c +- testsuites/validation/bsps/ts-fatal-clock-xil-ttc-irq-install.c +stlib: [] +target: testsuites/validation/bsps/ts-fatal-clock-xil-ttc-irq-install.exe +type: build +use-after: +- validation +use-before: [] 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 diff --git a/spec/build/testsuites/validation/grp.yml b/spec/build/testsuites/validation/grp.yml index 726cf732dd..f10c6a9823 100644 --- a/spec/build/testsuites/validation/grp.yml +++ b/spec/build/testsuites/validation/grp.yml @@ -79,6 +79,8 @@ links: - role: build-dependency uid: validation-tls-1 - role: build-dependency + uid: bsps/fatal-clock-xil-ttc-irq-install +- role: build-dependency uid: bsps/fatal-sparc-leon3-cache-snooping-disabled-boot - role: build-dependency uid: bsps/fatal-sparc-leon3-cache-snooping-disabled-secondary diff --git a/spec/build/testsuites/validation/objpreinitarray.yml b/spec/build/testsuites/validation/objpreinitarray.yml index d4542485b2..c38460ebfe 100644 --- a/spec/build/testsuites/validation/objpreinitarray.yml +++ b/spec/build/testsuites/validation/objpreinitarray.yml @@ -6,6 +6,7 @@ copyrights: cppflags: [] cxxflags: [] enabled-by: +- aarch64 - arm - riscv includes: [] |