aboutsummaryrefslogtreecommitdiff
path: root/drivers/mhu_juno
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mhu_juno')
-rw-r--r--drivers/mhu_juno/CMakeLists.txt23
-rw-r--r--drivers/mhu_juno/include/mhu_juno.hpp66
-rw-r--r--drivers/mhu_juno/src/mhu_juno.cpp76
3 files changed, 0 insertions, 165 deletions
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 <mailbox.hpp>
-
-#include <cstddef>
-#include <cstdint>
-
-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 <mhu_juno.hpp>
-
-#include <cassert>
-#include <cstddef>
-#include <cstdint>
-#include <cstdio>
-#include <cstring>
-
-namespace Mailbox {
-
-MHUJuno::MHUJuno(const uint32_t baseAddress) {
- baseAddr = reinterpret_cast<volatile uint32_t *>(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