From 9fc527b8b01847b16a8aa577dec4c6d9401a2ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonny=20Sv=C3=A4rd?= Date: Mon, 16 Nov 2020 16:18:07 +0100 Subject: Add basic MHU drivers Add MHUv2 doorbell driver implementation Add MHU doorbell driver for Juno board Add a dummy MHU driver Add some comments to the mailbox header file Change-Id: I0950a7ca3afeec88ca691ca2486022dfbb3319b8 --- drivers/mhu_dummy/CMakeLists.txt | 23 +++++++++++++++++++++ drivers/mhu_dummy/include/mhu_dummy.hpp | 36 +++++++++++++++++++++++++++++++++ drivers/mhu_dummy/src/mhu_dummy.cc | 33 ++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 drivers/mhu_dummy/CMakeLists.txt create mode 100644 drivers/mhu_dummy/include/mhu_dummy.hpp create mode 100644 drivers/mhu_dummy/src/mhu_dummy.cc (limited to 'drivers/mhu_dummy') diff --git a/drivers/mhu_dummy/CMakeLists.txt b/drivers/mhu_dummy/CMakeLists.txt new file mode 100644 index 0000000..83943d6 --- /dev/null +++ b/drivers/mhu_dummy/CMakeLists.txt @@ -0,0 +1,23 @@ +# +# 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. +# + +add_library(ethosu_mhu_dummy STATIC) +target_include_directories(ethosu_mhu_dummy PUBLIC include) + +target_sources(ethosu_mhu_dummy PRIVATE src/mhu_dummy.cc) +target_link_libraries(ethosu_mhu_dummy PRIVATE ethosu_mailbox) diff --git a/drivers/mhu_dummy/include/mhu_dummy.hpp b/drivers/mhu_dummy/include/mhu_dummy.hpp new file mode 100644 index 0000000..365f392 --- /dev/null +++ b/drivers/mhu_dummy/include/mhu_dummy.hpp @@ -0,0 +1,36 @@ +/* + * 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_DUMMY_HPP +#define MHU_DUMMY_HPP + +#include + +namespace Mailbox { + +class MHUDummy : public Mailbox { +public: + MHUDummy(); + virtual ~MHUDummy(); + virtual bool sendMessage() final; + virtual void handleMessage() final; +}; + +} // namespace Mailbox + +#endif /* #ifndef MHU_DUMMY_HPP */ diff --git a/drivers/mhu_dummy/src/mhu_dummy.cc b/drivers/mhu_dummy/src/mhu_dummy.cc new file mode 100644 index 0000000..196fb93 --- /dev/null +++ b/drivers/mhu_dummy/src/mhu_dummy.cc @@ -0,0 +1,33 @@ +/* + * 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. + */ + +#include + +namespace Mailbox { + +MHUDummy::MHUDummy() {} +MHUDummy::~MHUDummy() {} + +void MHUDummy::handleMessage() { + notify(); +} +bool MHUDummy::sendMessage() { + return true; +} + +} // namespace Mailbox -- cgit v1.2.1