Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
Device memory-mapped IO management

Modules

 Named MMIO region macros
 
 Single MMIO region macros
 
 Top-level MMIO region macros
 

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)
 

Detailed Description

Macro Definition Documentation

◆ DEVICE_MMIO_IS_IN_RAM

#define DEVICE_MMIO_IS_IN_RAM

Function Documentation

◆ device_map()

static __boot_func void device_map ( mm_reg_t virt_addr,
uintptr_t  phys_addr,
size_t  size,
uint32_t  flags 
)
inlinestatic

#include <include/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.

See also
k_map()
Parameters
virt_addr[out] Output linear address storage location, most users will want some DEVICE_MMIO_RAM_PTR() value
phys_addrPhysical address base of the MMIO region
sizeSize of the MMIO region
flagsCaching mode and access flags, see K_MEM_CACHE_* and K_MEM_PERM_* macros