alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 1 | #---------------------------------------------------------------------------- |
Kshitij Sisodia | 5385a64 | 2024-01-17 13:29:43 +0000 | [diff] [blame] | 2 | # SPDX-FileCopyrightText: Copyright 2021, 2024 Arm Limited and/or its |
| 3 | # affiliates <open-source-office@arm.com> |
alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 4 | # 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 Sisodia | 5385a64 | 2024-01-17 13:29:43 +0000 | [diff] [blame] | 20 | # CMake description file for the Arm Ethos-U65 Timing Adapter settings (single |
alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 21 | # NPU core with two AXIs). |
| 22 | #---------------------------------------------------------------------------- |
| 23 | |
Kshitij Sisodia | 5385a64 | 2024-01-17 13:29:43 +0000 | [diff] [blame] | 24 | # The platform CMake infra should set the base register values for |
| 25 | # TA component to work. For Ethos-U65, we need two base addresses. |
| 26 | if (NOT DEFINED TA0_BASE OR NOT DEFINED TA1_BASE) |
| 27 | message(FATAL_ERROR "TA0_BASE and TA1_BASE need to be defined.") |
| 28 | endif () |
alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 29 | |
| 30 | message(STATUS "using TA0_BASE @ ${TA0_BASE}; TA1_BASE @ ${TA1_BASE}.") |
| 31 | |
| 32 | # Timing adapter settings for AXI0 |
Kshitij Sisodia | 9722fa0 | 2022-05-25 16:57:42 +0100 | [diff] [blame] | 33 | set(TA0_MAXR "16" CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite") |
| 34 | set(TA0_MAXW "16" CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite") |
alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 35 | set(TA0_MAXRW "0" CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite") |
| 36 | set(TA0_RLATENCY "32" CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.") |
| 37 | set(TA0_WLATENCY "32" CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.") |
| 38 | set(TA0_PULSE_ON "3999" CACHE STRING "No. of cycles addresses let through (0-65535).") |
| 39 | set(TA0_PULSE_OFF "1" CACHE STRING "No. of cycles addresses blocked (0-65535).") |
| 40 | set(TA0_BWCAP "4000" CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite") |
| 41 | set(TA0_PERFCTRL "0" CACHE STRING "6-bit field selecting an event for event counter 0=default") |
| 42 | set(TA0_PERFCNT "0" CACHE STRING "32-bit event counter") |
| 43 | set(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") |
| 48 | set(TA0_HISTBIN "0" CACHE STRING "Controls which histogram bin (0-15) that should be accessed by HISTCNT.") |
| 49 | set(TA0_HISTCNT "0" CACHE STRING "32-bit field. Read/write the selected histogram bin.") |
| 50 | |
| 51 | # Timing adapter settings for AXI1 |
Cisco Cervellera | f085fa5 | 2021-08-02 09:32:07 +0100 | [diff] [blame] | 52 | set(TA1_MAXR "24" CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite") |
Kshitij Sisodia | 9722fa0 | 2022-05-25 16:57:42 +0100 | [diff] [blame] | 53 | set(TA1_MAXW "12" CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite") |
| 54 | set(TA1_MAXRW "0" CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite") |
Cisco Cervellera | f085fa5 | 2021-08-02 09:32:07 +0100 | [diff] [blame] | 55 | set(TA1_RLATENCY "500" CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.") |
Kshitij Sisodia | 9722fa0 | 2022-05-25 16:57:42 +0100 | [diff] [blame] | 56 | set(TA1_WLATENCY "250" CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.") |
Cisco Cervellera | f085fa5 | 2021-08-02 09:32:07 +0100 | [diff] [blame] | 57 | set(TA1_PULSE_ON "4000" CACHE STRING "No. of cycles addresses let through (0-65535).") |
Kshitij Sisodia | 9722fa0 | 2022-05-25 16:57:42 +0100 | [diff] [blame] | 58 | set(TA1_PULSE_OFF "1000" CACHE STRING "No. of cycles addresses blocked (0-65535).") |
| 59 | set(TA1_BWCAP "1172" CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite") |
| 60 | set(TA1_PERFCTRL "0" CACHE STRING "6-bit field selecting an event for event counter 0=default") |
| 61 | set(TA1_PERFCNT "0" CACHE STRING "32-bit event counter") |
| 62 | set(TA1_MODE "1" CACHE STRING "Bit 0: 1=enable dynamic clocking to avoid underrun; |
alexander | 3c79893 | 2021-03-26 21:42:19 +0000 | [diff] [blame] | 63 | 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 Sisodia | 9722fa0 | 2022-05-25 16:57:42 +0100 | [diff] [blame] | 67 | set(TA1_HISTBIN "0" CACHE STRING "Controls which histogram bin (0-15) that should be accessed by HISTCNT.") |
| 68 | set(TA1_HISTCNT "0" CACHE STRING "32-bit field. Read/write the selected histogram bin.") |