Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
device_mmio.h File Reference
#include <toolchain/common.h>
#include <linker/sections.h>
#include <stdint.h>
#include <stddef.h>
#include <sys/mem_manage.h>
#include <sys/sys_io.h>

Go to the source code of this file.

Macros

#define DEVICE_MMIO_IS_IN_RAM
 
#define DEVICE_MMIO_RAM   mm_reg_t _mmio
 
#define DEVICE_MMIO_RAM_PTR(device)   (mm_reg_t *)((device)->data)
 
#define DEVICE_MMIO_ROM   struct z_device_mmio_rom _mmio
 Declare storage for MMIO data within a device's config struct. More...
 
#define DEVICE_MMIO_ROM_PTR(dev)    ((struct z_device_mmio_rom *)((dev)->config))
 
#define DEVICE_MMIO_ROM_INIT(node_id)    ._mmio = Z_DEVICE_MMIO_ROM_INITIALIZER(node_id)
 Initialize a DEVICE_MMIO_ROM member. More...
 
#define DEVICE_MMIO_MAP(dev, flags)
 Map MMIO memory into the address space. More...
 
#define DEVICE_MMIO_GET(dev)   (*DEVICE_MMIO_RAM_PTR(dev))
 Obtain the MMIO address for a device. More...
 
#define DEVICE_MMIO_NAMED_RAM(name)   mm_reg_t name
 Declare storage for MMIO data within a device's dev_data struct. More...
 
#define DEVICE_MMIO_NAMED_RAM_PTR(dev, name)    (&(DEV_DATA(dev)->name))
 Return a pointer to the RAM storage for a device's named MMIO address. More...
 
#define DEVICE_MMIO_NAMED_ROM(name)   struct z_device_mmio_rom name
 Declare storage for MMIO data within a device's config struct. More...
 
#define DEVICE_MMIO_NAMED_ROM_PTR(dev, name)   (&(DEV_CFG(dev)->name))
 
#define DEVICE_MMIO_NAMED_ROM_INIT(name, node_id)    .name = Z_DEVICE_MMIO_ROM_INITIALIZER(node_id)
 Initialize a named DEVICE_MMIO_NAMED_ROM member. More...
 
#define DEVICE_MMIO_NAMED_MAP(dev, name, flags)
 Set up memory for a named MMIO region. More...
 
#define DEVICE_MMIO_NAMED_GET(dev, name)    (*DEVICE_MMIO_NAMED_RAM_PTR((dev), name))
 Obtain a named MMIO address for a device. More...
 
#define DEVICE_MMIO_TOPLEVEL(name, node_id)
 Declare top-level storage for MMIO information, global scope. More...
 
#define DEVICE_MMIO_TOPLEVEL_DECLARE(name)
 
#define DEVICE_MMIO_TOPLEVEL_STATIC(name, node_id)
 Declare top-level storage for MMIO information, static scope. More...
 
#define DEVICE_MMIO_TOPLEVEL_RAM_PTR(name)   &Z_TOPLEVEL_RAM_NAME(name)
 Return a pointer to the RAM storage for a device's toplevel MMIO address. More...
 
#define DEVICE_MMIO_TOPLEVEL_ROM_PTR(name)   &Z_TOPLEVEL_ROM_NAME(name)
 
#define DEVICE_MMIO_TOPLEVEL_MAP(name, flags)
 Set up memory for a driver'sMMIO region. More...
 
#define DEVICE_MMIO_TOPLEVEL_GET(name)    ((mm_reg_t)Z_TOPLEVEL_RAM_NAME(name))
 Obtain the MMIO address for a device declared top-level. More...
 

Functions

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