blob: 178536654423e1653f4bf8351aa18e6cde307110 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <ddktl/mmio.h>
#include <mock-mmio-reg/mock-mmio-reg.h>
// These override the weak methods in mtk-sdmmc-reg.h.
template <>
template <>
uint8_t ddk::MmioBuffer::Read<uint8_t>(zx_off_t offs) const {
ddk_mock::MockMmioRegRegion* mock_regs =
reinterpret_cast<ddk_mock::MockMmioRegRegion*>(mmio_.vaddr);
ZX_ASSERT(mock_regs != nullptr);
return static_cast<uint8_t>((*mock_regs)[offs].Read());
}
template <>
template <>
uint32_t ddk::MmioBuffer::Read<uint32_t>(zx_off_t offs) const {
ddk_mock::MockMmioRegRegion* mock_regs =
reinterpret_cast<ddk_mock::MockMmioRegRegion*>(mmio_.vaddr);
ZX_ASSERT(mock_regs != nullptr);
return static_cast<uint32_t>((*mock_regs)[offs].Read());
}
template <>
template <>
void ddk::MmioBuffer::Write<uint32_t>(uint32_t val, zx_off_t offs) const {
ddk_mock::MockMmioRegRegion* mock_regs =
reinterpret_cast<ddk_mock::MockMmioRegRegion*>(mmio_.vaddr);
ZX_ASSERT(mock_regs != nullptr);
(*mock_regs)[offs].Write(val);
}