Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
#include <zephyr/toolchain.h>
#include <zephyr/linker/sections.h>
#include <stdint.h>
#include <stddef.h>
#include <zephyr/kernel/mm.h>
#include <zephyr/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 |
Declare storage for MMIO information within a device's dev_data struct. | |
#define | DEVICE_MMIO_RAM_PTR(device) (mm_reg_t *)((device)->data) |
Return a pointer to the RAM-based storage area for a device's MMIO address. | |
#define | DEVICE_MMIO_ROM struct z_device_mmio_rom _mmio |
Declare storage for MMIO data within a device's config struct. | |
#define | DEVICE_MMIO_ROM_PTR(dev) ((struct z_device_mmio_rom *)((dev)->config)) |
Return a pointer to the ROM-based storage area for a device's MMIO information. | |
#define | DEVICE_MMIO_ROM_INIT(node_id) ._mmio = Z_DEVICE_MMIO_ROM_INITIALIZER(node_id) |
Initialize a DEVICE_MMIO_ROM member. | |
#define | DEVICE_MMIO_MAP(dev, flags) |
Map MMIO memory into the address space. | |
#define | DEVICE_MMIO_GET(dev) (*DEVICE_MMIO_RAM_PTR(dev)) |
Obtain the MMIO address for a device. | |
#define | DEVICE_MMIO_NAMED_RAM(name) mm_reg_t name |
Declare storage for MMIO data within a device's dev_data struct. | |
#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. | |
#define | DEVICE_MMIO_NAMED_ROM(name) struct z_device_mmio_rom name |
Declare storage for MMIO data within a device's config struct. | |
#define | DEVICE_MMIO_NAMED_ROM_PTR(dev, name) (&(DEV_CFG(dev)->name)) |
Return a pointer to the ROM-based storage area for a device's MMIO information. | |
#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. | |
#define | DEVICE_MMIO_NAMED_ROM_INIT_BY_NAME(name, node_id) .name = Z_DEVICE_MMIO_NAMED_ROM_INITIALIZER(name, node_id) |
Initialize a named DEVICE_MMIO_NAMED_ROM member using a named DT reg property. | |
#define | DEVICE_MMIO_NAMED_MAP(dev, name, flags) |
Set up memory for a named MMIO region. | |
#define | DEVICE_MMIO_NAMED_GET(dev, name) (*DEVICE_MMIO_NAMED_RAM_PTR((dev), name)) |
Obtain a named MMIO address for a device. | |
#define | DEVICE_MMIO_TOPLEVEL(name, node_id) |
Declare top-level storage for MMIO information, global scope. | |
#define | DEVICE_MMIO_TOPLEVEL_DECLARE(name) |
Provide an extern reference to a top-level MMIO region. | |
#define | DEVICE_MMIO_TOPLEVEL_STATIC(name, node_id) |
Declare top-level storage for MMIO information, static scope. | |
#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. | |
#define | DEVICE_MMIO_TOPLEVEL_ROM_PTR(name) &Z_TOPLEVEL_ROM_NAME(name) |
Return a pointer to the ROM-based storage area for a toplevel MMIO region. | |
#define | DEVICE_MMIO_TOPLEVEL_MAP(name, flags) |
Set up memory for a driver'sMMIO region. | |
#define | DEVICE_MMIO_TOPLEVEL_GET(name) ((mm_reg_t)Z_TOPLEVEL_RAM_NAME(name)) |
Obtain the MMIO address for a device declared top-level. | |
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. | |