Zephyr API Documentation
3.5.0
A Scalable Open Source RTOS
|
|
3.5.0 |
Modules | |
Named MMIO region macros | |
For drivers which need to manage multiple MMIO regions, which will be referenced by name. | |
Single MMIO region macros | |
For drivers which need to manage just one MMIO region, the most common case. | |
Top-level MMIO region macros | |
For drivers which do not use Zephyr's driver model and do not associate struct device with a driver instance. | |
Macros | |
#define | DEVICE_MMIO_IS_IN_RAM |
Functions | |
static __boot_func void | device_map (mm_reg_t *virt_addr, uintptr_t phys_addr, size_t size, uint32_t flags) |
Set linear address for device MMIO access. | |
#define DEVICE_MMIO_IS_IN_RAM |
#include <zephyr/sys/device_mmio.h>
|
inlinestatic |
#include <zephyr/sys/device_mmio.h>
Set linear address for device MMIO access.
This function sets the virt_addr
parameter to the correct linear address for the MMIO region.
If the MMU is enabled, mappings may be created in the page tables.
Normally, only a caching mode needs to be set for the 'flags' parameter. The mapped linear address will have read-write access to supervisor mode.
virt_addr | [out] Output linear address storage location, most users will want some DEVICE_MMIO_RAM_PTR() value |
phys_addr | Physical address base of the MMIO region |
size | Size of the MMIO region |
flags | Caching mode and access flags, see K_MEM_CACHE_* and K_MEM_PERM_* macros |