From 05244b78be9eba0c83f6267fdbb3aa34e60eec98 Mon Sep 17 00:00:00 2001 From: Yulia Garbovich Date: Tue, 23 Nov 2021 20:10:26 +0200 Subject: Move drivers to core_platform Move to core_platform repository. core_software repository should only contain components related to running an inference. Drivers are platform components. Change-Id: I232ef14ce151db7e89cef39ec3b2d6c0b4da8aef --- drivers/mhu_juno/CMakeLists.txt | 23 ----------- drivers/mhu_juno/include/mhu_juno.hpp | 66 ------------------------------ drivers/mhu_juno/src/mhu_juno.cpp | 76 ----------------------------------- 3 files changed, 165 deletions(-) delete mode 100644 drivers/mhu_juno/CMakeLists.txt delete mode 100644 drivers/mhu_juno/include/mhu_juno.hpp delete mode 100644 drivers/mhu_juno/src/mhu_juno.cpp (limited to 'drivers/mhu_juno') diff --git a/drivers/mhu_juno/CMakeLists.txt b/drivers/mhu_juno/CMakeLists.txt deleted file mode 100644 index 2116ee7..0000000 --- a/drivers/mhu_juno/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (c) 2020-2021 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. -# - -add_library(ethosu_mhu_juno STATIC) -target_include_directories(ethosu_mhu_juno PUBLIC include) - -target_sources(ethosu_mhu_juno PRIVATE src/mhu_juno.cpp) -target_link_libraries(ethosu_mhu_juno PRIVATE ethosu_mailbox) diff --git a/drivers/mhu_juno/include/mhu_juno.hpp b/drivers/mhu_juno/include/mhu_juno.hpp deleted file mode 100644 index f864cd5..0000000 --- a/drivers/mhu_juno/include/mhu_juno.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 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. - */ - -#ifndef MHU_JUNO_HPP -#define MHU_JUNO_HPP - -#include - -#include -#include - -namespace Mailbox { - -// Doorbell implementation only -class MHUJuno : public Mailbox { -public: - MHUJuno(const uint32_t baseAddress); - virtual ~MHUJuno(); - virtual bool sendMessage() final; - virtual void handleMessage() final; - virtual bool verifyHardware() final; - -private: - /* Offsets */ - static constexpr uint32_t CPU0_INTR_STAT = 0x00; - static constexpr uint32_t CPU0_INTR_SET = 0x04; - static constexpr uint32_t CPU0_INTR_CLR = 0x08; - static constexpr uint32_t CPU1_INTR_STAT = 0x10; - static constexpr uint32_t CPU1_INTR_SET = 0x14; - static constexpr uint32_t CPU1_INTR_CLR = 0x18; - static constexpr uint32_t OFFSET = 0x10; - static constexpr uint32_t PIDR0 = 0xfe0; - static constexpr uint32_t PIDR1 = 0xfe4; - static constexpr uint32_t PIDR2 = 0xfe8; - static constexpr uint32_t PIDR3 = 0xfec; - static constexpr uint32_t PIDR4 = 0xfd0; - static constexpr uint32_t CIDR0 = 0xff0; - static constexpr uint32_t CIDR1 = 0xff4; - static constexpr uint32_t CIDR2 = 0xff8; - static constexpr uint32_t CIDR3 = 0xffc; - - volatile uint32_t *baseAddr; - - void clearMessage(); - void write(uint32_t offset, uint32_t val); - uint32_t read(uint32_t offset); -}; - -} // namespace Mailbox - -#endif /* #ifndef MHU_JUNO_HPP */ diff --git a/drivers/mhu_juno/src/mhu_juno.cpp b/drivers/mhu_juno/src/mhu_juno.cpp deleted file mode 100644 index 04b1352..0000000 --- a/drivers/mhu_juno/src/mhu_juno.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2020-2021 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 - -#include -#include -#include -#include -#include - -namespace Mailbox { - -MHUJuno::MHUJuno(const uint32_t baseAddress) { - baseAddr = reinterpret_cast(baseAddress); -} - -void MHUJuno::handleMessage() { - clearMessage(); - notify(); -} - -MHUJuno::~MHUJuno() {} - -// Doorbell only -bool MHUJuno::sendMessage() { - write(CPU1_INTR_SET, 1); - return true; -} -// Doorbell only -void MHUJuno::clearMessage() { - write(CPU0_INTR_CLR, 0xF); -} - -bool MHUJuno::verifyHardware() { - uint32_t pidr0 = read(PIDR0); - uint32_t pidr1 = read(PIDR1); - uint32_t pidr2 = read(PIDR2); - uint32_t pidr3 = read(PIDR3); - uint32_t pidr4 = read(PIDR4); - uint32_t cidr0 = read(CIDR0); - uint32_t cidr1 = read(CIDR1); - uint32_t cidr2 = read(CIDR2); - uint32_t cidr3 = read(CIDR3); - - if (pidr0 != 0x56 || pidr1 != 0xb8 || pidr2 != 0x0b || pidr3 != 0x00 || pidr4 != 0x04 || cidr0 != 0x0d || - cidr1 != 0xf0 || cidr2 != 0x05 || cidr3 != 0xb1) { - return false; - } - return true; -} - -void MHUJuno::write(const uint32_t offset, const uint32_t value) { - write32(baseAddr, offset, value); -} - -uint32_t MHUJuno::read(const uint32_t offset) { - return read32(baseAddr, offset); -} - -} // namespace Mailbox -- cgit v1.2.1