blob: e29d144a9e37cd661e57603833738e14925a29b4 [file] [log] [blame]
alexander3c798932021-03-26 21:42:19 +00001#----------------------------------------------------------------------------
Kshitij Sisodia5385a642024-01-17 13:29:43 +00002# SPDX-FileCopyrightText: Copyright 2021, 2024 Arm Limited and/or its
3# affiliates <open-source-office@arm.com>
alexander3c798932021-03-26 21:42:19 +00004# SPDX-License-Identifier: Apache-2.0
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#----------------------------------------------------------------------------
18
19#----------------------------------------------------------------------------
Kshitij Sisodia5385a642024-01-17 13:29:43 +000020# CMake description file for the Arm Ethos-U65 Timing Adapter settings (single
alexander3c798932021-03-26 21:42:19 +000021# NPU core with two AXIs).
22#----------------------------------------------------------------------------
23
Kshitij Sisodia5385a642024-01-17 13:29:43 +000024# The platform CMake infra should set the base register values for
25# TA component to work. For Ethos-U65, we need two base addresses.
26if (NOT DEFINED TA0_BASE OR NOT DEFINED TA1_BASE)
27 message(FATAL_ERROR "TA0_BASE and TA1_BASE need to be defined.")
28endif ()
alexander3c798932021-03-26 21:42:19 +000029
30message(STATUS "using TA0_BASE @ ${TA0_BASE}; TA1_BASE @ ${TA1_BASE}.")
31
32# Timing adapter settings for AXI0
Kshitij Sisodia9722fa02022-05-25 16:57:42 +010033set(TA0_MAXR "16" CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
34set(TA0_MAXW "16" CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
alexander3c798932021-03-26 21:42:19 +000035set(TA0_MAXRW "0" CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite")
36set(TA0_RLATENCY "32" CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.")
37set(TA0_WLATENCY "32" CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.")
38set(TA0_PULSE_ON "3999" CACHE STRING "No. of cycles addresses let through (0-65535).")
39set(TA0_PULSE_OFF "1" CACHE STRING "No. of cycles addresses blocked (0-65535).")
40set(TA0_BWCAP "4000" CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite")
41set(TA0_PERFCTRL "0" CACHE STRING "6-bit field selecting an event for event counter 0=default")
42set(TA0_PERFCNT "0" CACHE STRING "32-bit event counter")
43set(TA0_MODE "1" CACHE STRING "Bit 0: 1=enable dynamic clocking to avoid underrun;
44 Bit 1: 1=enable random AR reordering (0=default);
45 Bit 2: 1=enable random R reordering (0=default);
46 Bit 3: 1=enable random B reordering (0=default);
47 Bit 11-4: Frequency scale 0=full speed, 255=(1/256) speed")
48set(TA0_HISTBIN "0" CACHE STRING "Controls which histogram bin (0-15) that should be accessed by HISTCNT.")
49set(TA0_HISTCNT "0" CACHE STRING "32-bit field. Read/write the selected histogram bin.")
50
51# Timing adapter settings for AXI1
Cisco Cervelleraf085fa52021-08-02 09:32:07 +010052set(TA1_MAXR "24" CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
Kshitij Sisodia9722fa02022-05-25 16:57:42 +010053set(TA1_MAXW "12" CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
54set(TA1_MAXRW "0" CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite")
Cisco Cervelleraf085fa52021-08-02 09:32:07 +010055set(TA1_RLATENCY "500" CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.")
Kshitij Sisodia9722fa02022-05-25 16:57:42 +010056set(TA1_WLATENCY "250" CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.")
Cisco Cervelleraf085fa52021-08-02 09:32:07 +010057set(TA1_PULSE_ON "4000" CACHE STRING "No. of cycles addresses let through (0-65535).")
Kshitij Sisodia9722fa02022-05-25 16:57:42 +010058set(TA1_PULSE_OFF "1000" CACHE STRING "No. of cycles addresses blocked (0-65535).")
59set(TA1_BWCAP "1172" CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite")
60set(TA1_PERFCTRL "0" CACHE STRING "6-bit field selecting an event for event counter 0=default")
61set(TA1_PERFCNT "0" CACHE STRING "32-bit event counter")
62set(TA1_MODE "1" CACHE STRING "Bit 0: 1=enable dynamic clocking to avoid underrun;
alexander3c798932021-03-26 21:42:19 +000063 Bit 1: 1=enable random AR reordering (0=default);
64 Bit 2: 1=enable random R reordering (0=default);
65 Bit 3: 1=enable random B reordering (0=default);
66 Bit 11-4: Frequency scale 0=full speed, 255=(1/256) speed")
Kshitij Sisodia9722fa02022-05-25 16:57:42 +010067set(TA1_HISTBIN "0" CACHE STRING "Controls which histogram bin (0-15) that should be accessed by HISTCNT.")
68set(TA1_HISTCNT "0" CACHE STRING "32-bit field. Read/write the selected histogram bin.")