diff options
author | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2020-05-05 14:17:22 +0200 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2020-05-08 14:56:11 +0200 |
commit | 537c71cb602871b9957eeb07bca4d5740a2e7eb4 (patch) | |
tree | fd72f042482c2530c3c1e6dee053a11fa1a63aa6 /ethosu_pmu/driver.c | |
parent | 92b84384a3c6841db5fea0cf268423e6fd252e90 (diff) | |
download | ethos-u-core-driver-537c71cb602871b9957eeb07bca4d5740a2e7eb4.tar.gz |
MLBEDSW-2194 Updating PMU files
Moving PMU files from ethosu_pmu to include and src.
Adding extern "C" to PMU header.
Removing CMake generated file.
Updating default path to CMSIS.
Removing timing adapter.
Change-Id: I4834c5361c14efe629c5cb36a17013d02cc765c8
Diffstat (limited to 'ethosu_pmu/driver.c')
-rw-r--r-- | ethosu_pmu/driver.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/ethosu_pmu/driver.c b/ethosu_pmu/driver.c deleted file mode 100644 index 80cd79a..0000000 --- a/ethosu_pmu/driver.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2019-2020 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "common.h" -#include "ethosu55_interface.h" -#include "ethosu_pmu_config.h" -#include <assert.h> -#include <ethosu_driver.h> -#include <pmu_ethosu.h> -#include <stdint.h> - -PMU_Ethosu_ctrl_Type *ethosu_pmu_ctrl = (PMU_Ethosu_ctrl_Type *)ETHOSU_PMU_CTRL_BASE; -PMU_Ethosu_cntr_Type *ethosu_pmu_cntr = (PMU_Ethosu_cntr_Type *)ETHOSU_PMU_CNTR_BASE; -PMU_Ethosu_evnt_Type *ethosu_pmu_evnt = (PMU_Ethosu_evnt_Type *)ETHOSU_PMU_EVNT_BASE; - -// Local functions & macros -#define PMUREG0(NAME) INIT_##NAME - -#define ETHOSU_PMU_INIT(N) \ - *ethosu_pmu_ctrl = (PMU_Ethosu_ctrl_Type){.PMCR = PMUREG##N(PMCR), \ - .PMCNTENSET = PMUREG##N(PMCNTENSET), \ - .PMCNTENCLR = PMUREG##N(PMCNTENCLR), \ - .PMOVSSET = PMUREG##N(PMOVSSET), \ - .PMOVSCLR = PMUREG##N(PMOVSCLR), \ - .PMINTSET = PMUREG##N(PMINTSET), \ - .PMINTCLR = PMUREG##N(PMINTCLR), \ - .PMCCNTR = PMUREG##N(PMCCNTR), \ - .PMCCNTR_CFG = PMUREG##N(PMCCNTR_CFG)}; - -// Public interfaces - -#define EVTYPE(A, name) \ - case PMU_EVENT_TYPE_##name: \ - return ETHOSU_PMU_##name -enum ethosu_pmu_event_type pmu_event_type(uint32_t id) -{ - switch (id) - { - EXPAND_PMU_EVENT_TYPE(EVTYPE, SEMICOLON); - } - return ETHOSU_PMU_SENTINEL; -} - -#define EVID(A, name) (PMU_EVENT_TYPE_##name) -static const enum pmu_event_type eventbyid[] = {EXPAND_PMU_EVENT_TYPE(EVID, COMMA)}; -uint32_t pmu_event_value(enum ethosu_pmu_event_type event) -{ - if (!(event < ETHOSU_PMU_SENTINEL) || (event < 0)) - { - return (uint32_t)(-1); - } - - return eventbyid[event]; -} - -// Driver Init/exit functions -INIT ethosu_pmu_driver_init(void) -{ - ETHOSU_PMU_INIT(0) - - for (int i = 0; i < ETHOSU_PMU_NCOUNTERS; i++) - { - *ethosu_pmu_cntr[i] = 0; - *ethosu_pmu_evnt[i] = 0; - } -} - -EXIT ethosu_pmu_driver_exit(void) {} |